@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);*,:after,:before{transition:background-color .2s ease,border-color .2s ease,color .15s ease,box-shadow .2s ease}.no-transitions *,.no-transitions :after,.no-transitions :before{transition:none!important}[data-theme=dark] body{background:#09090b;color:#fafafa}[data-theme=dark] .App{background:#09090b}[data-theme=dark] .loading-spinner-large{border-color:#f97316 #f9731633 #f9731633}[data-theme=dark] .dashboard-container,[data-theme=dark] .main-content{background:#09090b}[data-theme=dark] .sidebar{background:linear-gradient(180deg,#0c0c0e,#09090b);border-right:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .sidebar-header{border-bottom:1px solid #ffffff0f}[data-theme=dark] .logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fafafa,#f97316);-webkit-background-clip:text;background-clip:text}[data-theme=dark] .sidebar-toggle{background:#ffffff0a;border:1px solid #ffffff0f;color:#a1a1aa}[data-theme=dark] .sidebar-toggle:hover{background:#ffffff14;color:#fafafa}[data-theme=dark] .nav-section-title{color:#52525b}[data-theme=dark] .nav-item{color:#a1a1aa}[data-theme=dark] .nav-item:hover:not(.disabled){background:#ffffff0a;color:#e4e4e7}[data-theme=dark] .nav-item.active{background:#f9731626;box-shadow:0 0 20px #f9731633;color:#f97316}[data-theme=dark] .sidebar-footer{border-top:1px solid #ffffff0f}[data-theme=dark] .user-profile{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .user-name{color:#fafafa}[data-theme=dark] .user-role{color:#71717a}[data-theme=dark] .user-avatar{background:linear-gradient(135deg,#f97316,#f59e0b)}[data-theme=dark] .logout-button{background:#ef444414;border:1px solid #ef444426;color:#f87171}[data-theme=dark] .logout-button:hover{background:#ef444426;color:#ef4444}[data-theme=dark] .theme-toggle-btn{background:#ffffff0a;border:1px solid #ffffff0f;color:#a1a1aa}[data-theme=dark] .theme-toggle-btn:hover{background:#ffffff14;color:#fafafa}[data-theme=dark] .coming-soon-badge{background:#fbbf2426;color:#fbbf24}[data-theme=dark] .coming-soon-page{background:#09090b;color:#71717a}[data-theme=dark] .login-container{background:#09090b}[data-theme=dark] .login-background{background:linear-gradient(135deg,#09090b,#18181b 50%,#27272a)}[data-theme=dark] .login-left-panel{background:linear-gradient(135deg,#f9731614,#f9731605)}[data-theme=dark] .grid-overlay{background-image:linear-gradient(#f9731608 1px,#0000 0),linear-gradient(90deg,#f9731608 1px,#0000 0)}[data-theme=dark] .brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#f97316);-webkit-background-clip:text;background-clip:text}[data-theme=dark] .brand-tagline,[data-theme=dark] .sage-intro{color:#a1a1aa}[data-theme=dark] .feature-item{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .feature-item:hover{background:#ffffff0a;border-color:#f9731633}[data-theme=dark] .feature-icon-wrapper{background:linear-gradient(135deg,#f97316,#f59e0b);box-shadow:0 4px 12px #f973164d}[data-theme=dark] .feature-title{color:#fafafa}[data-theme=dark] .feature-description{color:#a1a1aa}[data-theme=dark] .left-panel-footer{border-top:1px solid #ffffff0f}[data-theme=dark] .left-panel-footer p{color:#71717a}[data-theme=dark] .left-panel-footer strong{color:#f97316}[data-theme=dark] .login-right-panel{background:linear-gradient(180deg,#18181b,#0c0c0e);box-shadow:-20px 0 60px #00000080}[data-theme=dark] .login-card{background:#0000}[data-theme=dark] .login-header h1{color:#fafafa}[data-theme=dark] .subtitle{color:#71717a}[data-theme=dark] .form-group input{background:#ffffff0a;border:1px solid #ffffff1a;color:#fafafa}[data-theme=dark] .form-group input:focus{background:#ffffff0f;border-color:#f97316;box-shadow:0 0 0 3px #f9731626}[data-theme=dark] .form-group input::placeholder{color:#52525b}[data-theme=dark] .login-button{background:linear-gradient(135deg,#f97316,#f59e0b);box-shadow:0 4px 14px #f973164d}[data-theme=dark] .login-button:hover:not(:disabled){box-shadow:0 6px 20px #f9731666}[data-theme=dark] .error-message{background:#ef44441a;border:1px solid #ef444433;color:#f87171}[data-theme=dark] .login-footer{border-top:1px solid #ffffff0f}[data-theme=dark] .login-footer p{color:#52525b}[data-theme=dark] .new-password-notice{background:#eab3081a;border:1px solid #eab30833}[data-theme=dark] .new-password-notice p{color:#fbbf24}[data-theme=dark] .password-requirements{background:#ffffff0a}[data-theme=dark] .password-requirements p{color:#a1a1aa}[data-theme=dark] .password-requirements li{color:#71717a}[data-theme=dark] .cognito-warning{background:#ef44441a;border:1px solid #ef444433}[data-theme=dark] .cognito-warning p{color:#f87171}[data-theme=dark] .projects-list-page{background:#09090b}[data-theme=dark] .top-bar{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .page-title h1{color:#fafafa}[data-theme=dark] .page-title p{color:#71717a}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#f97316,#f59e0b);box-shadow:0 0 20px #f973164d;color:#fff}[data-theme=dark] .btn-primary:hover:not(:disabled){box-shadow:0 0 30px #f9731666}[data-theme=dark] .btn-secondary{background:#ffffff0a;border:1px solid #ffffff14;color:#a1a1aa}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#ffffff14;color:#fafafa}[data-theme=dark] .btn-secondary:disabled{background:#ffffff0a!important;border:1px solid #ffffff0f!important;color:#52525b!important;cursor:not-allowed;opacity:.6!important}[data-theme=dark] .error-banner{border:1px solid #ef444433}[data-theme=dark] .error-banner .retry-btn{background:#ef4444}[data-theme=dark] .error-banner .retry-btn:hover{background:#dc2626}[data-theme=dark] .error-banner .dismiss-btn{color:#f87171}[data-theme=dark] .stat-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .stat-label{color:#71717a}[data-theme=dark] .stat-value{color:#fafafa}[data-theme=dark] .stat-value.blue{color:#60a5fa}[data-theme=dark] .stat-value.green{color:#4ade80}[data-theme=dark] .stat-value.purple{color:#c084fc}[data-theme=dark] .stat-sub{color:#52525b}[data-theme=dark] .section-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .section-card>.section-header{background:#0003;border-bottom:1px solid #ffffff0a}[data-theme=dark] .section-card>.section-header>.section-title{color:#fafafa}[data-theme=dark] .filter-select{background:#ffffff0a;border:1px solid #ffffff14;color:#a1a1aa}[data-theme=dark] .filter-select:focus{border-color:#f97316}[data-theme=dark] .filter-select option{background:#18181b;color:#fafafa}[data-theme=dark] .search-input{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .search-input::placeholder{color:#52525b}[data-theme=dark] .search-input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}[data-theme=dark] .empty-state{color:#71717a}[data-theme=dark] .projects-table th{background:#0003;border-bottom:1px solid #ffffff0f;color:#71717a}[data-theme=dark] .projects-table td{border-bottom:1px solid #ffffff0a;color:#e4e4e7}[data-theme=dark] .projects-table tbody tr:hover{background:#ffffff05}[data-theme=dark] .project-name{color:#fafafa}[data-theme=dark] .project-desc{color:#71717a}[data-theme=dark] .target-cloud-badge.aws{background:#ff990026;color:#fb923c}[data-theme=dark] .target-cloud-badge.azure{background:#3b82f626;color:#60a5fa}[data-theme=dark] .target-cloud-badge.gcp{background:#4285f426;color:#93c5fd}[data-theme=dark] .target-cloud-badge.on-premises{background:#71717a26;color:#a1a1aa}[data-theme=dark] .target-cloud-badge.hybrid{background:#10b98126;color:#34d399}[data-theme=dark] .target-cloud-badge.multi-cloud{background:#8b5cf626;color:#a78bfa}[data-theme=dark] .target-cloud-badge.salesforce{background:#00a1e026;color:#38bdf8}[data-theme=dark] .status-badge.IN_PROGRESS,[data-theme=dark] .status-badge.in-progress,[data-theme=dark] .status-badge.in_progress{background:#3b82f626;color:#60a5fa}[data-theme=dark] .status-badge.IN_PROGRESS .dot,[data-theme=dark] .status-badge.in-progress .dot,[data-theme=dark] .status-badge.in_progress .dot{background:#3b82f6;box-shadow:0 0 8px #3b82f680}[data-theme=dark] .status-badge.COMPLETED,[data-theme=dark] .status-badge.completed{background:#22c55e26;color:#4ade80}[data-theme=dark] .status-badge.COMPLETED .dot,[data-theme=dark] .status-badge.completed .dot{background:#22c55e;box-shadow:0 0 8px #22c55e80}[data-theme=dark] .status-badge.DRAFT,[data-theme=dark] .status-badge.draft{background:#71717a26;color:#a1a1aa}[data-theme=dark] .status-badge.DRAFT .dot,[data-theme=dark] .status-badge.draft .dot{background:#71717a}[data-theme=dark] .step-dot.complete{background:#22c55e26;color:#4ade80}[data-theme=dark] .step-dot.current{background:#f9731626;box-shadow:0 0 10px #f973164d;color:#f97316}[data-theme=dark] .step-dot.pending{background:#ffffff0a;color:#52525b}[data-theme=dark] .step-dot.skipped{background:#ffffff05;color:#52525b}[data-theme=dark] .action-btn{transition:all .15s}[data-theme=dark] .action-btn.primary{background:#f9731626;border:1px solid #f9731633;color:#f97316}[data-theme=dark] .action-btn.primary:hover{background:#f9731640}[data-theme=dark] .action-btn.secondary{background:#ffffff0a;border:1px solid #ffffff14;color:#71717a}[data-theme=dark] .action-btn.secondary:hover{background:#ef44441a;border-color:#ef444433;color:#f87171}[data-theme=dark] .loading-spinner{border-color:#f97316 #ffffff1a #ffffff1a}[data-theme=dark] .chart-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .chart-title{color:#fafafa}[data-theme=dark] .pipeline-label{color:#a1a1aa}[data-theme=dark] .pipeline-bar-container{background:#ffffff0a}[data-theme=dark] .empty-chart{color:#71717a}[data-theme=dark] .empty-chart .empty-hint{color:#52525b}[data-theme=dark] .project-form-full{background:#0000}[data-theme=dark] .autofill-banner{background:#0000!important;border:0!important;box-shadow:none!important;outline:none!important}[data-theme=dark] .autofill-info{background:#0000!important;border:none!important}[data-theme=dark] .autofill-info strong{color:#fff!important;display:block!important;visibility:visible!important}[data-theme=dark] .autofill-info span{color:#a1a1aa!important}[data-theme=dark] .autofill-info>div{background:#0000!important}[data-theme=dark] .autofill-banner .btn-secondary{background:#f97316!important;border:none!important;color:#fff!important}[data-theme=dark] .autofill-banner .btn-secondary:hover{background:#ea580c!important}[data-theme=dark] .tab-nav{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .tab-nav-item{color:#a1a1aa}[data-theme=dark] .tab-nav-item:hover{background:#ffffff0a;color:#e4e4e7}[data-theme=dark] .tab-nav-item.active{background:#f9731626;color:#f97316}[data-theme=dark] .tab-completion{background:#ffffff0f;color:#71717a}[data-theme=dark] .tab-nav-item.active .tab-completion{background:#ffffff1a;color:#fafafa}[data-theme=dark] .tab-completion.complete{background:#22c55e33;color:#4ade80}[data-theme=dark] .tab-nav-item.active .tab-completion.complete{background:#22c55e4d;color:#4ade80}[data-theme=dark] .tab-content{background:linear-gradient(145deg,#27272a80,#18181bcc)!important;border:1px solid #ffffff0f;box-shadow:none!important}[data-theme=dark] .tab-header{background:#0003!important;border-bottom:1px solid #ffffff0f}[data-theme=dark] .tab-icon-large{background:#ffffff0a!important;box-shadow:none}[data-theme=dark] .questions-container,[data-theme=dark] .questions-tab{background:#0000!important}[data-theme=dark] .tab-header h3{color:#fafafa}[data-theme=dark] .tab-progress{color:#71717a}[data-theme=dark] .question-item{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px}[data-theme=dark] .question-item:hover{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .question-number{background:#f9731626;color:#f97316}[data-theme=dark] .question-content .question-label,[data-theme=dark] .question-label{color:#fafafa}[data-theme=dark] .question-help{color:#71717a}[data-theme=dark] .question-content input,[data-theme=dark] .question-content select,[data-theme=dark] .question-content textarea{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .question-content input:focus,[data-theme=dark] .question-content select:focus,[data-theme=dark] .question-content textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731626}[data-theme=dark] .question-content input::placeholder,[data-theme=dark] .question-content textarea::placeholder{color:#52525b}[data-theme=dark] .question-content select option{background:#18181b;color:#fafafa}[data-theme=dark] .option-chip{background:#ffffff05;border:1px solid #ffffff0f;color:#a1a1aa}[data-theme=dark] .option-chip:hover{background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .option-chip.selected{background:#f9731626;border-color:#f973164d;color:#f97316}[data-theme=dark] .tab-navigation{background:#0000!important;border-top:1px solid #ffffff0f}[data-theme=dark] .assessment-module .tab-navigation,[data-theme=dark] .project-form .tab-navigation{background:#0003!important;border-top:1px solid #ffffff0f}[data-theme=dark] .btn-nav.primary,[data-theme=dark] .nav-button.primary{background:linear-gradient(135deg,#f97316,#f59e0b);box-shadow:0 0 20px #f973164d;color:#fff}[data-theme=dark] .btn-nav.secondary,[data-theme=dark] .nav-button.secondary{background:#ffffff0a;border:1px solid #ffffff14;color:#a1a1aa}[data-theme=dark] .btn-nav.secondary:hover:not(:disabled),[data-theme=dark] .nav-button.secondary:hover:not(:disabled){background:#ffffff14;color:#fafafa}[data-theme=dark] .btn-nav.secondary:disabled,[data-theme=dark] .nav-button.secondary:disabled{background:#ffffff0f!important;border:1px solid #ffffff1a!important;color:#71717a!important;cursor:not-allowed;display:flex!important;opacity:1!important;visibility:visible!important}[data-theme=dark] .review-section{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .review-section h4{color:#fafafa}[data-theme=dark] .review-item{border-bottom:1px solid #ffffff0a}[data-theme=dark] .review-item strong{color:#a1a1aa}[data-theme=dark] .review-item span{color:#fafafa}[data-theme=dark] .assessment-module{background:#09090b}[data-theme=dark] .assessment-module .module-content{background:#0000!important}[data-theme=dark] .assessment-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .assessment-header h1{color:#fafafa}[data-theme=dark] .assessment-header p{color:#71717a}[data-theme=dark] .progress-bar{background:#ffffff0f}[data-theme=dark] .progress-fill{background:linear-gradient(90deg,#f97316,#f59e0b);box-shadow:0 0 15px #f9731666}[data-theme=dark] .progress-text{color:#a1a1aa}[data-theme=dark] .tabs-container{background:linear-gradient(145deg,#27272a80,#18181bcc)!important;border:1px solid #ffffff0f!important;box-shadow:none!important}[data-theme=dark] .tabs-header{background:#0003!important;border-bottom:1px solid #ffffff0a!important}[data-theme=dark] .tab-button{background:#0000!important;border-bottom:2px solid #0000;border-right-color:#ffffff0f!important;color:#71717a}[data-theme=dark] .tab-button:hover,[data-theme=dark] .tab-button:hover:not(.active){background:#ffffff05!important;color:#a1a1aa}[data-theme=dark] .tab-button.active{background:#f973160d!important;border-bottom-color:#f97316;color:#f97316}[data-theme=dark] .tab-button.completed{color:#4ade80}[data-theme=dark] .iac-header h1{color:#fafafa}[data-theme=dark] .iac-header p{color:#71717a}[data-theme=dark] .iac-content{background:#0000}[data-theme=dark] .iac-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .iac-card h3{color:#fafafa}[data-theme=dark] .iac-card p{color:#71717a}[data-theme=dark] .iac-input,[data-theme=dark] .iac-select,[data-theme=dark] .iac-textarea{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .iac-input:focus,[data-theme=dark] .iac-select:focus,[data-theme=dark] .iac-textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731626}[data-theme=dark] .iac-input::placeholder,[data-theme=dark] .iac-textarea::placeholder{color:#52525b}[data-theme=dark] .iac-code-output{background:#09090b;border:1px solid #ffffff0f}[data-theme=dark] .iac-code-output pre{color:#e4e4e7}[data-theme=dark] .code-review-module{background:#09090b}[data-theme=dark] .cr-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .cr-header h1{color:#fafafa}[data-theme=dark] .cr-header p{color:#71717a}[data-theme=dark] .cr-content{background:#0000}[data-theme=dark] .cr-upload-zone{background:#ffffff05;border:2px dashed #ffffff1a}[data-theme=dark] .cr-upload-zone:hover{background:#f973160d;border-color:#f973164d}[data-theme=dark] .cr-upload-zone.dragging{background:#f973161a;border-color:#f97316}[data-theme=dark] .cr-upload-zone h3{color:#fafafa}[data-theme=dark] .cr-upload-zone p{color:#71717a}[data-theme=dark] .cr-file-list{background:#ffffff05;border:1px solid #ffffff0f}[data-theme=dark] .cr-file-item{border-bottom:1px solid #ffffff0a;color:#a1a1aa}[data-theme=dark] .cr-file-item:hover{background:#ffffff0a}[data-theme=dark] .cr-file-item.selected{background:#f973161a;color:#f97316}[data-theme=dark] .cr-code-view{background:#09090b;border:1px solid #ffffff0f}[data-theme=dark] .cr-code-view pre{background:#09090b;color:#e4e4e7}[data-theme=dark] .cr-results{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .cr-results h3{color:#fafafa}[data-theme=dark] .cr-result-item{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .cr-result-item:hover{background:#ffffff0a}[data-theme=dark] .cr-tab-navigation{background:#0003!important;border-bottom:1px solid #ffffff0f}[data-theme=dark] .cr-tab-button{color:#71717a}[data-theme=dark] .cr-tab-button:hover{background:#8b5cf614;color:#a78bfa}[data-theme=dark] .cr-tab-button.active{border-bottom-color:#8b5cf6;color:#a78bfa}[data-theme=dark] .project-view-container{background:#09090b}[data-theme=dark] .project-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .back-link{color:#71717a}[data-theme=dark] .back-link:hover{color:#f97316}[data-theme=dark] .project-title h1{color:#fafafa}[data-theme=dark] .project-meta span{color:#71717a}[data-theme=dark] .project-id{background:#ffffff0a;color:#52525b}[data-theme=dark] .project-tabs{border-top:1px solid #ffffff0a}[data-theme=dark] .project-tabs .tab{border-bottom:2px solid #0000;color:#71717a}[data-theme=dark] .project-tabs .tab:hover{background:#ffffff05;color:#a1a1aa}[data-theme=dark] .project-tabs .tab.active{border-bottom-color:#f97316;color:#f97316}[data-theme=dark] .project-content{background:#0000}[data-theme=dark] .analysis-container,[data-theme=dark] .project-analysis{background:#09090b}[data-theme=dark] .analysis-header{border-bottom:1px solid #ffffff0f}[data-theme=dark] .analysis-header h2{color:#fafafa}[data-theme=dark] .analysis-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .analysis-card h3{color:#fafafa}[data-theme=dark] .analysis-card p{color:#a1a1aa}[data-theme=dark] .result-content{background:#09090bcc}[data-theme=dark] .analysis-section{border-bottom:1px solid #ffffff0a}[data-theme=dark] .analysis-section h4{color:#fafafa}[data-theme=dark] .project-files{background:#0000}[data-theme=dark] .files-header{border-bottom:1px solid #ffffff0f}[data-theme=dark] .files-header h3{color:#fafafa}[data-theme=dark] .file-list{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .file-item{color:#a1a1aa}[data-theme=dark] .file-item:hover{background:#ffffff0a}[data-theme=dark] .file-meta{color:#71717a}[data-theme=dark] .project-iac{background:#0000}[data-theme=dark] .iac-generation-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .iac-generation-card h3{color:#fafafa}[data-theme=dark] .iac-generation-card p{color:#71717a}[data-theme=dark] .iac-output{background:#09090b;border:1px solid #ffffff0f}[data-theme=dark] .iac-output pre{color:#e4e4e7}[data-theme=dark] .scaffolding-module{background:#09090b}[data-theme=dark] .scaffolding-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .scaffolding-header h1{color:#fafafa}[data-theme=dark] .scaffolding-header p{color:#71717a}[data-theme=dark] .scaffolding-content{background:#0000}[data-theme=dark] .scaffolding-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .scaffolding-card h3{color:#fafafa}[data-theme=dark] .scaffolding-card p{color:#a1a1aa}[data-theme=dark] .portfolio-dashboard{background:#09090b}[data-theme=dark] .portfolio-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .portfolio-header h1{color:#fafafa}[data-theme=dark] .portfolio-header p{color:#71717a}[data-theme=dark] .portfolio-content{background:#0000}[data-theme=dark] .portfolio-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .portfolio-card h3{color:#fafafa}[data-theme=dark] .portfolio-card p{color:#a1a1aa}[data-theme=dark] .modal-overlay{background:#000c}[data-theme=dark] .modal-content{background:#18181b;border:1px solid #ffffff0f}[data-theme=dark] .modal-header{border-bottom:1px solid #ffffff0f}[data-theme=dark] .modal-header h2,[data-theme=dark] .modal-header h3{color:#fafafa}[data-theme=dark] .modal-close{color:#71717a}[data-theme=dark] .modal-close:hover{color:#fafafa}[data-theme=dark] .modal-body,[data-theme=dark] .modal-body p{color:#a1a1aa}[data-theme=dark] .modal-footer{border-top:1px solid #ffffff0f}[data-theme=dark] .modal-cancel{background:#ffffff0a;border:1px solid #ffffff1a;color:#a1a1aa}[data-theme=dark] .modal-cancel:hover{background:#ffffff14;color:#fafafa}[data-theme=dark] .modal-confirm,[data-theme=dark] .modal-generate{background:linear-gradient(135deg,#f97316,#f59e0b);color:#fff}[data-theme=dark] .auth-loading{background:linear-gradient(135deg,#09090b,#18181b 50%,#27272a);color:#fafafa}[data-theme=dark] .auth-loading p{color:#a1a1aa}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731626;outline:none}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#52525b}[data-theme=dark] select option{background:#18181b;color:#fafafa}[data-theme=dark] label{color:#a1a1aa}[data-theme=dark] .alert.error,[data-theme=dark] .message.error{background:#ef44441a;border:1px solid #ef444433;color:#f87171}[data-theme=dark] .alert.success,[data-theme=dark] .message.success{background:#22c55e1a;border:1px solid #22c55e33;color:#4ade80}[data-theme=dark] .alert.warning,[data-theme=dark] .message.warning{background:#f59e0b1a;border:1px solid #f59e0b33;color:#fbbf24}[data-theme=dark] .alert.info,[data-theme=dark] .message.info{background:#3b82f61a;border:1px solid #3b82f633;color:#60a5fa}[data-theme=dark] .tooltip{background:#27272a;border:1px solid #ffffff1a;color:#fafafa}[data-theme=dark] ::-webkit-scrollbar{height:8px;width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:#18181b}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#52525b}[data-theme=dark] code,[data-theme=dark] pre{color:#e4e4e7}[data-theme=dark] .code-block,[data-theme=dark] code,[data-theme=dark] pre{background:#09090b;border:1px solid #ffffff0f}[data-theme=dark] a{color:#60a5fa}[data-theme=dark] a:hover{color:#93c5fd}[data-theme=dark] hr{border-color:#ffffff0f}[data-theme=dark] .divider{background:#ffffff0f}[data-theme=dark] .card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .card-header{border-bottom:1px solid #ffffff0f}[data-theme=dark] .card-title{color:#fafafa}[data-theme=dark] .card-body{color:#a1a1aa}[data-theme=dark] table{border-collapse:collapse}[data-theme=dark] th{background:#0003;border-bottom:1px solid #ffffff0f;color:#71717a}[data-theme=dark] td{border-bottom:1px solid #ffffff0a;color:#e4e4e7}[data-theme=dark] tr:hover td{background:#ffffff05}[data-theme=dark] .dropdown-menu{background:#18181b;border:1px solid #ffffff0f;box-shadow:0 10px 40px #00000080}[data-theme=dark] .dropdown-item{color:#a1a1aa}[data-theme=dark] .dropdown-item:hover{background:#ffffff0a;color:#fafafa}[data-theme=dark] .ai-model-selector{background:#ffffff0a;border:1px solid #ffffff14}[data-theme=dark] .ai-selector-label{color:#71717a}[data-theme=dark] .ai-model-dropdown{background:#0000;color:#fafafa}[data-theme=dark] .ai-model-dropdown option{background:#18181b;color:#fafafa}[data-theme=dark] .dashboard{background:#09090b}[data-theme=dark] .dashboard-header-content h1{color:#fafafa}[data-theme=dark] .dashboard-header-content p{color:#71717a}[data-theme=dark] .stats-row .stat-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .stats-row .stat-value{color:#f97316}[data-theme=dark] .stats-row .stat-label{color:#71717a}[data-theme=dark] .projects-section{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .projects-section h2{color:#fafafa}[data-theme=dark] .projects-section .projects-table th{background:#0003;border-bottom:1px solid #ffffff0f;color:#71717a}[data-theme=dark] .projects-section .projects-table td{border-bottom:1px solid #ffffff0a}[data-theme=dark] .projects-section .projects-table tbody tr:hover{background:#ffffff05}[data-theme=dark] .projects-section .project-name{color:#fafafa}[data-theme=dark] .projects-section .project-desc{color:#71717a}[data-theme=dark] .projects-section .project-id{color:#52525b}[data-theme=dark] .status-draft{background:#71717a26;color:#a1a1aa}[data-theme=dark] .status-in-progress{background:#3b82f626;color:#60a5fa}[data-theme=dark] .status-completed{background:#22c55e26;color:#4ade80}[data-theme=dark] .progress-dot{background:#ffffff0a;color:#52525b}[data-theme=dark] .progress-dot.complete{background:linear-gradient(135deg,#f97316,#f59e0b);color:#fff}[data-theme=dark] .cloud-badge{background:#ffffff0f;color:#a1a1aa}[data-theme=dark] .empty-state h3{color:#a1a1aa}[data-theme=dark] .empty-state p{color:#71717a}[data-theme=dark] .loading-container{background:#0000}[data-theme=dark] .spinner,[data-theme=dark] .spinner-small{border-color:#f97316 #ffffff1a #ffffff1a}[data-theme=dark] .error-banner{background:#ef44441a;color:#f87171}[data-theme=dark] .error-banner button{color:#f87171}[data-theme=dark] .btn-danger{background:#ef4444;color:#fff}[data-theme=dark] .btn-danger:hover:not(:disabled){background:#dc2626}[data-theme=dark] .project-view{background:#09090b}[data-theme=dark] .project-view .project-header{background:linear-gradient(180deg,#18181b,#0c0c0e)}[data-theme=dark] .project-title-row h1{color:#fafafa}[data-theme=dark] .project-id-badge{background:#ffffff0a;color:#52525b}[data-theme=dark] .project-meta{color:#71717a}[data-theme=dark] .separator{color:#ffffff1a}[data-theme=dark] .save-indicator{color:#a1a1aa}[data-theme=dark] .status-badge.status-DRAFT,[data-theme=dark] .status-badge.status-draft{background:#71717a26;color:#a1a1aa}[data-theme=dark] .status-badge.status-IN_PROGRESS,[data-theme=dark] .status-badge.status-in-progress,[data-theme=dark] .status-badge.status-in_progress{background:#3b82f626;color:#60a5fa}[data-theme=dark] .status-badge.status-COMPLETED,[data-theme=dark] .status-badge.status-completed{background:#22c55e26;color:#4ade80}[data-theme=dark] .project-tabs-container{background:#18181b;border-bottom:1px solid #ffffff0f}[data-theme=dark] .project-tabs-inner{border-bottom:1px solid #ffffff0a}[data-theme=dark] .project-tab{color:#71717a}[data-theme=dark] .project-tab:hover{background:#ffffff05;color:#a1a1aa}[data-theme=dark] .project-tab.active{border-bottom-color:#f97316;color:#f97316}[data-theme=dark] .project-tab .tab-number{background:#ffffff0f;color:#71717a}[data-theme=dark] .project-tab.active .tab-number{background:#f9731626;color:#f97316}[data-theme=dark] .project-tab .tab-check{color:#4ade80}[data-theme=dark] .project-content-area{background:#09090b}[data-theme=dark] .content-panel{background:#0000}[data-theme=dark] .panel-section{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .panel-section h2,[data-theme=dark] .panel-section h3{color:#fafafa}[data-theme=dark] .panel-section p{color:#a1a1aa}[data-theme=dark] .form-section{border-bottom:1px solid #ffffff0a}[data-theme=dark] .form-section h3{color:#fafafa}[data-theme=dark] .form-group label{color:#a1a1aa}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731626}[data-theme=dark] .form-help{color:#71717a}[data-theme=dark] .checkbox-group label{color:#a1a1aa}[data-theme=dark] .chip-container .chip{background:#ffffff0a;border:1px solid #ffffff14;color:#a1a1aa}[data-theme=dark] .chip-container .chip:hover{background:#ffffff0f;border-color:#ffffff1f}[data-theme=dark] .chip-container .chip.selected{background:#f9731626;border-color:#f973164d;color:#f97316}[data-theme=dark] .analysis-results{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .analysis-results h3{color:#fafafa}[data-theme=dark] .result-card{background:#ffffff05;border:1px solid #ffffff0a}[data-theme=dark] .result-card h4{color:#fafafa}[data-theme=dark] .result-content{color:#e4e4e7}[data-theme=dark] .iac-output-container,[data-theme=dark] .result-content{background:#09090b;border:1px solid #ffffff0f}[data-theme=dark] .iac-output-header{background:#0003;border-bottom:1px solid #ffffff0a}[data-theme=dark] .iac-output-header h4{color:#fafafa}[data-theme=dark] .iac-output-code{background:#09090b;color:#e4e4e7}[data-theme=dark] .file-list-container{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .file-list-header{border-bottom:1px solid #ffffff0a}[data-theme=dark] .file-list-header h3{color:#fafafa}[data-theme=dark] .file-item{border-bottom:1px solid #ffffff0a}[data-theme=dark] .file-item:hover{background:#ffffff05}[data-theme=dark] .file-name{color:#fafafa}[data-theme=dark] .file-date,[data-theme=dark] .file-size{color:#71717a}[data-theme=dark] .upload-zone{background:#ffffff05;border:2px dashed #ffffff1a}[data-theme=dark] .upload-zone:hover{background:#f973160d;border-color:#f973164d}[data-theme=dark] .upload-zone.dragging{background:#f973161a;border-color:#f97316}[data-theme=dark] .upload-zone p{color:#71717a}[data-theme=dark] .navigation-buttons{background:#0003;border-top:1px solid #ffffff0f}[data-theme=dark] .info-banner{background:#3b82f61a;border:1px solid #3b82f633;color:#60a5fa}[data-theme=dark] .warning-banner{background:#f59e0b1a;border:1px solid #f59e0b33;color:#fbbf24}[data-theme=dark] .success-banner{background:#22c55e1a;border:1px solid #22c55e33;color:#4ade80}[data-theme=dark] .module-header{background:linear-gradient(180deg,#18181b,#0c0c0e)!important;border-bottom:1px solid #ffffff0f!important;box-shadow:none!important}[data-theme=dark] .module-header .header-content h1{color:#fafafa!important}[data-theme=dark] .module-header .header-content p{color:#71717a!important}[data-theme=dark] .module-header.results-header{background:linear-gradient(135deg,#18181b,#09090b)!important}[data-theme=dark] .checkbox-label{background:#ffffffd9;border:1.5px solid #ffffffe6;color:#1a1a1a}[data-theme=dark] .checkbox-label:hover{background:#fffffff2;border-color:#f9731680}[data-theme=dark] .checkbox-label input[type=checkbox]:checked~span{color:#0a0a0a;font-weight:600}[data-theme=dark] .checkbox-label input[type=checkbox]{accent-color:#f97316}[data-theme=dark] .other-input{background:#3b82f61a;border:2px solid #3b82f64d;color:#fafafa}[data-theme=dark] .other-input:focus{background:#3b82f626;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}[data-theme=dark] .other-input::placeholder{color:#71717a}[data-theme=dark] .question-textarea{background:#ffffff0a;border:2px solid #ffffff14;color:#fafafa}[data-theme=dark] .question-textarea:focus{background:#ffffff0f;border-color:#f97316;box-shadow:0 0 0 4px #f973161a}[data-theme=dark] .architecture-option{background:#ffffff0a;border:2px solid #ffffff14}[data-theme=dark] .architecture-option:hover:not(.disabled){background:#8b5cf61a;border-color:#8b5cf666}[data-theme=dark] .architecture-option.selected{background:#8b5cf626;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .architecture-option.disabled{background:#ffffff05}[data-theme=dark] .architecture-option .option-label{color:#fafafa}[data-theme=dark] .architecture-option.selected .option-label{color:#c4b5fd}[data-theme=dark] .architecture-option .option-description{color:#71717a}[data-theme=dark] .architecture-option.disabled .option-description{color:#52525b}[data-theme=dark] .architecture-option input[type=radio]{accent-color:#8b5cf6}[data-theme=dark] .ai-provider-option{background:#ffffff0a;border:2px solid #ffffff14}[data-theme=dark] .ai-provider-option:hover:not(.disabled){background:#f9731614;border-color:#f973164d}[data-theme=dark] .ai-provider-option.selected{background:#f9731626;border-color:#f97316}[data-theme=dark] .ai-provider-option.disabled{background:#ffffff05}[data-theme=dark] .ai-provider-select-option{background:#ffffff0a;border:2px solid #ffffff14}[data-theme=dark] .ai-provider-select-option:hover:not(.disabled){background:#f9731614;border-color:#f973164d}[data-theme=dark] .ai-provider-select-option.selected{background:#f9731626;border-color:#f97316}[data-theme=dark] .ai-provider-select-name{color:#fafafa}[data-theme=dark] .modal-info{background:#3b82f61a;border:1px solid #3b82f633}[data-theme=dark] .modal-info p{color:#60a5fa}[data-theme=dark] .domain-recs-ai-selector{background:#ffffff0a;border:1px solid #ffffff14}[data-theme=dark] .domain-recs-ai-selector label{color:#a1a1aa}[data-theme=dark] .domain-recs-ai-selector select{background:#ffffff0a;border:1px solid #ffffff1a;color:#fafafa}[data-theme=dark] .domain-recs-ai-selector select:hover{border-color:#fff3}[data-theme=dark] .domain-recs-ai-selector select:focus{border-color:#f97316;box-shadow:0 0 0 3px #f9731626}[data-theme=dark] .provider-chip{background:#ffffff0a;border:1px solid #ffffff14;color:#a1a1aa}[data-theme=dark] .provider-chip:hover{background:#ffffff0f}[data-theme=dark] .provider-chip.selected{background:#f9731626;border-color:#f973164d;color:#f97316}[data-theme=dark] .analysis-prompt{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .analysis-prompt h2{color:#fafafa}[data-theme=dark] .analysis-prompt p{color:#a1a1aa}[data-theme=dark] .form-required-hint{color:#71717a}[data-theme=dark] .toggle-switch{background:#ffffff1a}[data-theme=dark] .option-toggle input:checked+.toggle-switch{background:#f97316}[data-theme=dark] .toggle-label{color:#a1a1aa}[data-theme=dark] .toggle-hint{color:#71717a}[data-theme=dark] .analysis-progress .progress-bar{background:#ffffff0f}[data-theme=dark] .analysis-progress .progress-fill{background:linear-gradient(90deg,#f97316,#f59e0b)}[data-theme=dark] .analysis-progress .progress-text{color:#a1a1aa}[data-theme=dark] .analysis-error{background:#ef44441a;border:1px solid #ef444433;color:#f87171}[data-theme=dark] .analysis-error button{color:#f87171}[data-theme=dark] .analysis-header{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .meta-item{color:#a1a1aa}[data-theme=dark] .score-card{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .score-label{color:#71717a}[data-theme=dark] .score-value{color:#fafafa}[data-theme=dark] .score-bar{background:#ffffff0f}[data-theme=dark] .analysis-section{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .analysis-section h3{color:#fafafa}[data-theme=dark] .summary-text{color:#a1a1aa}[data-theme=dark] .findings-list li{background:#ffffff0a;color:#a1a1aa}[data-theme=dark] .findings-list.strengths li{border-left:3px solid #22c55e}[data-theme=dark] .findings-list.weaknesses li{border-left:3px solid #f59e0b}[data-theme=dark] .recommendation-item{background:#ffffff0a}[data-theme=dark] .recommendation-item.priority-critical .rec-priority{background:#ef444426;color:#f87171}[data-theme=dark] .recommendation-item.priority-high .rec-priority{background:#f9731626;color:#fb923c}[data-theme=dark] .recommendation-item.priority-medium .rec-priority{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .recommendation-item.priority-low .rec-priority{background:#22c55e26;color:#4ade80}[data-theme=dark] .rec-domain{color:#71717a}[data-theme=dark] .rec-title{color:#fafafa}[data-theme=dark] .rec-description{color:#a1a1aa}[data-theme=dark] .config-item{background:#ffffff0a}[data-theme=dark] .config-key{color:#71717a}[data-theme=dark] .config-value{color:#fafafa}[data-theme=dark] .raw-analysis{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .raw-analysis summary{color:#a1a1aa}[data-theme=dark] .raw-analysis pre{background:#09090b;color:#e4e4e7}[data-theme=dark] .result-section{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f;box-shadow:none}[data-theme=dark] .result-section h3{background:#0000004d;border-bottom:2px solid #ffffff0f;color:#fafafa}[data-theme=dark] .result-section h3 svg{color:#60a5fa}[data-theme=dark] .result-section.recommended{border:2px solid #22c55e66;box-shadow:0 4px 12px #22c55e1a}[data-theme=dark] .result-section.recommended h3{background:#22c55e1a;border-bottom-color:#22c55e33}[data-theme=dark] .result-section.recommended h3 svg{color:#4ade80}[data-theme=dark] .result-section.alternate{border:2px solid #8b5cf666;box-shadow:0 4px 12px #8b5cf61a}[data-theme=dark] .result-section.alternate h3{background:#8b5cf61a;border-bottom-color:#8b5cf633}[data-theme=dark] .result-section.alternate h3 svg{color:#a78bfa}[data-theme=dark] .result-section.gaps{border:2px solid #f59e0b66;box-shadow:0 4px 12px #f59e0b1a}[data-theme=dark] .result-section.gaps h3{background:#f59e0b1a;border-bottom-color:#f59e0b33}[data-theme=dark] .result-section.gaps h3 svg{color:#fbbf24}[data-theme=dark] .result-content{background:#09090b99;padding:24px}[data-theme=dark] .result-content pre{background:#0000;border:none;color:#e4e4e7}[data-theme=dark] .diagram-modal-overlay{background:#000000d9}[data-theme=dark] .diagram-modal{background:#18181b;border:1px solid #ffffff0f}[data-theme=dark] .diagram-modal-header{background:#0003;border-bottom:1px solid #ffffff0f}[data-theme=dark] .diagram-modal-header h3{color:#fafafa}[data-theme=dark] .diagram-modal-close{color:#71717a}[data-theme=dark] .diagram-modal-close:hover{color:#fafafa}[data-theme=dark] .diagram-modal-content{background:#09090b}[data-theme=dark] .diagram-loading{color:#a1a1aa}[data-theme=dark] .iac-module{background:#09090b}[data-theme=dark] .iac-header{background:linear-gradient(180deg,#18181b,#0c0c0e);border-bottom:1px solid #ffffff0f}[data-theme=dark] .iac-header .header-text h1{color:#fafafa}[data-theme=dark] .iac-header .header-text p{color:#71717a}[data-theme=dark] .iac-header .header-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 12px #8b5cf64d}[data-theme=dark] .ai-selector{background:#ffffff0a;border:1px solid #ffffff0f}[data-theme=dark] .ai-selector label{color:#71717a}[data-theme=dark] .ai-selector select{background:#ffffff0a;border:1px solid #ffffff1a;color:#fafafa}[data-theme=dark] .ai-selector select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .iac-module .tab-navigation{background:#0003!important;border-bottom:1px solid #ffffff0f}[data-theme=dark] .iac-module .tab-button{border-bottom:3px solid #0000;color:#71717a}[data-theme=dark] .iac-module .tab-button:hover{background:#8b5cf614;color:#a78bfa}[data-theme=dark] .iac-module .tab-button.active{background:#0000;border-bottom-color:#8b5cf6;color:#a78bfa}[data-theme=dark] .tab-badge{background:#8b5cf6}[data-theme=dark] .iac-main{background:#09090b}[data-theme=dark] .config-section{background:linear-gradient(145deg,#27272a80,#18181bcc);border:1px solid #ffffff0f}[data-theme=dark] .config-section:hover{border-color:#ffffff1a}[data-theme=dark] .section-header:hover{background:#ffffff05}[data-theme=dark] .config-section .section-title h3,[data-theme=dark] .iac-module .section-title h3,[data-theme=dark] .section-title h3{color:#fff!important}[data-theme=dark] .section-badge{background:#8b5cf6}[data-theme=dark] .chevron-icon{color:#71717a}[data-theme=dark] .section-content{border-top:1px solid #ffffff0a}[data-theme=dark] .input-field label{color:#71717a}[data-theme=dark] .input-field input,[data-theme=dark] .input-field select{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .input-field input:focus,[data-theme=dark] .input-field select:focus{background:#ffffff0f;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .input-field input::placeholder{color:#52525b}[data-theme=dark] .module-card{background:#ffffff0a;border:2px solid #ffffff0f}[data-theme=dark] .module-card:hover{background:#ffffff0f;box-shadow:0 4px 12px #0000004d}[data-theme=dark] .module-card.selected{background:#8b5cf61a;border-color:#8b5cf666}[data-theme=dark] .module-checkbox{border:2px solid #fff3}[data-theme=dark] .iac-module .module-name,[data-theme=dark] .module-card .module-name,[data-theme=dark] .module-name{color:#fff!important}[data-theme=dark] .iac-module .module-desc,[data-theme=dark] .module-card .module-desc,[data-theme=dark] .module-desc{color:#a1a1aa!important}[data-theme=dark] .iac-module .checkbox-option{background:#ffffff0a}[data-theme=dark] .iac-module .checkbox-option:hover{background:#ffffff0f}[data-theme=dark] .checkbox-box{border:2px solid #fff3}[data-theme=dark] .iac-module .checkbox-label{background:#0000;border:none;color:#a1a1aa;padding:0}[data-theme=dark] .iac-module .checkbox-desc{color:#71717a}[data-theme=dark] .compliance-card{background:#ffffff0a;border:2px solid #ffffff0f}[data-theme=dark] .compliance-card:hover{background:#ffffff0f;border-color:#8b5cf666}[data-theme=dark] .compliance-card.selected{background:#8b5cf61a;border-color:#8b5cf6}[data-theme=dark] .compliance-check{border:2px solid #fff3}[data-theme=dark] .compliance-card.selected .compliance-check{background:#8b5cf6;border-color:#8b5cf6}[data-theme=dark] .compliance-name{color:#fafafa}[data-theme=dark] .compliance-desc{color:#71717a}[data-theme=dark] .preloaded-banner{background:linear-gradient(135deg,#8b5cf626,#8b5cf61a);border:1px solid #8b5cf64d}[data-theme=dark] .preloaded-icon{background:#8b5cf6}[data-theme=dark] .preloaded-text strong{color:#c4b5fd}[data-theme=dark] .preloaded-text span{color:#a78bfa}[data-theme=dark] .preloaded-clear{background:#ffffff0a;border:1px solid #8b5cf64d;color:#a78bfa}[data-theme=dark] .preloaded-clear:hover{background:#8b5cf6;color:#fff}[data-theme=dark] .freeform-group label{color:#fafafa}[data-theme=dark] .freeform-hint{color:#71717a}[data-theme=dark] .freeform-group textarea{background:#ffffff0a;border:1px solid #ffffff14;color:#fafafa}[data-theme=dark] .freeform-group textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .freeform-group textarea::placeholder{color:#52525b}[data-theme=dark] .freeform-settings{background:#ffffff05;border:1px solid #ffffff0f}[data-theme=dark] .freeform-settings h4{color:#a1a1aa}[data-theme=dark] .iac-footer{background:linear-gradient(180deg,#18181b,#0c0c0e);border-top:1px solid #ffffff0f}[data-theme=dark] .iac-module .message.error{background:#ef44441a;border:1px solid #ef444433;color:#f87171}[data-theme=dark] .iac-module .message.success{background:#22c55e1a;border:1px solid #22c55e33;color:#4ade80}[data-theme=dark] .generate-info p{color:#a1a1aa}[data-theme=dark] .generate-info strong{color:#fafafa}[data-theme=dark] .generate-info span{color:#71717a}[data-theme=dark] .generate-button{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 14px #8b5cf659}[data-theme=dark] .generate-button:hover:not(:disabled){box-shadow:0 6px 20px #8b5cf673}[data-theme=dark] .generate-button:disabled{background:#52525b}#root,body,html{margin:0;min-height:100vh;padding:0}.login-container,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{display:flex;min-height:100vh;overflow:hidden;position:relative}.login-background{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#334155);inset:0;position:absolute;z-index:0}.grid-overlay{animation:gridMove 20s linear infinite;background-image:linear-gradient(#94a3b80d 1px,#0000 0),linear-gradient(90deg,#94a3b80d 1px,#0000 0);background-size:50px 50px;inset:0;position:absolute}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.login-left-panel{align-items:center;background:linear-gradient(135deg,#d354001a,#d354000d);display:flex;flex:1 1;justify-content:center;padding:3rem;position:relative;z-index:1}.left-panel-content{color:#fff;max-width:520px}.brand-header{margin-bottom:2.5rem}.brand-logo{height:80px;margin-bottom:1.5rem;width:80px}.brand-logo-img{filter:drop-shadow(0 4px 20px rgba(211,84,0,.4));height:100%;object-fit:contain;width:100%}.brand-logo-full{margin-bottom:1.5rem;max-width:340px}.brand-logo-full-img{filter:drop-shadow(0 4px 20px rgba(211,84,0,.3));height:auto;object-fit:contain;width:100%}.brand-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#d35400);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.brand-tagline{color:#94a3b8;font-size:1.125rem;font-weight:500;margin:0}.brand-subtitle{color:#64748b;font-size:.8rem;font-weight:400;letter-spacing:.01em;margin:.5rem 0 0}.sage-meaning{border-bottom:1px solid #ffffff1a;margin-bottom:2rem;padding:1rem 0}.sage-intro{color:#cbd5e1;font-size:1rem;font-weight:500;margin:0}.features-list{display:flex;flex-direction:column;gap:1.25rem}.feature-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.feature-item:hover{background:#ffffff0f;border-color:#d354004d;transform:translateX(5px)}.feature-icon-wrapper{align-items:center;background:linear-gradient(135deg,#d35400,#e67e22);border-radius:12px;box-shadow:0 4px 12px #d354004d;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.feature-letter{color:#fff;font-size:1.25rem;font-weight:800}.feature-content{display:flex;flex-direction:column;gap:.25rem}.feature-title{color:#fff;font-size:1rem;font-weight:700;margin:0}.feature-description{color:#94a3b8;font-size:.875rem;line-height:1.5;margin:0}.left-panel-footer{border-top:1px solid #ffffff1a;margin-top:2.5rem;padding-top:1.5rem}.left-panel-footer p{color:#64748b;font-size:.875rem;margin:0}.left-panel-footer strong{color:#d35400;font-weight:600}.login-right-panel{align-items:center;background:#fffffffa;box-shadow:-20px 0 60px #0000004d;display:flex;justify-content:center;padding:2rem;position:relative;width:480px;z-index:1}.login-card{animation:cardSlideIn .6s cubic-bezier(.16,1,.3,1);max-width:360px;width:100%}@keyframes cardSlideIn{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.login-header{margin-bottom:2.5rem;text-align:center}.logo-container{align-items:center;animation:logoFloat 3s ease-in-out infinite;display:inline-flex;height:180px;justify-content:center;margin-bottom:1.5rem;width:180px}.logo-img{height:100%;width:100%}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.login-header h1{color:#0f172a;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.subtitle{color:#64748b;font-size:.95rem;font-weight:500;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-group label{color:#334155;font-size:.875rem;letter-spacing:.01em}.form-group input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;padding:.875rem 1rem;transition:all .2s ease}.form-group input:focus{background:#fff;border-color:#d35400;box-shadow:0 0 0 4px #d354001a;outline:none}.form-group input::placeholder{color:#94a3b8}.error-message{align-items:center;animation:errorShake .4s ease;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;display:flex;font-size:.875rem;gap:.75rem;padding:.875rem 1rem}@keyframes errorShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-message svg{flex-shrink:0;height:20px;width:20px}.login-button{align-items:center;background:linear-gradient(135deg,#d35400,#e67e22);border:none;border-radius:10px;box-shadow:0 4px 14px #d354004d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:600;justify-content:center;margin-top:.5rem;min-height:52px;padding:1rem;transition:all .2s ease}.login-button:hover:not(:disabled){box-shadow:0 6px 20px #d3540066;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.7}.loading-spinner{border:3px solid #ffffff4d;height:20px;width:20px}.login-footer{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:2rem;text-align:center}.login-footer p{color:#64748b;font-size:.8rem;font-weight:500;margin:0}@media (max-width:1024px){.login-container{flex-direction:column}.login-left-panel{padding:2rem}.left-panel-content{max-width:100%}.features-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.login-right-panel{padding:2rem;width:100%}}@media (max-width:640px){.login-left-panel{padding:1.5rem}.brand-title{font-size:2rem}.features-list{grid-template-columns:1fr}.login-right-panel{padding:1.5rem}.login-header h1{font-size:1.5rem}}.new-password-notice{align-items:flex-start;background:#eab3081a;border:1px solid #eab3084d;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.new-password-notice svg{color:#eab308;flex-shrink:0;height:24px;width:24px}.new-password-notice p{color:#fef3c7;font-size:.9rem;line-height:1.5;margin:0}.password-requirements{background:#94a3b81a;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.password-requirements p{color:#94a3b8;font-size:.85rem;font-weight:500;margin:0 0 .5rem}.password-requirements ul{margin:0;padding-left:1.25rem}.password-requirements li{color:#64748b;font-size:.8rem;margin-bottom:.25rem}.cognito-warning{align-items:flex-start;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;display:flex;gap:.75rem;margin-top:1.5rem;padding:1rem}.cognito-warning svg{color:#ef4444;flex-shrink:0;height:24px;width:24px}.cognito-warning p{color:#fecaca;font-size:.8rem;line-height:1.4;margin:0}.gov-login-section{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.gov-login-divider{align-items:center;display:flex;gap:1rem;margin-bottom:.25rem}.gov-login-divider:after,.gov-login-divider:before{background:#94a3b84d;content:"";flex:1 1;height:1px}.gov-login-divider span{color:#94a3b8;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.gov-login-btn{align-items:center;border:none;border-radius:8px;cursor:not-allowed;display:flex;font-family:inherit;font-size:.95rem;font-weight:700;gap:.6rem;justify-content:center;letter-spacing:.03em;min-height:50px;padding:.85rem 1rem;position:relative;transition:none}.gov-login-btn:after{background:#1e293b;border-radius:6px;bottom:calc(100% + 8px);box-shadow:0 4px 12px #0000004d;color:#e2e8f0;content:"Coming Soon";font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:6px 14px;white-space:nowrap}.gov-login-btn:after,.gov-login-btn:before{left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.9);transition:opacity .2s ease,transform .2s ease}.gov-login-btn:before{border:6px solid #0000;border-top-color:#1e293b;bottom:calc(100% + 2px);content:""}.gov-login-btn:hover:after,.gov-login-btn:hover:before{opacity:1;transform:translateX(-50%) scale(1)}.login-gov-btn{background:#e21d3d;color:#fff}.login-gov-btn svg{flex-shrink:0}.idme-btn{background:#2a8d3c;color:#fff}.idme-logo{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.idme-logo em{font-style:italic}.projects-list-page{background:#f5f7fa;display:flex;flex-direction:column;height:100%}.top-bar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 32px}.page-title h1{color:#1a1a2e;font-size:24px;font-weight:600;margin:0}.page-title p{color:#6b7280;font-size:14px;margin-top:4px}.top-actions{display:flex;gap:12px}.btn{display:flex;transition:all .2s}.btn-icon{font-size:18px;font-weight:400}.page-content{flex:1 1;overflow-y:auto;padding:24px 32px}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.error-banner-actions{align-items:center;display:flex;gap:12px}.error-banner .retry-btn{background:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:background .2s}.error-banner .retry-btn:hover{background:#b91c1c}.error-banner .dismiss-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:20px;line-height:1}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.stat-label{color:#6b7280;font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#1a1a2e;font-size:32px;font-weight:700}.stat-value.blue{color:#3b82f6}.stat-value.green{color:#10b981}.stat-value.purple{color:#8b5cf6}.stat-sub{color:#9ca3af;font-size:12px;margin-top:4px}.projects-tab-bar{background:#f3f4f6;border-radius:12px;display:flex;gap:4px;margin-bottom:20px;padding:4px;width:-webkit-fit-content;width:fit-content}.projects-tab{align-items:center;background:none;border:none;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .15s}.projects-tab:hover{background:#ffffff80;color:#374151}.projects-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a2e;font-weight:600}.projects-tab-icon{align-items:center;display:flex}.projects-tab-count{background:#e5e7eb;border-radius:10px;color:#6b7280;font-size:11px;font-weight:700;padding:1px 7px}.projects-tab.active .projects-tab-count{background:#fff7ed;color:#d35400}.section-card{border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-direction:column;overflow:hidden}.section-card>.section-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:row;flex-shrink:0;justify-content:space-between;padding:20px 24px}.section-card>.section-header>.section-title{color:#1a1a2e;font-size:16px;font-weight:600}.section-card>.section-header>.section-filters{align-items:center;display:flex;flex-direction:row;gap:12px}.filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;padding:8px 12px}.filter-select:focus{border-color:#d35400;outline:none}.search-input{border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:8px 12px;width:200px}.search-input:focus{border-color:#d35400;outline:none}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{color:#1a1a2e;font-size:18px;font-weight:600;margin-bottom:8px}.empty-state p{color:#6b7280;font-size:14px;margin-bottom:24px}.projects-table{border-collapse:collapse;width:100%}.projects-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-align:left;text-transform:uppercase}.projects-table td{border-bottom:1px solid #e5e7eb;padding:16px 20px;vertical-align:middle}.projects-table tbody tr{cursor:pointer;transition:background .15s}.projects-table tbody tr:hover{background:#f9fafb}.projects-table tbody tr:last-child td{border-bottom:none}.project-name{color:#1a1a2e;font-weight:600;margin-bottom:2px}.project-desc{color:#6b7280;font-size:13px}.target-cloud-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.target-cloud-badge.aws{background:#ff990026;color:#c27400}.target-cloud-badge.azure{background:#0078d426;color:#0067b8}.target-cloud-badge.gcp{background:#4285f426;color:#1a73e8}.target-cloud-badge.on-premises{background:#6b728026;color:#4b5563}.target-cloud-badge.hybrid{background:#10b98126;color:#059669}.target-cloud-badge.multi-cloud{background:#8b5cf626;color:#7c3aed}.target-cloud-badge.salesforce{background:#00a1e026;color:#0089c7}.status-badge{font-size:12px;padding:4px 10px}.status-badge .dot{height:6px;width:6px}.status-badge.IN_PROGRESS,.status-badge.in-progress,.status-badge.in_progress{background:#dbeafe;color:#1d4ed8}.status-badge.IN_PROGRESS .dot,.status-badge.in-progress .dot,.status-badge.in_progress .dot{background:#3b82f6}.status-badge.COMPLETED,.status-badge.completed{background:#d1fae5;color:#047857}.status-badge.COMPLETED .dot,.status-badge.completed .dot{background:#10b981}.status-badge.DRAFT,.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.DRAFT .dot,.status-badge.draft .dot{background:#9ca3af}.progress-steps{gap:6px}.progress-steps,.step-dot{align-items:center;display:flex}.step-dot{border-radius:50%;font-size:11px;font-weight:600;height:24px;justify-content:center;transition:all .2s;width:24px}.step-dot.complete{background:#10b981;color:#fff}.step-dot.current{background:#3b82f6;color:#fff}.step-dot.pending{background:#e5e7eb;color:#9ca3af}.step-dot.skipped{background:#f3f4f6;color:#9ca3af}.actions-cell{display:flex;gap:8px}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s}.action-btn.primary{background:#d35400;color:#fff}.action-btn.primary:hover{background:#b84700}.action-btn.secondary{background:#f3f4f6;color:#374151;padding:6px 10px}.action-btn.secondary:hover{background:#e5e7eb}.projects-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.chart-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px}.chart-title{color:#1a1a2e;font-size:15px;font-weight:600;margin:0 0 16px}.pipeline-bars{display:flex;flex-direction:column;gap:10px}.pipeline-row{align-items:center;display:flex;gap:12px}.pipeline-label{color:#4b5563;flex-shrink:0;font-size:13px;font-weight:500;width:120px}.pipeline-bar-container{background:#f1f5f9;border-radius:4px;flex:1 1;height:24px;overflow:hidden}.pipeline-bar{align-items:center;border-radius:4px;display:flex;height:100%;justify-content:flex-end;min-width:0;padding:0 8px;transition:width .4s ease}.pipeline-count{color:#fff;font-size:11px;font-weight:700}.pie-chart-container{height:220px}.empty-chart,.pie-chart-container{align-items:center;display:flex;justify-content:center}.empty-chart{color:#6b7280;flex-direction:column;gap:4px;height:100%;text-align:center}.empty-chart p{font-size:14px;margin:0}.empty-chart .empty-hint{color:#9ca3af;font-size:12px}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}}@media (max-width:768px){.top-bar{align-items:flex-start;flex-direction:column;gap:16px}.page-content,.top-bar{padding:16px 20px}.stats-grid{grid-template-columns:1fr}.section-card>.section-header{align-items:flex-start;flex-direction:column;gap:12px}.section-card>.section-header>.section-filters{flex-direction:column;width:100%}.search-input{width:100%}.projects-table{display:block;overflow-x:auto}}.project-form-full{display:flex;flex-direction:column;gap:20px}.autofill-banner{justify-content:space-between;padding:12px 24px}.autofill-banner,.autofill-info{align-items:center;background:#0000!important;border:0!important;box-shadow:none!important;display:flex;outline:none!important}.autofill-info{gap:12px}.autofill-icon{font-size:24px}.autofill-info strong{color:#374151;display:block;font-size:15px;font-weight:600}.autofill-info span{color:#6b7280;font-size:13px}.autofill-banner .btn-secondary{background:#f97316;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.autofill-banner .btn-secondary:hover{background:#ea580c}.form-layout{display:flex;gap:24px;min-height:600px}.tab-nav{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-shrink:0;height:-webkit-fit-content;height:fit-content;padding:8px;position:-webkit-sticky;position:sticky;top:24px;width:220px}.tab-nav-item{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:4px;padding:12px 14px;text-align:left;transition:all .15s;width:100%}.tab-nav-item:last-child{margin-bottom:0}.tab-nav-item:hover{background:#f3f4f6}.tab-nav-item.active{background:#d35400;color:#fff}.tab-name{flex:1 1;font-size:14px;font-weight:500}.tab-completion{background:#0000001a;border-radius:10px;font-size:11px;padding:2px 6px}.tab-nav-item.active .tab-completion{background:#fff3}.tab-completion.complete{background:#10b981;color:#fff}.tab-nav-item.active .tab-completion.complete{background:#ffffff4d}.tab-content{border-radius:12px;box-shadow:0 1px 3px #0000001a;min-width:0}.questions-tab,.tab-content{display:flex;flex:1 1;flex-direction:column}.tab-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;gap:16px;padding:24px}.tab-icon-large{background:#fff;border-radius:10px;box-shadow:0 1px 2px #0000000d;font-size:32px;padding:12px}.tab-header h3{color:#1a1a2e;font-size:20px;font-weight:600;margin:0}.tab-progress{color:#6b7280;font-size:14px;margin:4px 0 0}.questions-list{flex:1 1;overflow-y:auto;padding:24px}.question-item{border-bottom:1px solid #f3f4f6;gap:16px;margin-bottom:28px;padding-bottom:28px}.question-item:last-child{margin-bottom:0}.question-number{background:#e5e7eb;border-radius:50%;color:#6b7280;font-size:12px;font-weight:600;height:28px;width:28px}.question-content{flex:1 1}.question-label{color:#1a1a2e;display:block;font-size:15px;font-weight:500;margin-bottom:12px}.form-input,.form-select,.form-textarea{border:1px solid #d1d5db;border-radius:8px;color:#1a1a2e;font-size:14px;padding:12px 14px;transition:all .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a;outline:none}.form-textarea{min-height:100px;resize:vertical}.form-select{background:#fff;cursor:pointer}.multiselect-group{display:flex;flex-wrap:wrap;gap:8px}.multiselect-option{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;gap:8px;padding:8px 14px;transition:all .15s}.multiselect-option:hover{background:#f3f4f6;border-color:#d1d5db}.multiselect-option.selected{background:#fef3c7;border-color:#f59e0b;color:#92400e}.multiselect-option input{display:none}.checkbox-mark{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;display:flex;font-size:10px;font-weight:600;height:16px;justify-content:center;width:16px}.multiselect-option.selected .checkbox-mark{background:#f59e0b;border-color:#f59e0b;color:#fff}.other-input{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-top:8px;padding:10px 12px}.other-input:focus{border-color:#d35400}.notes-tab{padding:24px}.notes-tab h3{color:#1a1a2e;font-size:20px;font-weight:600;margin-bottom:8px}.notes-description{color:#6b7280;font-size:14px;margin-bottom:20px}.notes-textarea{border-radius:8px;padding:16px}.notes-textarea:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a}.upload-tab{padding:24px}.upload-tab h3{color:#1a1a2e;font-size:20px;font-weight:600;margin-bottom:8px}.upload-description{color:#6b7280;font-size:14px;margin-bottom:20px}.upload-area{border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:48px;text-align:center;transition:all .15s}.upload-area:hover{background:#fef7ed;border-color:#d35400}.upload-icon{font-size:48px;margin-bottom:16px}.upload-area p{color:#374151;font-size:16px;margin-bottom:8px}.upload-hint{color:#9ca3af;font-size:13px}.uploaded-files{margin-top:24px}.uploaded-files h4{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.file-item{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px}.file-name{font-size:14px}.file-size{color:#9ca3af;font-size:12px}.file-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:20px;padding:4px}.file-remove:hover{color:#ef4444}.tab-navigation{background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;padding:20px 24px}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}.modal-overlay{background:#00000080}.modal-content{display:flex;flex-direction:column;overflow:hidden}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1a1a2e;font-size:18px;font-weight:600;margin:0}.modal-close{color:#9ca3af;font-size:24px}.modal-close:hover{color:#374151}.modal-body{overflow-y:auto;padding:24px}.modal-body>p{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:20px}.modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;gap:12px;padding:16px 24px}.autofill-upload-area{background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:32px;text-align:center;transition:all .15s}.autofill-upload-area:hover{background:#f0f9ff;border-color:#3b82f6}.autofill-upload-area.drag-over{background:#dbeafe;border-color:#3b82f6;border-style:solid}.autofill-upload-area.has-file{background:#f0fdf4;border-color:#10b981;border-style:solid}.autofill-upload-area .upload-icon{font-size:48px;margin-bottom:12px}.autofill-upload-area p{color:#374151;font-size:14px;margin:0 0 4px}.autofill-upload-area .upload-formats{color:#9ca3af;font-size:12px}.selected-file{align-items:center;color:#1a1a2e;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:center}.selected-file .file-icon{font-size:32px}.selected-file .file-name{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file .file-remove{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;width:24px}.selected-file .file-remove:hover{background:#dc2626}.autofill-error{align-items:center;color:#dc2626;font-size:14px;gap:8px;margin-top:16px;padding:12px 16px}.autofill-success{border:1px solid #86efac;margin-top:20px;padding:20px}.autofill-success .success-header{align-items:center;color:#166534;display:flex;font-size:16px;font-weight:600;gap:10px;margin-bottom:16px}.autofill-success .success-icon{font-size:20px}.autofill-success .success-stats{display:flex;gap:24px;margin-bottom:16px}.autofill-success .stat{align-items:center;background:#fff;border:1px solid #d1fae5;border-radius:8px;display:flex;flex-direction:column;padding:12px 24px}.autofill-success .stat-value{color:#059669;font-size:28px;font-weight:700}.autofill-success .stat-label{color:#6b7280;font-size:12px;margin-top:4px}.autofill-success .extraction-notes{background:#fff;border-radius:8px;color:#374151;font-size:13px;margin-bottom:16px;padding:12px}.autofill-success .extracted-preview{background:#fff;border-radius:8px;padding:16px}.autofill-success .extracted-preview>strong{color:#374151;display:block;font-size:13px;margin-bottom:12px}.autofill-success .preview-list{display:flex;flex-direction:column;gap:8px}.autofill-success .preview-item{background:#f9fafb;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.autofill-success .preview-key{color:#6b7280;font-weight:500;min-width:140px;text-transform:capitalize}.autofill-success .preview-value{color:#111827;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autofill-success .preview-more{color:#6b7280;font-size:12px;font-style:italic;padding-top:8px;text-align:center}.autofill-modal .modal-body{max-height:70vh;overflow-y:auto}.btn .btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:8px;width:14px}.autofill-suggestions{margin-top:24px}.autofill-suggestions h4{color:#374151;font-size:14px;font-weight:600;margin-bottom:12px}.suggestions-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.suggestion-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:12px;transition:all .15s}.suggestion-card:hover{background:#f3f4f6;border-color:#d1d5db}.suggestion-field{color:#9ca3af;font-size:10px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.suggestion-value{color:#1a1a2e;font-size:13px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-confidence{border-radius:10px;display:inline-block;font-size:11px;padding:2px 6px}.suggestion-card.confidence-high .suggestion-confidence{background:#d1fae5;color:#047857}.suggestion-card.confidence-medium .suggestion-confidence{background:#fef3c7;color:#b45309}.suggestion-card.confidence-low .suggestion-confidence{background:#fee2e2;color:#dc2626}@media (max-width:1024px){.form-layout{flex-direction:column}.tab-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px;position:static;width:100%}.tab-nav-item{flex:1 1;justify-content:center;margin-bottom:0;min-width:100px;width:auto}.tab-name{display:none}.tab-nav-item .tab-completion{margin-left:4px}}@media (max-width:640px){.autofill-banner{flex-direction:column;gap:16px;text-align:center}.tab-navigation{flex-direction:column;gap:12px}.tab-navigation .btn{justify-content:center;width:100%}.suggestions-grid{grid-template-columns:1fr}}.unsaved-indicator{align-items:center;color:#f59e0b;display:flex;font-size:13px;gap:6px;margin-right:auto}.unsaved-dot{animation:pulse 1.5s ease-in-out infinite;background:#f59e0b;border-radius:50%;height:8px;width:8px}.review-tab{display:flex;flex-direction:column;gap:24px}.review-header{align-items:center;border-bottom:1px solid #e5e7eb;flex-direction:column;padding-bottom:16px}.review-header .btn-back{align-self:flex-start;margin-bottom:16px}.review-header h3{color:#1a1a2e;font-size:24px;margin:0 0 8px}.review-header p{color:#6b7280}.review-completion-card{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;display:flex;gap:24px;padding:24px}.completion-circle{flex-shrink:0;height:80px;position:relative;width:80px}.completion-ring{transform:rotate(-90deg)}.completion-text{color:#1a1a2e;font-size:18px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.completion-info h4{color:#1a1a2e;font-size:18px;margin:0 0 4px}.completion-info p{color:#6b7280;font-size:14px;margin:0}.review-sections h4{color:#1a1a2e;font-size:16px;margin:0 0 16px}.section-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.section-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.section-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.section-card.complete{background:#f0fdf4;border-color:#86efac}.section-icon{font-size:24px}.section-info{display:flex;flex-direction:column;gap:2px}.section-name{color:#1a1a2e;font-size:14px;font-weight:500}.section-status{color:#6b7280;font-size:12px}.section-card.complete .section-status{color:#10b981}.review-actions{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.review-action-group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.review-action-group h4{color:#1a1a2e;font-size:16px;margin:0 0 8px}.review-action-group p{color:#6b7280;font-size:14px;margin:0 0 16px}.action-error{color:#dc2626;font-size:13px;margin-top:8px}.domain-overview-results{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.domain-overview-results h4{color:#1a1a2e;font-size:18px;margin:0 0 16px}.domain-overview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.domain-overview-header h4{margin:0}.btn-download-pdf{align-items:center;display:flex;font-size:14px;gap:6px;padding:8px 16px}.overview-app-name{color:#6b7280;font-size:14px;margin:0 0 16px}.executive-summary-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:16px}.executive-summary-card h5{color:#1a1a2e;font-size:14px;margin:0 0 8px}.executive-summary-card p{color:#334155;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}.domains-list{display:flex;flex-direction:column;gap:12px}.domain-card{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden}.domain-card:last-child{margin-bottom:0}.domain-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 16px}.domain-header.domain-application{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-bottom:none;color:#fff}.domain-header.domain-infrastructure{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-bottom:none;color:#fff}.domain-header.domain-dataStorage{background:linear-gradient(135deg,#10b981,#047857);border-bottom:none;color:#fff}.domain-header.domain-security{background:linear-gradient(135deg,#ef4444,#b91c1c);border-bottom:none;color:#fff}.domain-header.domain-integration{background:linear-gradient(135deg,#f59e0b,#d97706);border-bottom:none;color:#fff}.domain-header.domain-operations{background:linear-gradient(135deg,#06b6d4,#0891b2);border-bottom:none;color:#fff}.domain-name{color:inherit;font-weight:600}.domain-priority{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.domain-header[class*=domain-] .domain-priority{background:#fff3;color:#fff}.domain-priority.priority-high{background:#fef2f2;color:#dc2626}.domain-header[class*=domain-] .domain-priority.priority-high{background:#ffffff40;color:#fff}.domain-priority.priority-medium{background:#fef3c7;color:#d97706}.domain-header[class*=domain-] .domain-priority.priority-medium{background:#fff3;color:#fff}.domain-priority.priority-low{background:#f0fdf4;color:#10b981}.domain-header[class*=domain-] .domain-priority.priority-low{background:#fff3;color:#fff}.domain-content{padding:16px}.domain-section{margin-bottom:12px}.domain-section:last-child{margin-bottom:0}.domain-section strong{color:#6b7280;display:block;font-size:13px;margin-bottom:4px}.domain-section p{color:#334155;font-size:14px;line-height:1.5;margin:0}.domain-section ul{margin:0;padding-left:20px}.domain-section li{color:#334155;font-size:14px;line-height:1.6}.review-submit{background:linear-gradient(135deg,#1a1a2e,#2d2d44);border-radius:12px;margin-top:8px;padding:24px;text-align:center}.review-submit .btn-large{font-size:18px;padding:16px 48px}.submit-hint{color:#ffffffb3;font-size:13px;margin:12px 0 0}.btn-spinner{animation:spin 1s linear infinite;display:inline-block;margin-right:8px}.project-analysis{display:flex;flex-direction:column;gap:24px}.analysis-prompt{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 40px;text-align:center}.prompt-icon{font-size:64px;margin-bottom:24px}.analysis-prompt h2{color:#1a1a2e;font-size:24px;font-weight:600;margin-bottom:12px}.analysis-prompt p{color:#6b7280;font-size:16px;line-height:1.6;margin:0 auto 32px;max-width:500px}.form-required-hint{color:#9ca3af;font-size:14px;margin-top:16px}.analysis-options{margin-bottom:24px}.option-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:12px}.option-toggle input{display:none}.toggle-switch{background:#e5e7eb}.toggle-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.option-toggle input:checked+.toggle-switch{background:#d35400}.option-toggle input:checked+.toggle-switch:after{transform:translateX(20px)}.toggle-label{color:#374151;display:flex;flex-direction:column;text-align:left}.toggle-hint{color:#9ca3af;font-size:12px;font-weight:400}.analysis-progress{margin:0 auto 24px;max-width:400px}.progress-text{margin-top:8px}.analysis-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:inline-flex;gap:12px;margin-bottom:24px;padding:12px 16px}.analysis-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.analysis-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:20px 24px}.analysis-meta{display:flex;gap:24px}.meta-item{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:8px}.meta-icon{font-size:16px}.scores-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(6,1fr)}.score-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;text-align:center}.score-label{color:#6b7280;font-size:13px;margin-bottom:8px}.score-value{font-size:36px;font-weight:700;margin-bottom:8px}.score-bar{background:#e5e7eb;border-radius:3px;height:6px;overflow:hidden}.score-fill{border-radius:3px;height:100%;transition:width .5s ease}.analysis-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.analysis-section h3{color:#1a1a2e;font-size:18px;font-weight:600;margin-bottom:16px}.summary-text{color:#374151;font-size:15px;line-height:1.7}.findings-list{list-style:none;margin:0;padding:0}.findings-list li{background:#f9fafb;border-radius:8px;color:#374151;font-size:14px;line-height:1.5;margin-bottom:8px;padding:12px 16px}.findings-list li:last-child{margin-bottom:0}.findings-list.strengths li{border-left:3px solid #10b981}.findings-list.weaknesses li{border-left:3px solid #f59e0b}.recommendations-list{display:flex;flex-direction:column;gap:12px}.recommendation-item{background:#f9fafb;border-radius:8px;display:flex;gap:16px;padding:16px}.rec-priority{border-radius:4px;font-size:11px;font-weight:600;height:-webkit-fit-content;height:fit-content;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.recommendation-item.priority-critical .rec-priority{background:#fee2e2;color:#dc2626}.recommendation-item.priority-high .rec-priority{background:#fed7aa;color:#c2410c}.recommendation-item.priority-medium .rec-priority{background:#fef3c7;color:#b45309}.recommendation-item.priority-low .rec-priority{background:#d1fae5;color:#047857}.rec-content{flex:1 1}.rec-domain{color:#9ca3af;font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.rec-title{color:#1a1a2e;font-size:14px;font-weight:500}.rec-description{color:#6b7280;font-size:13px;line-height:1.5;margin-top:8px}.config-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.config-item{background:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.config-key{color:#9ca3af;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.config-value{color:#1a1a2e;font-size:14px;font-weight:500}.raw-analysis{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.raw-analysis summary{color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;list-style:none;padding:16px 24px}.raw-analysis summary::-webkit-details-marker{display:none}.raw-analysis summary:before{content:"▶ ";font-size:10px}.raw-analysis[open] summary:before{content:"▼ "}.raw-analysis pre{background:#1a1a2e;border-radius:0 0 12px 12px;color:#e5e7eb;font-size:12px;margin:0;overflow-x:auto;padding:24px}@media (max-width:1200px){.scores-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.scores-grid{grid-template-columns:repeat(2,1fr)}.analysis-header{align-items:flex-start;flex-direction:column;gap:16px}.analysis-meta{flex-direction:column;gap:8px}}@media (max-width:480px){.scores-grid{grid-template-columns:1fr}.analysis-prompt{padding:40px 20px}}.results-container{gap:24px}.result-section h3{flex-wrap:wrap;font-size:18px;gap:12px;padding:20px 24px}.result-section h3 svg{flex-shrink:0}.result-section.gaps{border:2px solid #f59e0b;box-shadow:0 4px 12px #f59e0b26}.result-section.gaps h3{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom-color:#fcd34d}.result-section.gaps h3 svg{color:#f59e0b}.recommendation-badge{font-size:12px;margin-left:auto;padding:4px 12px}.review-notice{font-size:11px;padding:4px 12px}.alternate-badge{font-size:12px;margin-left:auto;padding:4px 12px}.result-content{background:#fafbfc;padding:24px}.result-content pre{font-size:14px}.analysis-actions{align-items:center;display:flex;gap:12px}.diagram-modal-overlay{align-items:center;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.diagram-modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:90vh;max-width:1600px;overflow:hidden;width:95vw}.diagram-modal-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.diagram-modal-header h3{color:#1a1a2e;font-size:18px;font-weight:600;margin:0}.diagram-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:28px;line-height:1;padding:0;transition:color .15s}.diagram-modal-close:hover{color:#1a1a2e}.diagram-modal-content{background:#f0f0f0;flex:1 1;overflow:hidden}.diagram-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center}.diagram-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.project-iac{display:flex;flex-direction:column;gap:24px}.download-modal-icon{font-size:48px;margin-bottom:16px}.download-modal h3{color:#1a1a2e}.download-modal-filename{background:#f3f4f6;border-radius:6px;color:#6b7280;margin:16px 0;padding:8px 12px;word-break:break-all}.download-modal-info{align-items:flex-start;background:#dbeafe;border-radius:8px;color:#1e40af;display:flex;font-size:13px;gap:8px;margin-bottom:12px;padding:12px;text-align:left}.download-modal-info strong{font-weight:600}.download-modal-warning{border-radius:8px;color:#92400e;font-size:13px;gap:8px;margin-bottom:24px;padding:12px;text-align:left}.download-modal-warning,.no-analysis-banner{align-items:flex-start;background:#fef3c7;display:flex}.no-analysis-banner{border:1px solid #fcd34d;border-radius:12px;gap:16px;padding:16px 20px}.banner-icon{font-size:24px}.banner-content h4{color:#92400e;font-size:15px;font-weight:600;margin:0 0 4px}.banner-content p{color:#a16207;font-size:13px;line-height:1.5;margin:0}.iac-tab-nav{background:#f3f4f6;border-radius:12px;display:flex;gap:4px;padding:4px}.iac-tab-btn{background:#0000;border:none;border-radius:10px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .15s}.iac-tab-btn:hover{color:#374151}.iac-tab-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#d35400}.structured-content{display:flex;flex-direction:column;gap:16px;padding:20px}.config-section{border:1px solid #e5e7eb}.config-section .section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .15s}.config-section .section-header:hover{background:#f9fafb}.config-section .section-title{align-items:center;display:flex;gap:12px}.config-section .section-icon{font-size:20px}.config-section .section-title h3{color:#1f2937;font-size:15px;font-weight:600;margin:0}.config-section .section-badge{background:#dbeafe;border-radius:12px;color:#1d4ed8;font-size:11px;font-weight:500;padding:4px 8px}.config-section .chevron-icon{color:#9ca3af;height:20px;transition:transform .2s;width:20px}.config-section .section-content{border-top:1px solid #e5e7eb;padding:0 20px 20px}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));padding:16px 0}.module-card{align-items:center;background:#fff;border:2px solid #e5e7eb;flex-direction:column;gap:8px;padding:16px 12px;transition:all .15s}.module-card:hover{border-color:#d1d5db}.module-card.selected{background:#f5f3ff;border-color:#8b5cf6}.module-card .module-icon{font-size:28px}.module-card .module-name{color:#374151;font-size:13px;font-weight:500;text-align:center}.module-card .module-desc{color:#9ca3af;font-size:11px;text-align:center}.module-card .module-check{align-items:center;background:#8b5cf6;border-radius:50%;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.5);transition:all .15s;width:20px}.module-card.selected .module-check{opacity:1;transform:scale(1)}.module-card .module-check svg{color:#fff;height:12px;width:12px}.module-card{position:relative}.iac-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.iac-section h3{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 16px}.section-hint{color:#6b7280;font-size:13px;margin:-8px 0 16px}.global-settings{background:#f9fafb}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.setting-item{display:flex;flex-direction:column;gap:8px}.setting-item label{color:#374151;font-size:13px;font-weight:500}.setting-item input,.setting-item select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 12px}.setting-item input:focus,.setting-item select:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a;outline:none}.provider-buttons{display:flex;gap:8px}.provider-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:12px;transition:all .15s}.provider-btn:hover{border-color:#d1d5db}.provider-btn.selected{background:#fff7ed;border-color:#d35400}.provider-btn span:first-child{font-size:20px}.provider-btn span:last-child{color:#374151;font-size:12px;font-weight:500}.provider-btn.selected span:last-child{color:#d35400}.modules-list{display:flex;flex-direction:column;gap:8px}.module-item{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .15s}.module-item.selected{background:#f0fdf4;border-color:#10b981}.module-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:16px}.module-header:hover{background:#f9fafb}.module-item.selected .module-header:hover{background:#ecfdf5}.module-checkbox input{accent-color:#10b981;height:18px;width:18px}.module-icon{font-size:24px}.module-info{display:flex;flex-direction:column;gap:2px}.module-name{color:#1a1a2e;font-size:14px}.module-desc{color:#6b7280}.module-expand-btn{background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s}.module-expand-btn:hover{background:#e5e7eb;color:#374151}.module-config{background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}.module-item.selected .module-config{background:#ecfdf5;border-top-color:#d1fae5}.config-row{display:flex;flex-direction:column;gap:6px}.config-row label{color:#374151;font-size:13px;font-weight:500}.config-row input,.config-row select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px}.config-row input:focus,.config-row select:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.config-row-inline{display:flex;gap:16px}.config-row.half{flex:1 1}.config-toggles{display:flex;flex-wrap:wrap;gap:12px}.toggle-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:all .15s}.toggle-item:hover{border-color:#d1d5db}.toggle-item.checked,.toggle-item:focus-within{background:#d1fae5;border-color:#10b981;color:#065f46}.toggle-item input{accent-color:#10b981}.options-panel{padding:16px 0}.options-row{margin-bottom:16px}.freeform-content{padding:24px}.freeform-section{margin-bottom:24px}.freeform-section h3{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:8px}.freeform-section .section-hint{color:#6b7280;font-size:13px;margin-bottom:12px}.freeform-textarea{border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.6;min-height:200px;padding:16px;resize:vertical;width:100%}.freeform-textarea:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a;outline:none}.freeform-notes{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;min-height:80px;padding:12px;resize:vertical;width:100%}.freeform-notes:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a;outline:none}.freeform-settings{background:#f9fafb;margin-top:24px}.freeform-settings .options-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.input-field label{color:#6b7280;font-size:11px}.input-field input,.input-field select{background:#fff;border:1px solid #e5e7eb;padding:10px 12px}.input-field input:focus,.input-field select:focus{border-color:#d35400;box-shadow:0 0 0 3px #d354001a;outline:none}.iac-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;padding:12px 16px}.iac-error button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px}.iac-progress{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px 24px}.progress-bar{background:#e5e7eb}.progress-fill{background:linear-gradient(90deg,#d35400,#f59e0b);transition:width .3s ease}.progress-text{color:#6b7280;font-size:14px;margin:8px 0 0;text-align:center}.generate-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.generate-info{margin-bottom:16px}.generate-info p{color:#374151;margin:0 0 4px}.generate-info span{color:#6b7280}.generate-hint{color:#9ca3af}.history-section{background:#f9fafb}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{align-items:center;background:#fff;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.history-info{display:flex;flex-direction:column;gap:4px}.history-filename{color:#1a1a2e;font-family:monospace;font-size:14px;font-weight:500}.history-meta{color:#6b7280;font-size:12px}.history-date{color:#9ca3af;font-size:11px}.btn{padding:12px 24px}.btn:disabled{cursor:not-allowed;opacity:.7}.btn-primary:hover:not(:disabled){background:#b84700}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-large{font-size:16px;padding:16px 32px}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.settings-grid{grid-template-columns:1fr}.provider-buttons{flex-wrap:wrap}.provider-btn{min-width:calc(50% - 4px)}.config-row-inline,.config-toggles{flex-direction:column}.toggle-item{width:100%}.history-item{align-items:flex-start;gap:12px}.download-modal-actions,.history-item{flex-direction:column}}.scaffolding-module{margin:0 auto;max-width:1200px;padding:24px}.scaffolding-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:24px}.header-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;box-shadow:0 4px 12px #6366f14d}.header-text h1{margin:0 0 4px}.header-text p{margin:0}.ai-provider-selector{align-items:center;display:flex;gap:8px}.ai-provider-selector label{color:#6b7280;font-size:14px}.ai-provider-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 12px}.scaffolding-tabs{display:flex;gap:8px;margin-bottom:24px}.tab-button{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;font-size:15px;gap:8px;padding:12px 24px}.tab-button:hover{border-color:#d1d5db;color:#374151}.tab-button.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#0000;box-shadow:0 4px 12px #6366f14d;color:#fff}.tab-icon{font-size:18px}.message{border-radius:12px;margin-bottom:24px;padding:16px}.message.success{border:1px solid #bbf7d0}.message-icon{font-size:18px}.tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.form-sections{padding:24px}.form-section{border-bottom:1px solid #f3f4f6;margin-bottom:32px;padding-bottom:24px}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{align-items:center;color:#111827;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.mt-16{margin-top:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 14px;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group input::placeholder{color:#9ca3af}.form-group select{cursor:pointer}.form-group input:disabled,.form-group select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.framework-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.framework-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;transition:all .2s ease}.framework-option:hover{background:#f5f3ff;border-color:#c7d2fe}.framework-option.selected{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.fw-icon{font-size:24px}.fw-label{color:#374151;font-size:13px;font-weight:500}.framework-option.selected .fw-label{color:#4f46e5}.checkbox-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.checkbox-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 14px;transition:all .2s ease}.checkbox-item:hover{background:#faf5ff;border-color:#c7d2fe}.checkbox-item input[type=checkbox]{accent-color:#6366f1;cursor:pointer;height:18px;width:18px}.checkbox-label{color:#374151}.checkbox-item.checked,.checkbox-item:focus-within{background:#eef2ff;border-color:#6366f1}.conditional-options{grid-gap:16px;background:#f9fafb;border-radius:12px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:16px;padding:16px}.generate-section{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:24px;text-align:center}.generate-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px #6366f14d;display:inline-flex;font-size:16px;justify-content:center;min-width:280px;padding:16px 48px;transition:all .2s ease}.generate-button:hover:not(:disabled){box-shadow:0 6px 20px #6366f166}.generate-button:disabled{opacity:.6}.generate-button.backend{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 12px #10b9814d}.generate-button.backend:hover:not(:disabled){box-shadow:0 6px 20px #10b98166}.btn-icon{font-size:20px}.generate-hint{color:#6b7280;font-size:13px;margin-top:12px}.generate-nav-hint{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:13px;line-height:1.5;margin-top:8px;padding:10px 14px}.generate-nav-hint strong{font-weight:600}.spinner{height:20px;width:20px}.download-modal-overlay{background:#00000080}.download-modal{animation:modalSlide .3s ease;border-radius:20px;box-shadow:0 20px 60px #0003;max-width:420px;width:100%}@keyframes modalSlide{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.download-modal h3{color:#111827;font-weight:700;margin:0 0 8px}.download-modal-filename{background:#eef2ff;border-radius:8px;color:#6366f1;font-family:monospace;font-weight:600;margin:8px 0 16px}.download-modal-message{color:#6b7280;font-size:14px;line-height:1.6}.modal-btn{min-width:120px}.modal-btn.cancel{background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}.modal-btn.cancel:hover{background:#e5e7eb}.modal-btn.download{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 4px 12px #10b9814d}.modal-btn.download:hover{box-shadow:0 6px 16px #10b98166;transform:translateY(-1px)}.notes-input-container{margin-top:12px}.notes-textarea{background-color:#fff;border:1px solid #d1d5db;color:#1f2937;font-size:14px;min-height:100px;padding:14px 16px}.notes-textarea:hover{border-color:#9ca3af}.notes-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.notes-textarea::placeholder{color:#9ca3af;font-style:italic}[data-theme=dark] .notes-textarea{background-color:#1f2937;border-color:#374151;color:#f3f4f6}[data-theme=dark] .notes-textarea:hover{border-color:#4b5563}[data-theme=dark] .notes-textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826}[data-theme=dark] .notes-textarea::placeholder{color:#6b7280}@media (max-width:768px){.scaffolding-module{padding:16px}.scaffolding-header{align-items:flex-start;flex-direction:column;gap:16px}.framework-grid{grid-template-columns:repeat(3,1fr)}.checkbox-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.generate-button{width:100%}.download-modal{margin:16px;padding:24px}.download-modal-actions{flex-direction:column}.modal-btn{width:100%}}@media (max-width:480px){.framework-grid{grid-template-columns:repeat(2,1fr)}.checkbox-grid{grid-template-columns:1fr}.scaffolding-tabs{flex-direction:column}.tab-button{justify-content:center;width:100%}}.project-scaffolding{padding:0}.generated-scaffolds-section{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px}.generated-scaffolds-section .section-title{align-items:center;color:#1e293b;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0 0 6px}.generated-scaffolds-section .section-icon{font-size:1.2rem}.generated-scaffolds-section .section-description{color:#64748b;font-size:.875rem;margin:0 0 20px}.scaffold-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.875rem;gap:8px;margin-bottom:16px;padding:10px 14px}.scaffold-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.scaffold-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;transition:box-shadow .2s}.scaffold-card:hover{box-shadow:0 4px 12px #00000014}.scaffold-card.frontend{border-left:3px solid #3b82f6}.scaffold-card.backend{border-left:3px solid #10b981}.scaffold-card-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.scaffold-card-icon{align-items:center;background:#f1f5f9;border-radius:8px;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.scaffold-card-title h4{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.scaffold-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-top:2px;padding:2px 8px;text-transform:uppercase}.scaffold-badge.frontend{background:#dbeafe;color:#1d4ed8}.scaffold-badge.backend{background:#d1fae5;color:#047857}.scaffold-card-details{margin-bottom:16px}.detail-row{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:6px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#64748b}.detail-label,.detail-value{font-size:.8rem;font-weight:500}.detail-value{color:#334155;text-transform:capitalize}.scaffold-download-btn{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s;width:100%}.scaffold-download-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.scaffold-download-btn:disabled{cursor:not-allowed;opacity:.6}.scaffold-download-btn .btn-icon{font-size:1rem}.scaffold-download-btn .btn-spinner{animation:scaffold-spin .8s linear infinite;border:2px solid #94a3b8;border-radius:50%;border-top-color:#0000;display:inline-block;height:14px;width:14px}@keyframes scaffold-spin{to{transform:rotate(1turn)}}.scaffolding-divider{margin:32px 0 24px;position:relative;text-align:center}.scaffolding-divider:before{background:#e2e8f0;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.scaffolding-divider span{background:#f8fafc;color:#64748b;font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:0 16px;position:relative;text-transform:uppercase}@media (max-width:768px){.scaffold-cards{grid-template-columns:1fr}.generated-scaffolds-section{padding:16px}}.github-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.github-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}.github-modal__header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.github-modal__header-left{align-items:center;display:flex;gap:12px}.github-modal__icon{align-items:center;background:#1a1a2e;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.github-modal__title{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 2px}.github-modal__subtitle{color:#6b7280;font-size:13px;margin:0}.github-modal__close{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:28px;justify-content:center;line-height:1;transition:background .15s;width:28px}.github-modal__close:hover{background:#e5e7eb;color:#1a1a2e}.github-modal__body{flex:1 1;overflow-y:auto;padding:20px 24px}.github-modal__security-notice{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;gap:8px}.github-modal-banner,.github-modal__security-notice{align-items:center;border-radius:6px;display:flex;font-size:12px;margin-bottom:16px;padding:10px 14px}.github-modal-banner{flex-wrap:wrap;gap:6px}.github-modal-banner--success{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.github-modal-banner--warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.github-modal-banner__expiry{color:#6b7280}.github-modal-banner__link{background:none;border:none;color:inherit;cursor:pointer;font-size:12px;margin-left:4px;padding:0;text-decoration:underline}.github-modal-banner code{background:#0000000f;border-radius:3px;font-family:monospace;font-size:11px;padding:1px 4px}.github-modal__field{margin-bottom:16px}.github-modal__row{display:flex;gap:12px;margin-bottom:16px}.github-modal__field--half{flex:1 1;margin-bottom:0}.github-modal__label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.github-modal__label{color:#374151;display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.github-modal__label-optional{color:#9ca3af;font-weight:400;letter-spacing:0;text-transform:none}.github-modal__label-link{color:#e67e22;font-size:12px;font-weight:500;text-decoration:none}.github-modal__label-link:hover{text-decoration:underline}.github-modal__input{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1a1a2e;font-family:inherit;font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.github-modal__input:focus{border-color:#e67e22;box-shadow:0 0 0 3px #e67e221a}.github-modal__input--mono{font-family:Courier New,Courier,monospace;font-size:12px;letter-spacing:.02em}.github-modal__input-wrapper{position:relative}.github-modal__input-wrapper .github-modal__input{padding-right:60px}.github-modal__input-toggle{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:11px;padding:0;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.github-modal__input-toggle:hover{color:#374151}.github-modal__field-hint{color:#9ca3af;font-size:11px;line-height:1.5;margin-top:5px}.github-modal__field-hint code{background:#f3f4f6;border-radius:3px;color:#374151;font-family:monospace;font-size:11px;padding:1px 4px}.github-modal__toggle-row{display:flex;gap:8px}.github-modal__toggle{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:13px;padding:8px 12px;text-align:center;transition:all .15s}.github-modal__toggle--active{background:#fff7ed;border-color:#e67e22;color:#c2410c;font-weight:600}.github-modal__warning{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;color:#92400e;font-size:12px;line-height:1.5;margin-top:8px;padding:10px 14px}.github-modal__divider{background:#e5e7eb;height:1px;margin:4px 0 16px}.github-modal__persist-option{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-bottom:8px;padding:12px 14px;transition:all .15s}.github-modal__persist-option:hover{background:#f9fafb;border-color:#d1d5db}.github-modal__persist-option--active{background:#fff7ed;border-color:#e67e22}.github-modal__radio{border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;height:16px;margin-top:1px;transition:all .15s;width:16px}.github-modal__radio--active{border:5px solid #e67e22}.github-modal__persist-title{color:#6b7280;font-size:13px;font-weight:600;margin-bottom:2px}.github-modal__persist-title--active{color:#1a1a2e}.github-modal__persist-desc{color:#9ca3af;font-size:12px;line-height:1.5}.github-modal__footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:16px 24px}.github-modal__footer--end{justify-content:flex-end}.github-modal__footer-note{color:#9ca3af;flex:1 1;font-size:11px}.github-modal__footer-actions{display:flex;flex-shrink:0;gap:10px}.github-modal__pushing{align-items:center;display:flex;flex-direction:column;padding:48px 24px;text-align:center}.github-modal__pushing-spinner{animation:github-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#e67e22;height:36px;margin-bottom:16px;width:36px}@keyframes github-spin{to{transform:rotate(1turn)}}.github-modal__pushing-label{color:#1a1a2e;font-size:15px;font-weight:500;margin:0 0 6px}.github-modal__pushing-sub{color:#6b7280;font-size:13px;margin:0}.github-modal__success{align-items:center;display:flex;flex-direction:column;padding:32px 24px;text-align:center}.github-modal__success-icon{align-items:center;background:#f0fdf4;border:2px solid #bbf7d0;border-radius:50%;color:#16a34a;display:flex;font-size:24px;height:56px;justify-content:center;margin-bottom:16px;width:56px}.github-modal__success-title{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 6px}.github-modal__success-sub{color:#6b7280;font-size:13px;margin:0 0 16px}.github-modal__repo-link{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#e67e22;display:flex;font-family:monospace;font-size:13px;gap:8px;padding:10px 16px;text-decoration:none;word-break:break-all}.github-modal__repo-link:hover{background:#fff7ed;border-color:#e67e22}.github-modal__repo-link-arrow{color:#9ca3af;font-family:sans-serif;font-size:12px;margin-left:auto}.github-modal__token-stored-badge{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;color:#c2410c;display:inline-flex;font-size:12px;gap:6px;margin-top:12px;padding:6px 14px}.github-modal__error-state{align-items:center;display:flex;flex-direction:column;padding:32px 24px;text-align:center}.github-modal__error-icon{align-items:center;background:#fef2f2;border:2px solid #fecaca;border-radius:50%;color:#dc2626;display:flex;font-size:24px;height:56px;justify-content:center;margin-bottom:16px;width:56px}.github-modal__error-title{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 8px}.github-modal__error-message{color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 20px;max-width:360px}@media (max-width:560px){.github-modal{align-self:flex-end;border-radius:12px 12px 0 0;max-height:100vh}.github-modal-overlay{align-items:flex-end;padding:0}.github-modal__row{flex-direction:column}.github-modal__footer{align-items:stretch;flex-direction:column}.github-modal__footer-note{text-align:center}.github-modal__footer-actions{justify-content:stretch}.github-modal__footer-actions .btn{flex:1 1}}.project-files{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.files-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.header-left h2{color:#1a1a2e;font-size:20px;margin:0 0 4px}.header-left p{color:#6b7280;font-size:14px;margin:0}.files-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.files-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:32px;margin-bottom:12px;width:32px}.files-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.files-error button{background:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px}.files-error button:hover{background:#b91c1c}.no-files{padding:60px 20px;text-align:center}.no-files-icon{font-size:48px;margin-bottom:16px}.no-files h3{color:#1a1a2e;font-size:18px;margin:0 0 8px}.no-files p{color:#6b7280;font-size:14px;margin:0}.files-table-container{overflow-x:auto}.files-table{border-collapse:collapse;width:100%}.files-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;padding:12px 16px;text-align:left;text-transform:uppercase}.files-table td{border-bottom:1px solid #e5e7eb;padding:16px;vertical-align:middle}.files-table tr:hover{background:#f9fafb}.files-table tr:last-child td{border-bottom:none}.file-info{align-items:center;display:flex;gap:12px}.file-icon{font-size:20px}.file-name{color:#1a1a2e;word-break:break-all}.file-size{color:#6b7280;font-size:14px}.type-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.type-badge.analysis{background:#dbeafe;color:#1d4ed8}.type-badge.iac{background:#d1fae5;color:#059669}.type-badge.form{background:#fef3c7;color:#d97706}.type-badge.target{background:#e0e7ff;color:#4338ca}.type-badge.other{background:#f3f4f6;color:#6b7280}.btn-small{font-size:13px;padding:6px 12px}.btn-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;margin-right:6px;width:12px}.file-actions{align-items:center;display:flex;gap:8px}.btn-github-icon{align-items:center;background:#fff7ed;border:1px solid #e67e22;border-radius:6px;color:#c2410c;cursor:pointer;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;padding:0;position:relative;transition:all .15s;width:30px}.btn-github-icon:hover{background:#ffedd5;border-color:#c2410c}.btn-github-icon:after{background:#1a1a2e;border-radius:4px;bottom:calc(100% + 6px);color:#fff;content:attr(title);font-size:11px;font-weight:500;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .15s;white-space:nowrap;z-index:10}.btn-github-icon:hover:after{opacity:1}@media (max-width:768px){.files-header{flex-direction:column;gap:16px}.files-table td,.files-table th{padding:12px 8px}.file-info{align-items:flex-start;flex-direction:column;gap:4px}}.project-view{background:#f5f7fa;display:flex;flex-direction:column;height:100%;position:relative}.project-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.project-header-top{align-items:flex-start;display:flex;justify-content:space-between;padding:16px 32px}.project-title-section{display:flex;flex-direction:column;gap:12px}.back-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:0;transition:color .15s}.back-button:hover{color:#1a1a2e}.project-title{align-items:center;display:flex;gap:12px}.project-name-input{background:#0000;border:none;border-radius:6px;color:#1a1a2e;font-size:24px;font-weight:600;margin:-4px -8px;min-width:300px;padding:4px 8px;transition:background .15s}.project-name-input:hover{background:#f3f4f6}.project-name-input:focus{background:#f3f4f6;box-shadow:0 0 0 2px #d35400;outline:none}.project-id{background:#f3f4f6;border-radius:4px;color:#9ca3af;font-family:monospace;font-size:12px;padding:4px 8px}.project-actions{align-items:center;display:flex;gap:12px}.ai-model-selector{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:8px;padding:6px 12px}.ai-selector-label{align-items:center;color:#0369a1;display:flex;font-size:13px;font-weight:500;gap:6px}.ai-icon{font-size:16px}.ai-model-dropdown{background:#fff;border:1px solid #7dd3fc;border-radius:6px;color:#0c4a6e;cursor:pointer;font-size:13px;font-weight:500;min-width:100px;padding:4px 8px}.ai-model-dropdown:hover{background:#f0f9ff;border-color:#38bdf8}.ai-model-dropdown:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0ea5e926;outline:none}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.status-badge .dot{border-radius:50%;height:8px;width:8px}.status-badge.in-progress,.status-badge.in_progress{background:#dbeafe;color:#1d4ed8}.status-badge.in-progress .dot,.status-badge.in_progress .dot{background:#3b82f6}.status-badge.completed{background:#d1fae5;color:#047857}.status-badge.completed .dot{background:#10b981}.status-badge.draft{background:#f3f4f6;color:#6b7280}.status-badge.draft .dot{background:#9ca3af}.project-tabs{border-top:1px solid #e5e7eb;display:flex;gap:0;overflow-x:auto;padding:0 32px}.project-tabs .tab{align-items:center;border-bottom:2px solid #0000;color:#6b7280;display:flex;font-size:14px;font-weight:500;gap:8px;padding:14px 20px;text-decoration:none;transition:all .15s;white-space:nowrap}.project-tabs .tab:hover{background:#f9fafb;color:#1a1a2e}.project-tabs .tab.active{border-bottom-color:#d35400;color:#d35400}.project-tabs .tab.pending{cursor:not-allowed;opacity:.5}.project-tabs .tab.skipped{opacity:.6}.tab-icon{font-size:16px}.tab-indicator{align-items:center;border-radius:50%;display:inline-flex;font-size:11px;font-weight:600;height:18px;justify-content:center;width:18px}.tab-indicator.complete{background:#10b981;color:#fff}.tab-indicator.skipped{background:#e5e7eb;color:#9ca3af}.tab-indicator.current{background:#3b82f6;height:8px;width:8px}.project-content{flex:1 1;overflow-y:auto;padding:24px 32px}.auto-save-indicator{align-items:center;background:#fff;border-radius:8px;bottom:24px;box-shadow:0 2px 8px #00000026;color:#6b7280;display:flex;font-size:13px;gap:8px;padding:10px 16px;position:fixed;right:24px;z-index:100}.auto-save-indicator .dot{background:#10b981;border-radius:50%;height:8px;width:8px}.auto-save-indicator.saving .dot{animation:pulse 1s ease-in-out infinite;background:#f59e0b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.project-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#d35400;height:40px;width:40px}.project-error{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;text-align:center}.project-error h2{color:#1a1a2e;font-size:24px}.project-error p{color:#6b7280}.error-actions{display:flex;gap:12px;margin-top:8px}.coming-soon-tab{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:60px 40px;text-align:center}.coming-soon-tab h2{color:#1a1a2e;font-size:24px;margin-bottom:12px}.coming-soon-tab p{color:#6b7280;font-size:16px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .15s}.btn-primary{background:#d35400;color:#fff}.btn-primary:hover{background:#b84700}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}@media (max-width:1024px){.project-header-top{padding:16px 20px}.project-tabs{padding:0 20px}.project-content{padding:20px}.project-name-input{font-size:20px;min-width:200px}}@media (max-width:768px){.project-header-top{flex-direction:column;gap:12px}.project-tabs .tab{font-size:13px;padding:12px 14px}.tab-icon{display:none}.auto-save-indicator{bottom:16px;justify-content:center;left:16px;right:16px}}.assessment-module{background:#f8fafc;min-height:100vh}.module-header{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;padding:2rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.module-header.results-header{background:linear-gradient(135deg,#1e3a5f,#0f172a);border-bottom:none}.results-header .header-text h1{color:#fff}.results-header .header-text p{color:#ffffffb3}.header-content{gap:2rem;justify-content:space-between;width:100%}.header-text{flex:1 1 auto;min-width:0}.header-content h1{color:#0f172a;font-size:1.875rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.header-content p{color:#64748b;font-size:1rem;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.view-diagram-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease;white-space:nowrap}.view-diagram-button:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.view-diagram-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.view-diagram-button svg{height:20px;width:20px}.download-analysis-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 14px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease;white-space:nowrap}.download-analysis-button:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.download-analysis-button svg{height:20px;width:20px}.new-assessment-button{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease;white-space:nowrap}.new-assessment-button:hover{background:#fff3;border-color:#ffffff4d}.new-assessment-button svg{height:20px;width:20px}.generate-defaults-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:10px;box-shadow:0 4px 14px #8b5cf64d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.generate-defaults-button:hover{box-shadow:0 6px 20px #8b5cf666;transform:translateY(-2px)}.generate-defaults-button:active{transform:translateY(0)}.generate-defaults-button svg{height:18px;width:18px}.progress-indicator{align-items:center;display:flex;gap:1rem;margin-top:1.5rem}.progress-bar{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-text{color:#64748b;font-size:.875rem;font-weight:600;white-space:nowrap}.module-content{margin:0 auto;max-width:1400px;padding:2rem}.tabs-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs-header{background:#f8fafc;border-bottom:2px solid #e2e8f0;display:flex;flex-wrap:nowrap;overflow:hidden}.tab-button{border-right:1px solid #e2e8f0;flex:1 1;flex-direction:column;font-family:inherit;font-size:.875rem;gap:.35rem;min-width:90px;padding:1rem .75rem;position:relative;transition:all .2s ease}.tab-button:last-child{border-right:none}.tab-button:hover:not(.active){background:#f1f5f9}.tab-button.active{background:#fff;box-shadow:inset 0 -3px 0 #3b82f6;color:#3b82f6}.tab-button.completed{color:#10b981}.tab-icon{font-size:1.25rem}.tab-name{font-size:.7rem;white-space:nowrap}.check-icon{color:#10b981;height:16px;position:absolute;right:8px;top:8px;width:16px}.tab-content{padding:2.5rem}.questions-container{display:flex;flex-direction:column;gap:2.5rem;margin-bottom:2.5rem}.question-item{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.question-item:last-child{border-bottom:none;padding-bottom:0}.question-label{align-items:flex-start;color:#0f172a;display:flex;font-size:1rem;font-weight:600;gap:1rem}.question-number{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:32px;justify-content:center;width:32px}.question-text{flex:1 1;padding-top:.375rem}.required-mark{color:#ef4444;margin-left:.25rem}.question-input{margin-left:48px}.question-input input[type=number],.question-input input[type=text],.question-input select{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.question-input input:focus,.question-input select:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.question-input select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer;padding-right:2.5rem}.multiselect-options{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.multiselect-container{display:flex;flex-direction:column;gap:1rem}.other-input-container{margin-top:.5rem;padding-left:0}.other-input{background:#eff6ff;border:2px solid #3b82f6;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.other-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px #3b82f626;outline:none}.other-input::placeholder{color:#64748b}.question-textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;line-height:1.5;min-height:100px;padding:.875rem 1rem;resize:vertical;transition:all .2s ease;width:100%}.question-textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.checkbox-label{align-items:flex-start;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;color:#334155;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.625rem;line-height:1.4;padding:.5rem .75rem;transition:all .2s ease}.checkbox-label:hover{background:#f1f5f9;border-color:#cbd5e1}.checkbox-label input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.checkbox-label input[type=checkbox]:checked~span{color:#0f172a;font-weight:600}.tab-navigation{align-items:center;border-top:1px solid #e2e8f0;justify-content:space-between;padding-top:2rem}.nav-button{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.nav-button svg{height:20px;width:20px}.nav-button.secondary{background:#f1f5f9;color:#64748b}.nav-button.secondary:hover:not(:disabled){background:#e2e8f0;color:#475569}.nav-button.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 14px #3b82f64d;color:#fff}.nav-button.primary:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.nav-button.submit{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b9814d;color:#fff}.nav-button.submit:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.nav-button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.results-container{animation:fadeIn .5s ease;display:flex;flex-direction:column;gap:2rem}.result-section{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.result-section h3{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;color:#0f172a;display:flex;font-size:1.125rem;font-weight:700;gap:.75rem;margin:0;padding:1.25rem 1.5rem}.result-section h3 svg{color:#3b82f6;height:24px;width:24px}.result-section.recommended{border:2px solid #10b981;box-shadow:0 4px 12px #10b98126}.result-section.recommended h3{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-bottom-color:#a7f3d0}.result-section.recommended h3 svg{color:#10b981}.result-section.alternate{border:2px solid #8b5cf6;box-shadow:0 4px 12px #8b5cf626}.result-section.alternate h3{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-bottom-color:#c4b5fd}.result-section.alternate h3 svg{color:#8b5cf6}.recommendation-badge{background:linear-gradient(135deg,#10b981,#059669);font-size:.75rem;letter-spacing:.5px;margin-left:.5rem;text-transform:uppercase}.recommendation-badge,.review-notice{border-radius:20px;color:#fff;font-weight:600;padding:.25rem .75rem}.review-notice{background:linear-gradient(135deg,#f59e0b,#d97706);font-size:.7rem;letter-spacing:.3px;margin-left:auto;white-space:nowrap}.alternate-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-left:.5rem;padding:.25rem .75rem;text-transform:uppercase}.result-content{padding:1.5rem}.result-content pre{word-wrap:break-word;color:#334155;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.7;margin:0;white-space:pre-wrap}.result-content pre strong{color:#1e293b;font-weight:700}.diagram-cta-section{background:linear-gradient(135deg,#1e3a5f,#0f172a);border-radius:16px;box-shadow:0 4px 20px #0f172a33;overflow:hidden}.diagram-cta-content{align-items:center;display:flex;gap:1.5rem;padding:2rem}.diagram-cta-icon{align-items:center;background:#10b98126;border-radius:12px;display:flex;flex-shrink:0;height:64px;justify-content:center;width:64px}.diagram-cta-icon svg{color:#10b981;height:32px;width:32px}.diagram-cta-text{flex:1 1}.diagram-cta-text h4{color:#fff;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.diagram-cta-text p{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0}.diagram-cta-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 1.75rem;transition:all .2s ease;white-space:nowrap}.diagram-cta-button:hover:not(:disabled){box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.diagram-cta-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.diagram-cta-button svg{height:20px;width:20px}.diagram-fullscreen{animation:slideIn .3s ease;background:#f8fafc;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}.diagram-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f172a);border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem 2rem}.diagram-header h2{align-items:center;color:#fff;display:flex;font-size:1.25rem;font-weight:700;gap:.75rem;margin:0}.diagram-header h2 svg{color:#10b981;height:24px;width:24px}.diagram-header-actions{display:flex;gap:1rem}.diagram-action-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.diagram-action-button:hover{background:#fff3}.diagram-action-button svg{height:18px;width:18px}.diagram-close-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 10px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.diagram-close-button:hover{box-shadow:0 4px 15px #3b82f666;transform:translateY(-1px)}.diagram-close-button svg{height:18px;width:18px}.diagram-content{flex:1 1;overflow:hidden;padding:1rem}.diagram-iframe{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 20px #0000001a;height:100%;width:100%}.notes-container{padding:1rem 0}.notes-container h3{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.notes-container p{color:#64748b;font-size:.95rem;margin:0 0 1.5rem}.notes-textarea{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;color:#0f172a;font-family:inherit;font-size:.95rem;line-height:1.6;min-height:300px;padding:1rem;resize:vertical;transition:all .2s ease;width:100%}.notes-textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.upload-container{padding:1rem 0}.upload-container h3{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.upload-container p{color:#64748b;font-size:.95rem;margin:0 0 1rem}.upload-subtitle{color:#94a3b8!important;font-size:.85rem!important;margin-bottom:2rem!important}.upload-dropzone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;padding:3rem 2rem;text-align:center;transition:all .2s ease}.upload-dropzone:hover{background:#eff6ff;border-color:#3b82f6}.upload-label{align-items:center;color:#64748b;cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:1rem}.upload-label svg{color:#3b82f6;height:48px;width:48px}.upload-label span{font-size:1rem}.uploaded-files-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:2rem;padding:1.5rem}.uploaded-files-list h4{color:#0f172a;font-size:1rem;font-weight:700;margin:0 0 1rem}.uploaded-file-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.875rem 1rem;transition:all .2s ease}.uploaded-file-item:hover{box-shadow:0 2px 8px #0000000d}.uploaded-file-item svg{color:#3b82f6;flex-shrink:0;height:24px;width:24px}.file-name{color:#0f172a;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#94a3b8;font-size:.85rem}.remove-file-button{align-items:center;background:#fee2e2;border:none;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;font-size:1rem;font-weight:700;height:28px;justify-content:center;transition:all .2s ease;width:28px}.remove-file-button:hover{background:#fecaca}@media (max-width:1024px){.multiselect-options{grid-template-columns:repeat(2,1fr)}.header-content{align-items:stretch;flex-direction:column;gap:1rem}.header-buttons{align-self:flex-end}.header-actions{flex-direction:column;width:100%}.generate-defaults-button,.new-assessment-button,.view-diagram-button{justify-content:center;width:100%}.diagram-cta-content{flex-direction:column;text-align:center}.diagram-cta-button{justify-content:center;width:100%}}.review-container{padding:1rem 0}.review-header{align-items:flex-start;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.review-header h3{color:#0f172a;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.review-header p{color:#64748b;font-size:.95rem;margin:0}.download-pdf-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:10px;box-shadow:0 4px 14px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.download-pdf-button:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.download-pdf-button svg{height:18px;width:18px}.review-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.review-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.review-section-title{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f172a);color:#fff;display:flex;font-size:1rem;font-weight:600;gap:.75rem;margin:0;padding:1rem 1.25rem}.review-section-icon{font-size:1.25rem}.review-questions{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.review-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem}.review-question{color:#64748b;font-size:.85rem;font-weight:600;margin-bottom:.375rem}.review-answer{color:#0f172a;font-size:.95rem;line-height:1.5}.review-empty{color:#94a3b8;font-style:italic}.review-notes{color:#0f172a;line-height:1.6;padding:1rem 1.25rem;white-space:pre-wrap}.review-files{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem}.review-file-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:.5rem;padding:.5rem .75rem}.review-file-item svg{color:#3b82f6;flex-shrink:0;height:20px;width:20px}.review-file-size{color:#94a3b8;font-size:.85rem;margin-left:auto}.review-submit-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;padding:2rem;text-align:center}.review-submit-info{align-items:center;color:#0369a1;display:flex;font-size:.95rem;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.review-submit-info svg{flex-shrink:0;height:24px;width:24px}.nav-button.submit.large{font-size:1.1rem;min-width:300px;padding:1rem 2rem}.nav-button.submit.large svg{height:24px;width:24px}@media (max-width:768px){.module-content,.module-header,.tab-content{padding:1.5rem}.multiselect-options{grid-template-columns:1fr}.tabs-header{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab-button{min-width:70px;padding:.75rem .5rem}.tab-icon{font-size:1.1rem}.tab-name{font-size:.6rem}.question-input{margin-left:0}.question-label{align-items:flex-start;flex-direction:column}.diagram-header{flex-direction:column;gap:1rem;padding:1rem}.diagram-header-actions{flex-direction:column;width:100%}.diagram-action-button,.diagram-close-button{justify-content:center;width:100%}.review-header{flex-direction:column;gap:1rem}.download-pdf-button{justify-content:center;width:100%}.nav-button.submit.large{min-width:auto;width:100%}}.generate-project-button{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.generate-project-button:hover{box-shadow:0 4px 12px #8b5cf666;transform:translateY(-2px)}.generate-project-button svg{height:18px;width:18px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.generate-modal .modal-header{align-items:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-bottom:2px solid #e2e8f0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.generate-modal .modal-header h2{align-items:center;color:#5b21b6;display:flex;font-size:1.25rem;gap:.75rem;margin:0}.generate-modal .modal-header h2 svg{height:24px;width:24px}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.75rem;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#1e293b}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.form-group input[type=text],.form-group select{border:2px solid #e2e8f0;border-radius:8px;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .2s;width:100%}.form-group input[type=text]:focus,.form-group select:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.checkbox-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.checkbox-option{border:1.5px solid #e2e8f0;color:#374151;font-size:.875rem;gap:.5rem;padding:.75rem;transition:all .2s}.checkbox-option:hover{border-color:#cbd5e1}.checkbox-option input[type=checkbox]{accent-color:#8b5cf6;height:16px;width:16px}.checkbox-option input[type=checkbox]:checked+span{color:#5b21b6;font-weight:500}.architecture-selection{margin-bottom:1.5rem}.architecture-options{display:flex;gap:1rem}.architecture-option{align-items:flex-start;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex:1 1;padding:1rem;transition:all .2s ease}.architecture-option:hover:not(.disabled){background:#faf5ff;border-color:#a78bfa}.architecture-option.selected{background:#f5f3ff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.architecture-option.disabled{background:#f1f5f9;cursor:not-allowed;opacity:.5}.architecture-option input[type=radio]{accent-color:#8b5cf6;cursor:pointer;height:18px;margin-right:.75rem;margin-top:3px;width:18px}.architecture-option.disabled input[type=radio]{cursor:not-allowed}.architecture-option .option-content{display:flex;flex-direction:column;gap:.25rem}.architecture-option .option-label{align-items:center;color:#1e293b;display:flex;font-size:1rem;font-weight:600;gap:.5rem}.architecture-option .option-icon{height:18px;width:18px}.architecture-option .option-icon.recommended-icon{color:#f59e0b}.architecture-option .option-icon.alternate-icon{color:#6366f1}.architecture-option.selected .option-label{color:#5b21b6}.architecture-option .option-description{color:#64748b;font-size:.8rem;line-height:1.4}.architecture-option.disabled .option-description{color:#94a3b8}.modal-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:.875rem;gap:.75rem;line-height:1.5;padding:1rem}.modal-info svg{flex-shrink:0;height:20px;margin-top:2px;width:20px}.modal-footer{background:#f8fafc;border-radius:0 0 16px 16px;border-top:2px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.modal-cancel{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-family:inherit;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.modal-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.modal-generate{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.modal-generate:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}.modal-generate:disabled{cursor:not-allowed;opacity:.6}.modal-generate svg{height:18px;width:18px}@media (max-width:640px){.modal-content{margin:10px;max-width:100%}.checkbox-grid{grid-template-columns:1fr}.architecture-options,.modal-footer{flex-direction:column}.modal-cancel,.modal-generate{justify-content:center;width:100%}}.ai-provider-modal .modal-header{align-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom:2px solid #e2e8f0;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.ai-provider-modal .modal-header h2{align-items:center;color:#1e40af;display:flex;font-size:1.25rem;gap:.75rem;margin:0}.ai-provider-modal .modal-header h2 svg{height:24px;width:24px}.ai-provider-description{color:#64748b;font-size:.95rem;margin-bottom:1.5rem}.ai-provider-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.ai-provider-option{background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:block;padding:1rem;transition:all .2s ease}.ai-provider-option:hover:not(.disabled){background:#f8fafc;border-color:#3b82f6}.ai-provider-option.selected{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ai-provider-option.disabled{background:#f8fafc;cursor:not-allowed;opacity:.6}.ai-provider-option input{display:none}.ai-provider-content{align-items:center;display:flex;gap:1rem}.ai-provider-icon{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.ai-provider-info{flex:1 1}.ai-provider-name{align-items:center;color:#1e293b;display:flex;font-size:1.05rem;font-weight:600;gap:.5rem}.ai-provider-company{color:#64748b;font-size:.85rem;margin-top:.125rem}.ai-provider-desc{color:#94a3b8;font-size:.8rem;margin-top:.25rem}.default-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);font-weight:600}.coming-soon-badge,.default-badge{border-radius:9999px;color:#fff;font-size:.65rem;letter-spacing:.025em;padding:.2rem .5rem;text-transform:uppercase}.coming-soon-badge{background:linear-gradient(135deg,#94a3b8,#64748b)}.ai-provider-check{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.ai-provider-check svg{color:#3b82f6;height:20px;width:20px}.ai-analyze-button{background:linear-gradient(135deg,#3b82f6,#2563eb)!important}.ai-analyze-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;box-shadow:0 6px 20px #2563eb66;transform:translateY(-2px)}.ai-provider-section{border-top:2px solid #e2e8f0;margin-top:.5rem;padding-top:1.5rem}.ai-provider-select-grid{display:flex;flex-wrap:wrap;gap:.75rem}.ai-provider-select-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;gap:.5rem;min-width:120px;padding:.625rem 1rem;transition:all .2s ease}.ai-provider-select-option:hover:not(.disabled){background:#faf5ff;border-color:#8b5cf6}.ai-provider-select-option.selected{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.ai-provider-select-option.disabled{background:#f8fafc;cursor:not-allowed;opacity:.5}.ai-provider-select-option input{display:none}.ai-provider-select-icon{font-size:1.25rem}.ai-provider-select-name{color:#374151;font-size:.9rem;font-weight:600}.ai-provider-default-tag{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.ai-provider-default-tag,.ai-provider-soon-tag{border-radius:9999px;color:#fff;font-size:.6rem;font-weight:600;letter-spacing:.025em;margin-left:auto;padding:.15rem .4rem;text-transform:uppercase}.ai-provider-soon-tag{background:#94a3b8}@media (max-width:640px){.ai-provider-select-grid{flex-direction:column}.ai-provider-select-option{min-width:100%}.ai-provider-content{flex-wrap:wrap}.ai-provider-icon{font-size:1.5rem;height:40px;width:40px}.ai-provider-info{flex-basis:calc(100% - 60px);flex-grow:1;flex-shrink:1}.ai-provider-check{position:absolute;right:1rem;top:1rem}.ai-provider-option{position:relative}}.review-header-actions{margin-top:1rem}.domain-recs-section,.review-header-actions{display:flex;flex-direction:column;gap:1rem}.domain-recs-ai-selector{align-items:center;display:flex;gap:.75rem}.domain-recs-ai-selector label{color:#374151;font-size:.9rem;font-weight:600;white-space:nowrap}.domain-recs-ai-selector select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;border:2px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 2rem .5rem .75rem;transition:all .2s ease}.domain-recs-ai-selector select:hover{border-color:#cbd5e1}.domain-recs-ai-selector select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.domain-recs-ai-selector select:disabled{cursor:not-allowed;opacity:.6}.review-buttons-row{display:flex;flex-direction:column;gap:.75rem}.review-button-wrapper{align-items:center;display:flex;flex-direction:column;gap:.25rem}.button-time-estimate{color:#6b7280;font-size:.75rem;font-style:italic}.review-action-button{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;min-width:280px;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap;width:100%}.review-action-button svg{flex-shrink:0;height:18px;width:18px}.review-action-button.analyze-button{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 14px #f59e0b4d}.review-action-button.analyze-button:hover:not(:disabled){box-shadow:0 6px 20px #f59e0b66;transform:translateY(-2px)}.review-action-button.analyze-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.review-action-button.analyze-button.loading{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.review-action-button.domain-recs-button{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 14px #6366f14d}.review-action-button.domain-recs-button:hover:not(:disabled){box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.review-action-button.domain-recs-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.review-action-button.domain-recs-button.loading{background:linear-gradient(135deg,#818cf8,#6366f1)}.review-action-button.download-recs-pdf-button{animation:fadeIn .3s ease;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b9814d}.review-action-button.download-recs-pdf-button:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.review-action-button.download-pdf-button{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 4px 14px #64748b4d}.review-action-button.download-pdf-button:hover{box-shadow:0 6px 20px #64748b66;transform:translateY(-2px)}.domain-recs-error{color:#dc2626;font-size:.875rem;font-weight:500}@media (max-width:768px){.domain-recs-ai-selector,.domain-recs-section,.review-header-actions{align-items:stretch;flex-direction:column}.domain-recs-ai-selector{gap:.5rem}.domain-recs-ai-selector select{width:100%}.review-buttons-row{flex-direction:column}.review-action-button{min-width:0;min-width:auto;width:100%}}.diagram-cta-section.iac-cta{background:linear-gradient(135deg,#5b21b6,#4c1d95);border:none;margin-top:1rem}.diagram-cta-section.iac-cta .diagram-cta-text h4{color:#fff}.diagram-cta-section.iac-cta .diagram-cta-text p{color:#ffffffd9}.diagram-cta-icon.iac-icon{background:#ffffff26}.diagram-cta-icon.iac-icon svg{color:#fff}.diagram-cta-button.iac-button{background:#fff;box-shadow:0 4px 14px #0003;color:#5b21b6}.diagram-cta-button.iac-button:hover:not(:disabled){background:#f5f3ff;box-shadow:0 6px 20px #00000040}.header-buttons{align-items:center;display:flex;flex-shrink:0;gap:.75rem;margin-left:auto}.autofill-button{align-items:center;background:linear-gradient(135deg,#059669,#047857);border:none;border-radius:8px;box-shadow:0 2px 8px #05966940;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.autofill-button:hover{background:linear-gradient(135deg,#047857,#065f46);box-shadow:0 4px 12px #05966959;transform:translateY(-1px)}.autofill-button svg{height:18px;width:18px}.autofill-modal{max-width:600px;width:90%}.autofill-description{color:#64748b;line-height:1.6;margin-bottom:1.5rem}.autofill-upload-section{margin-bottom:1.5rem}.autofill-dropzone{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;padding:2rem;text-align:center;transition:all .2s ease}.autofill-dropzone:hover{background:#f0fdf4;border-color:#059669}.autofill-upload-label{align-items:center;color:#64748b;cursor:pointer;display:flex;flex-direction:column;gap:.75rem}.autofill-upload-label svg{color:#059669;height:48px;width:48px}.autofill-upload-label span:first-of-type:not(.upload-hint){color:#1e293b;font-size:1rem;font-weight:500}.upload-hint{color:#94a3b8;font-size:.75rem}.selected-file-info{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;display:flex;gap:.75rem;margin-top:1rem;padding:1rem}.selected-file-info svg{color:#059669;flex-shrink:0;height:24px;width:24px}.selected-file-info .file-name{color:#1e293b;flex:1 1;font-weight:500}.selected-file-info .file-size{color:#64748b;font-size:.875rem}.remove-file-btn{background:none;border:none;border-radius:4px;color:#64748b;cursor:pointer;padding:.25rem .5rem;transition:all .2s ease}.remove-file-btn:hover{background:#fef2f2;color:#dc2626}.autofill-provider-section{margin-bottom:1.5rem}.provider-label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.provider-select-row{display:flex;flex-wrap:wrap;gap:.75rem}.provider-chip{align-items:center;background:#f1f5f9;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;padding:.625rem 1rem;transition:all .2s ease}.provider-chip:hover{background:#e2e8f0}.provider-chip.selected{background:#f0fdf4;border-color:#059669}.provider-chip input{display:none}.provider-chip-icon{font-size:1.125rem}.provider-chip-name{color:#1e293b;font-size:.875rem;font-weight:500}.autofill-error{align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.autofill-error svg{color:#dc2626;flex-shrink:0;height:20px;margin-top:2px;width:20px}.autofill-error span{color:#991b1b;font-size:.875rem;line-height:1.5}.autofill-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:1rem;padding:1.25rem}.success-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.success-header svg{color:#059669;height:24px;width:24px}.success-header span{color:#065f46;font-size:1.125rem;font-weight:600}.success-stats{display:flex;gap:2rem;margin-bottom:1rem}.success-stats .stat{display:flex;flex-direction:column;gap:.25rem}.success-stats .stat-value{color:#059669;font-size:1.5rem;font-weight:700}.success-stats .stat-label{color:#64748b;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.extraction-notes{background:#fff9;border-radius:6px;color:#374151;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.extracted-preview{border-top:1px solid #bbf7d0;padding-top:1rem}.extracted-preview>strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.75rem}.preview-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.preview-item{background:#fff9;border-radius:4px;display:flex;font-size:.8125rem;gap:.5rem;padding:.5rem}.preview-key{color:#64748b;flex-shrink:0;min-width:140px;text-transform:capitalize}.preview-value{color:#1e293b;font-weight:500;word-break:break-word}.preview-more{color:#64748b;font-size:.8125rem;font-style:italic;padding:.5rem}.autofill-modal .autofill-info{background:#f0f9ff;border:1px solid #bae6fd}.autofill-modal .autofill-info svg{color:#0284c7}.autofill-modal .autofill-info p{color:#0369a1}.autofill-extract-button{background:linear-gradient(135deg,#059669,#047857)}.autofill-extract-button:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46)}.autofill-apply-button{background:linear-gradient(135deg,#059669,#047857)}.autofill-apply-button:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46)}@media (max-width:640px){.header-buttons{align-items:stretch;flex-direction:column}.autofill-button{justify-content:center}.success-stats{flex-direction:column;gap:1rem}.preview-item{flex-direction:column;gap:.25rem}.preview-key{min-width:auto}}.iac-module{background:#f8fafc;display:flex;flex-direction:column;min-height:calc(100vh - 120px)}.iac-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:24px 32px}.header-content,.iac-header{align-items:center;display:flex}.header-content{gap:16px}.header-icon{align-items:center;background:linear-gradient(135deg,#7c3aed,#5b21b6);border-radius:14px;box-shadow:0 4px 12px #7c3aed40;display:flex;height:56px;justify-content:center;width:56px}.header-icon svg{color:#fff;height:28px;width:28px}.header-text h1{color:#0f172a}.header-text p{color:#64748b;margin:4px 0 0}.ai-selector{align-items:center;background:#f1f5f9;border-radius:10px;display:flex;gap:12px;padding:8px 16px}.ai-selector label{color:#64748b;font-size:13px;font-weight:500}.ai-selector select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:8px 12px;transition:all .2s}.ai-selector select:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.tab-navigation{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:0;padding:16px 32px 0}.tab-button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;margin-bottom:-1px;padding:14px 24px;transition:all .2s}.tab-button:hover{background:#faf5ff;color:#7c3aed}.tab-button.active{background:#0000;border-bottom-color:#7c3aed;color:#7c3aed}.tab-button svg{height:18px;width:18px}.tab-badge{background:#7c3aed;border-radius:10px;color:#fff;font-size:11px;font-weight:600;margin-left:4px;padding:2px 8px}.iac-main{flex:1 1;padding:24px 32px}.structured-content{width:100%}.config-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;overflow:hidden;transition:all .2s}.config-section:hover{border-color:#cbd5e1}.section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background .2s;-webkit-user-select:none;user-select:none}.section-header:hover{background:#f8fafc}.section-title{align-items:center;display:flex;gap:12px}.section-icon{font-size:20px}.section-title h3{color:#1e293b;font-size:15px;font-weight:600;margin:0}.section-badge{background:#7c3aed;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:3px 10px}.chevron-icon{color:#94a3b8;height:20px;transition:transform .2s;width:20px}.config-section.expanded .chevron-icon{transform:rotate(180deg)}.section-content{animation:slideDown .2s ease;border-top:1px solid #f1f5f9;padding:0 20px 20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding-top:16px}.input-field{display:flex;flex-direction:column;gap:6px}.input-field label{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.input-field input,.input-field select{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.input-field input:focus,.input-field select:focus{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.input-field input::placeholder{color:#94a3b8}.modules-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding-top:16px}.module-card{align-items:flex-start;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:16px;transition:all .2s}.module-card:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.module-card.selected,.module-card:hover{background:#fff;border-color:#7c3aed;border-color:var(--module-color,#7c3aed)}.module-card.selected{box-shadow:0 4px 12px #00000014}.module-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:6px;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;transition:all .2s;width:24px}.module-card.selected .module-checkbox{background:#7c3aed;background:var(--module-color,#7c3aed);border-color:#7c3aed;border-color:var(--module-color,#7c3aed)}.module-checkbox svg{color:#fff;height:14px;opacity:0;transform:scale(.5);transition:all .2s;width:14px}.module-card.selected .module-checkbox svg{opacity:1;transform:scale(1)}.module-icon{font-size:28px;line-height:1}.module-info{flex:1 1;min-width:0}.module-name{color:#1e293b;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.module-desc{color:#64748b;display:block;font-size:12px;line-height:1.4}.options-panel{padding-top:16px}.options-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.options-row.triple{grid-template-columns:repeat(3,1fr)}.toggles-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.toggle-option{align-items:center;background:#f8fafc;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .2s}.toggle-option:hover{background:#f1f5f9}.toggle-text{display:flex;flex-direction:column;gap:2px}.toggle-label{color:#1e293b;font-size:14px;font-weight:500}.toggle-desc{color:#94a3b8;font-size:11px}.toggle-switch{background:#cbd5e1;border-radius:12px;cursor:pointer;flex-shrink:0;height:24px;position:relative;transition:background .2s;width:44px}.toggle-switch.active{background:#7c3aed}.toggle-slider{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.toggle-switch.active .toggle-slider{transform:translateX(20px)}.output-options{display:flex;flex-direction:column;gap:8px;padding-top:16px}.checkbox-option{align-items:center;background:#f8fafc;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:background .2s}.checkbox-option:hover{background:#f1f5f9}.checkbox-option input{display:none}.checkbox-box{align-items:center;border:2px solid #cbd5e1;border-radius:5px;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s;width:20px}.checkbox-option input:checked+.checkbox-box{background:#7c3aed;border-color:#7c3aed}.checkbox-box svg{color:#fff;height:12px;opacity:0;transition:opacity .2s;width:12px}.checkbox-option input:checked+.checkbox-box svg{opacity:1}.checkbox-label{color:#475569;font-size:14px}.checkbox-text{display:flex;flex-direction:column;gap:2px}.checkbox-desc{color:#94a3b8;font-size:11px}.compliance-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding-top:16px}.compliance-card{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:all .2s}.compliance-card:hover{background:#fff;border-color:#7c3aed}.compliance-card.selected{background:#faf5ff;border-color:#7c3aed}.compliance-check{align-items:center;border:2px solid #cbd5e1;border-radius:6px;display:flex;flex-shrink:0;height:22px;justify-content:center;transition:all .2s;width:22px}.compliance-card.selected .compliance-check{background:#7c3aed;border-color:#7c3aed}.compliance-check svg{color:#fff;height:12px;opacity:0;width:12px}.compliance-card.selected .compliance-check svg{opacity:1}.compliance-info{display:flex;flex-direction:column;gap:2px}.compliance-name{color:#1e293b;font-size:14px;font-weight:600}.compliance-desc{color:#64748b;font-size:11px}.freeform-content{box-sizing:border-box;margin:0 auto;max-width:1000px;padding:0 20px;width:100%}.preloaded-banner{align-items:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:12px;display:flex;gap:16px;margin-bottom:24px;padding:16px 20px}.preloaded-icon{align-items:center;background:#7c3aed;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.preloaded-icon svg{color:#fff;height:22px;width:22px}.preloaded-text{flex:1 1}.preloaded-text strong{color:#5b21b6;display:block;font-size:14px;margin-bottom:2px}.preloaded-clear,.preloaded-text span{color:#7c3aed;font-size:13px}.preloaded-clear{background:#fff;border:1px solid #c4b5fd;border-radius:8px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.preloaded-clear:hover{background:#7c3aed;color:#fff}.freeform-group{margin-bottom:24px}.freeform-group label{color:#1e293b;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.freeform-hint{color:#64748b;font-size:13px;margin:0 0 12px}.freeform-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#1e293b;font-family:inherit;font-size:14px;line-height:1.6;outline:none;padding:16px;resize:vertical;transition:all .2s;width:100%}.freeform-group textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.freeform-group textarea::placeholder{color:#94a3b8}.freeform-settings{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.freeform-settings h4{color:#475569;font-size:14px;font-weight:600;margin:0 0 16px}.quick-settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.iac-footer{background:#fff;border-top:1px solid #e2e8f0;padding:20px 32px}.message{align-items:center;animation:slideIn .3s ease;border-radius:10px;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:14px 18px}.message svg{flex-shrink:0;height:20px;width:20px}.message span{flex:1 1}.message button{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:0}.message button:hover{opacity:1}.message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.message.success{background:#f0fdf4;border:1px solid #86efac;color:#16a34a}.generate-section{align-items:center;display:flex;justify-content:space-between}.generate-info{display:flex;flex-direction:column;gap:4px}.generate-info p{color:#475569;font-size:15px;margin:0}.generate-info strong{color:#1e293b}.generate-info span{color:#94a3b8;font-size:13px}.generate-button{align-items:center;background:linear-gradient(135deg,#7c3aed,#5b21b6);border:none;border-radius:12px;box-shadow:0 4px 14px #7c3aed59;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:14px 32px;transition:all .3s}.generate-button:hover:not(:disabled){box-shadow:0 6px 20px #7c3aed73;transform:translateY(-2px)}.generate-button:active:not(:disabled){transform:translateY(0)}.generate-button:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed}.generate-button svg{height:18px;width:18px}.generate-button.loading{pointer-events:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:1200px){.modules-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.toggles-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.iac-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 24px}.ai-selector{justify-content:space-between;width:100%}.tab-navigation{padding:12px 24px 0}.tab-button{font-size:13px;padding:12px 16px}.iac-main{padding:20px 24px}.quick-settings-grid{grid-template-columns:1fr}.generate-section{flex-direction:column;gap:16px}.generate-info{align-items:center;text-align:center}.generate-button{justify-content:center;width:100%}}@media (max-width:640px){.compliance-grid,.modules-grid,.options-row,.options-row.triple,.settings-grid,.toggles-grid{grid-template-columns:1fr}.module-card{padding:14px}.module-icon{font-size:24px}.iac-footer{padding:16px 24px}}.iac-main::-webkit-scrollbar{width:8px}.iac-main::-webkit-scrollbar-track{background:#f1f5f9}.iac-main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.iac-main::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media print{.iac-module{background:#fff}.ai-selector,.generate-button,.tab-navigation{display:none}}.download-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.download-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:440px;padding:32px;text-align:center;width:90%}.download-modal-icon{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.download-modal-icon svg{color:#fff;height:32px;width:32px}.download-modal h3{color:#1e293b;font-size:20px;font-weight:600;margin:0 0 12px}.download-modal-filename{background:linear-gradient(135deg,#f0e6ff,#e8f0ff);border-radius:20px;color:#7c3aed;display:inline-block;font-family:SF Mono,Fira Code,monospace;font-size:14px;font-weight:500;margin-bottom:20px;padding:8px 16px}.download-modal-message{align-items:flex-start;background:linear-gradient(135deg,#fef9c3,#fef3c7);border:1px solid #fcd34d;border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px;text-align:left}.download-modal-message svg{color:#d97706;flex-shrink:0;height:24px;margin-top:2px;width:24px}.download-modal-message span{color:#92400e;font-size:14px;line-height:1.5}.download-modal-actions{display:flex;gap:12px;justify-content:center}.modal-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.modal-btn.cancel{background:#f1f5f9;color:#64748b}.modal-btn.cancel:hover{background:#e2e8f0;color:#475569}.modal-btn.download{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 14px #7c3aed4d;color:#fff}.modal-btn.download:hover{box-shadow:0 6px 20px #7c3aed66;transform:translateY(-2px)}.modal-btn.download svg{height:18px;width:18px}.code-review-module{--cr-primary:#0d9488;--cr-primary-dark:#0f766e;--cr-primary-light:#14b8a6;--cr-primary-bg:#f0fdfa;--cr-primary-border:#99f6e4;--cr-gradient:linear-gradient(135deg,#0d9488,#0f766e);--cr-shadow:#0d948840;--cr-shadow-hover:#0d948859;background:#f8fafc;display:flex;flex-direction:column;min-height:calc(100vh - 120px)}.cr-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:24px 32px}.cr-header,.cr-header-content{align-items:center;display:flex}.cr-header-content{gap:16px}.cr-header-icon{align-items:center;background:var(--cr-gradient);border-radius:14px;box-shadow:0 4px 12px var(--cr-shadow);display:flex;height:56px;justify-content:center;width:56px}.cr-header-icon svg{color:#fff;height:28px;width:28px}.cr-header-text h1{color:#0f172a;font-size:24px;font-weight:700;margin:0}.cr-header-text p{color:#64748b;font-size:14px;margin:4px 0 0}.cr-header-badge{align-items:center;background:var(--cr-primary-bg);border:1px solid var(--cr-primary-border);border-radius:20px;color:var(--cr-primary);display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.cr-header-badge svg{height:14px;width:14px}.cr-tab-navigation{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:0;padding:16px 32px 0}.cr-tab-button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:10px;margin-bottom:-1px;padding:14px 24px;transition:all .2s}.cr-tab-button:hover{background:var(--cr-primary-bg);color:var(--cr-primary)}.cr-tab-button.active{background:#0000;border-bottom-color:var(--cr-primary);color:var(--cr-primary)}.cr-tab-button svg{height:18px;width:18px}.cr-main{flex:1 1;overflow-y:auto;padding:24px 32px}.cr-content-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 340px;max-width:1600px}.cr-content-grid.single-column{grid-template-columns:1fr;max-width:900px}.cr-upload-zone{background:#fff;border:2px dashed #cbd5e1;border-radius:16px;cursor:pointer;padding:48px 32px;text-align:center;transition:all .3s ease}.cr-upload-zone.drag-over,.cr-upload-zone:hover{background:var(--cr-primary-bg);border-color:var(--cr-primary)}.cr-upload-zone.drag-over{transform:scale(1.01)}.cr-upload-zone.has-files{background:#fff;border-color:var(--cr-primary-border);border-style:solid;cursor:default}.cr-upload-icon{align-items:center;background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-radius:50%;display:flex;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.cr-upload-icon svg{color:var(--cr-primary);height:36px;width:36px}.cr-upload-zone h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.cr-upload-zone p{color:#64748b;font-size:14px;margin:0 0 20px}.cr-upload-formats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.cr-format-tag{background:#f1f5f9;border-radius:6px;color:#475569;font-family:SF Mono,Fira Code,monospace;font-size:12px;font-weight:500;padding:4px 12px}.cr-upload-input{display:none}.cr-upload-button{align-items:center;background:var(--cr-gradient);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;margin-top:16px;padding:12px 24px;transition:all .2s}.cr-upload-button:hover{box-shadow:0 6px 20px var(--cr-shadow);transform:translateY(-2px)}.cr-upload-button svg{height:18px;width:18px}.cr-file-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.cr-file-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.cr-file-header-left{align-items:center;display:flex;gap:12px}.cr-file-header-left h3{color:#1e293b;font-size:15px;font-weight:600;margin:0}.cr-file-count{background:var(--cr-primary);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:2px 10px}.cr-file-actions{display:flex;gap:8px}.cr-file-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.cr-file-action-btn:hover{background:var(--cr-primary-bg);border-color:var(--cr-primary);color:var(--cr-primary)}.cr-clear-btn{color:#ef4444}.cr-clear-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.cr-file-tree{max-height:400px;overflow-y:auto;padding:12px 0}.cr-tree-item{align-items:center;cursor:pointer;display:flex;padding:8px 20px;transition:background .15s}.cr-tree-item:hover{background:#f8fafc}.cr-tree-item.selected{background:var(--cr-primary-bg)}.cr-tree-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:4px;display:flex;flex-shrink:0;height:18px;justify-content:center;margin-right:12px;transition:all .2s;width:18px}.cr-tree-item.selected .cr-tree-checkbox{background:var(--cr-primary);border-color:var(--cr-primary)}.cr-tree-checkbox svg{color:#fff;height:12px;opacity:0;width:12px}.cr-tree-item.selected .cr-tree-checkbox svg{opacity:1}.cr-tree-icon{flex-shrink:0;height:20px;margin-right:10px;width:20px}.cr-tree-icon.folder{color:#f59e0b}.cr-tree-icon.file{color:#64748b}.cr-tree-icon.file-js{color:#f7df1e}.cr-tree-icon.file-jsx{color:#61dafb}.cr-tree-icon.file-ts{color:#3178c6}.cr-tree-icon.file-java{color:#007396}.cr-tree-icon.file-py{color:#3776ab}.cr-tree-icon.file-json{color:#64748b}.cr-tree-icon.file-css{color:#264de4}.cr-tree-icon.file-html{color:#e34c26}.cr-tree-icon.file-tf{color:#7b42bc}.cr-tree-icon.file-yaml{color:#cb171e}.cr-tree-icon.file-md{color:#083fa1}.cr-tree-name{color:#1e293b;flex:1 1;font-family:SF Mono,Fira Code,monospace;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-tree-meta{color:#94a3b8;font-size:11px;margin-left:12px;white-space:nowrap}.cr-folder-group{margin-bottom:4px}.cr-folder-header{align-items:center;background:#fafafa;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;padding:10px 20px;transition:background .15s}.cr-folder-header:hover{background:#f1f5f9}.cr-folder-chevron{color:#94a3b8;height:16px;margin-right:8px;transition:transform .2s;width:16px}.cr-folder-group.expanded .cr-folder-chevron{transform:rotate(90deg)}.cr-folder-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:4px;display:flex;flex-shrink:0;height:18px;justify-content:center;margin-right:10px;transition:all .2s;width:18px}.cr-folder-group.all-selected .cr-folder-checkbox,.cr-folder-group.partial-selected .cr-folder-checkbox{background:var(--cr-primary);border-color:var(--cr-primary)}.cr-folder-group.partial-selected .cr-folder-checkbox{background:var(--cr-primary-light)}.cr-folder-checkbox svg{color:#fff;height:12px;width:12px}.cr-folder-name{color:#475569;flex:1 1;font-size:13px;font-weight:600}.cr-folder-stats{color:#94a3b8;font-size:11px}.cr-folder-files{display:none;padding-left:20px}.cr-folder-group.expanded .cr-folder-files{display:block}.cr-paste-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.cr-paste-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.cr-paste-header h3{color:#1e293b;font-size:15px;font-weight:600;margin:0}.cr-language-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;outline:none;padding:8px 12px;transition:all .2s}.cr-language-select:focus{border-color:var(--cr-primary);box-shadow:0 0 0 3px #0d94881a}.cr-paste-editor{position:relative}.cr-paste-textarea{background:#fafafa;border:none;color:#1e293b;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;min-height:400px;outline:none;padding:20px;resize:vertical;width:100%}.cr-paste-textarea::placeholder{color:#94a3b8}.cr-paste-textarea:focus{background:#fff}.cr-paste-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 20px}.cr-char-count,.cr-line-count{color:#64748b;font-size:12px}.cr-options-sidebar{display:flex;flex-direction:column;gap:20px}.cr-stats-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.cr-stats-card h4{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.cr-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.cr-stat-item{background:#f8fafc;border-radius:10px;padding:14px;text-align:center}.cr-stat-value{color:#1e293b;display:block;font-size:24px;font-weight:700}.cr-stat-label{color:#64748b;display:block;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.cr-token-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.cr-token-card h4{align-items:center;color:#64748b;display:flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.cr-token-card h4 svg{color:var(--cr-primary);height:16px;width:16px}.cr-token-display{padding:20px 0;text-align:center}.cr-token-value{color:#1e293b;font-size:32px;font-weight:700}.cr-token-value.warning{color:#f59e0b}.cr-token-value.danger{color:#ef4444}.cr-token-label{color:#64748b;font-size:12px;margin-top:4px}.cr-token-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-top:16px;overflow:hidden}.cr-token-fill{background:var(--cr-gradient);border-radius:4px;height:100%;transition:width .3s ease}.cr-token-fill.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.cr-token-fill.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.cr-token-limit{color:#94a3b8;display:flex;font-size:11px;justify-content:space-between;margin-top:8px}.cr-token-status{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;margin-top:16px;padding:12px}.cr-token-status.ok{background:#f0fdf4;border:1px solid #86efac;color:#16a34a}.cr-token-status.warning{background:#fffbeb;border:1px solid #fcd34d;color:#d97706}.cr-token-status.danger{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.cr-token-status svg{flex-shrink:0;height:16px;width:16px}.cr-focus-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.cr-focus-card h4{color:#64748b;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.cr-focus-options{display:flex;flex-direction:column;gap:10px}.cr-focus-option{align-items:center;background:#f8fafc;border:2px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .2s}.cr-focus-option:hover{background:#fff;border-color:#e2e8f0}.cr-focus-option.selected{background:var(--cr-primary-bg);border-color:var(--cr-primary)}.cr-focus-checkbox{align-items:center;border:2px solid #cbd5e1;border-radius:5px;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s;width:20px}.cr-focus-option.selected .cr-focus-checkbox{background:var(--cr-primary);border-color:var(--cr-primary)}.cr-focus-checkbox svg{color:#fff;height:12px;opacity:0;width:12px}.cr-focus-option.selected .cr-focus-checkbox svg{opacity:1}.cr-focus-icon{font-size:18px}.cr-focus-text{flex:1 1}.cr-focus-name{color:#1e293b;display:block;font-size:14px;font-weight:600}.cr-focus-desc{color:#64748b;display:block;font-size:11px;margin-top:2px}.cr-footer{background:#fff;border-top:1px solid #e2e8f0;padding:20px 32px}.cr-footer-content{align-items:center;display:flex;justify-content:space-between}.cr-footer-info{display:flex;flex-direction:column;gap:4px}.cr-footer-info p{color:#475569;font-size:15px;margin:0}.cr-footer-info strong{color:#1e293b}.cr-footer-info span{color:#94a3b8;font-size:13px}.cr-review-button{align-items:center;background:var(--cr-gradient);border:none;border-radius:12px;box-shadow:0 4px 14px var(--cr-shadow);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:10px;padding:14px 32px;transition:all .3s}.cr-review-button:hover:not(:disabled){box-shadow:0 6px 20px var(--cr-shadow-hover);transform:translateY(-2px)}.cr-review-button:active:not(:disabled){transform:translateY(0)}.cr-review-button:disabled{background:#94a3b8;box-shadow:none;cursor:not-allowed}.cr-review-button svg{height:18px;width:18px}.cr-empty-state{flex-direction:column;padding:60px 40px;text-align:center}.cr-empty-icon,.cr-empty-state{align-items:center;display:flex;justify-content:center}.cr-empty-icon{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-radius:50%;height:80px;margin-bottom:20px;width:80px}.cr-empty-icon svg{color:var(--cr-primary);height:40px;width:40px}.cr-empty-state h3{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.cr-empty-state p{color:#64748b;font-size:14px;margin:0;max-width:400px}.cr-message{align-items:center;animation:slideIn .3s ease;border-radius:10px;display:flex;font-size:14px;gap:12px;margin-bottom:16px;padding:14px 18px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cr-message svg{flex-shrink:0;height:20px;width:20px}.cr-message span{flex:1 1}.cr-message button{background:none;border:none;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:0}.cr-message button:hover{opacity:1}.cr-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.cr-message.success{background:#f0fdf4;border:1px solid #86efac;color:#16a34a}.cr-message.info{background:var(--cr-primary-bg);border:1px solid var(--cr-primary-border);color:var(--cr-primary-dark)}@media (max-width:1200px){.cr-content-grid{grid-template-columns:1fr 300px}}@media (max-width:1024px){.cr-content-grid{grid-template-columns:1fr}.cr-options-sidebar{flex-direction:row;flex-wrap:wrap}.cr-focus-card,.cr-stats-card,.cr-token-card{flex:1 1;min-width:280px}}@media (max-width:900px){.cr-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px 24px}.cr-tab-navigation{overflow-x:auto;padding:12px 24px 0}.cr-tab-button{font-size:13px;padding:12px 16px;white-space:nowrap}.cr-main{padding:20px 24px}.cr-footer-content{flex-direction:column;gap:16px}.cr-footer-info{align-items:center;text-align:center}.cr-review-button{justify-content:center;width:100%}}@media (max-width:640px){.cr-stats-grid{grid-template-columns:1fr}.cr-options-sidebar{flex-direction:column}.cr-focus-card,.cr-stats-card,.cr-token-card{min-width:auto}.cr-upload-zone{padding:32px 20px}.cr-upload-formats{align-items:center;flex-direction:column}.cr-footer{padding:16px 24px}}.cr-file-tree::-webkit-scrollbar,.cr-main::-webkit-scrollbar{width:8px}.cr-file-tree::-webkit-scrollbar-track,.cr-main::-webkit-scrollbar-track{background:#f1f5f9}.cr-file-tree::-webkit-scrollbar-thumb,.cr-main::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.cr-file-tree::-webkit-scrollbar-thumb:hover,.cr-main::-webkit-scrollbar-thumb:hover{background:#94a3b8}.cr-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.cr-results{background:#fff;border-top:1px solid var(--cr-border);max-height:70vh;overflow-y:auto;padding:24px}.cr-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.cr-results-header h2{align-items:center;color:#1e293b;display:flex;font-size:20px;font-weight:600;gap:10px;margin:0}.cr-results-header h2 svg{color:var(--cr-primary);height:24px;width:24px}.cr-results-close{background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;padding:8px;transition:all .2s}.cr-results-close:hover{background:#f1f5f9;color:#1e293b}.cr-results-close svg{height:20px;width:20px}.cr-results-header-actions{align-items:center;display:flex;gap:12px}.cr-download-pdf{align-items:center;background:linear-gradient(135deg,var(--cr-primary) 0,#4338ca 100%);border:none;border-radius:8px;box-shadow:0 2px 8px #6366f140;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.cr-download-pdf:hover{background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 4px 12px #6366f159;transform:translateY(-1px)}.cr-download-pdf:active{transform:translateY(0)}.cr-download-pdf svg{height:18px;width:18px}[data-theme=dark] .cr-download-pdf{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 2px 8px #818cf840}[data-theme=dark] .cr-download-pdf:hover{background:linear-gradient(135deg,#a5b4fc,#818cf8);box-shadow:0 4px 12px #818cf859}.cr-results-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);margin-bottom:24px}.cr-summary-card{background:#f8fafc;border:1px solid var(--cr-border);border-radius:10px;padding:16px;text-align:center}.cr-summary-value{font-size:28px;font-weight:700;margin-bottom:4px}.cr-summary-label{color:#64748b;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.cr-summary-total .cr-summary-value{color:#1e293b}.cr-summary-critical{background:#fef2f2;border-color:#dc2626}.cr-summary-critical .cr-summary-value{color:#dc2626}.cr-summary-high{background:#fff7ed;border-color:#ea580c}.cr-summary-high .cr-summary-value{color:#ea580c}.cr-summary-medium{background:#fefce8;border-color:#ca8a04}.cr-summary-medium .cr-summary-value{color:#ca8a04}.cr-summary-low{background:#eff6ff;border-color:#2563eb}.cr-summary-low .cr-summary-value{color:#2563eb}.cr-summary-info{background:#f8fafc;border-color:#64748b}.cr-summary-info .cr-summary-value{color:#64748b}.cr-overall-assessment{background:var(--cr-primary-bg);border:1px solid var(--cr-primary-border);border-radius:10px;margin-bottom:20px;padding:20px}.cr-overall-assessment h3{color:var(--cr-primary-dark);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.cr-overall-assessment p{color:#334155;line-height:1.6;margin:0}.cr-top-recommendations{background:#f0fdf4;border:1px solid #86efac;border-radius:10px;margin-bottom:24px;padding:20px}.cr-top-recommendations h3{color:#15803d;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.cr-top-recommendations ol{margin:0;padding-left:20px}.cr-top-recommendations li{color:#166534;line-height:1.6;margin-bottom:8px}.cr-top-recommendations li:last-child{margin-bottom:0}.cr-findings-list h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 16px}.cr-finding-card{background:#fff;border:1px solid var(--cr-border);border-left:4px solid #64748b;border-radius:10px;margin-bottom:16px;padding:20px}.cr-finding-card.cr-severity-critical{border-left-color:#dc2626}.cr-finding-card.cr-severity-high{border-left-color:#ea580c}.cr-finding-card.cr-severity-medium{border-left-color:#ca8a04}.cr-finding-card.cr-severity-low{border-left-color:#2563eb}.cr-finding-card.cr-severity-info{border-left-color:#64748b}.cr-finding-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.cr-severity-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.cr-severity-badge.critical{background:#dc2626;color:#fff}.cr-severity-badge.high{background:#ea580c;color:#fff}.cr-severity-badge.medium{background:#ca8a04;color:#fff}.cr-severity-badge.low{background:#2563eb;color:#fff}.cr-severity-badge.info{background:#64748b;color:#fff}.cr-category-badge{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.cr-category-badge.security{background:#fef2f2;color:#dc2626}.cr-category-badge.performance{background:#fef3c7;color:#d97706}.cr-category-badge.quality{background:#dbeafe;color:#2563eb}.cr-category-badge.bug{background:#fee2e2;color:#b91c1c}.cr-category-badge.architecture{background:#e0e7ff;color:#4f46e5}.cr-category-badge.testing{background:#d1fae5;color:#059669}.cr-category-badge.style{background:#f3e8ff;color:#7c3aed}.cr-finding-location{background:#f1f5f9;border-radius:4px;color:#64748b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;padding:4px 8px}.cr-line-range{color:var(--cr-primary);font-weight:600}.cr-finding-title{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 8px}.cr-finding-description{color:#475569;line-height:1.6;margin:0 0 16px}.cr-code-snippet,.cr-suggested-fix{margin-bottom:16px}.cr-code-header{background:#1e293b;border-radius:8px 8px 0 0;color:#94a3b8;font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 12px;text-transform:uppercase}.cr-code-snippet pre,.cr-suggested-fix pre{background:#0f172a;border-radius:0 0 8px 8px;margin:0;overflow-x:auto;padding:16px}.cr-code-snippet code,.cr-suggested-fix code{color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5}.cr-suggested-fix .cr-code-header{background:#166534;color:#86efac}.cr-suggested-fix pre{background:#14532d}.cr-suggested-fix code{color:#bbf7d0}.cr-recommendation{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e;line-height:1.5;padding:12px 16px}.cr-recommendation strong{color:#78350f}@media (max-width:1024px){.cr-results-summary{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.cr-results-summary{grid-template-columns:repeat(2,1fr)}.cr-finding-header{align-items:flex-start;flex-direction:column}}.cost-estimation-module{animation:fadeIn .3s ease-out;min-height:100%;padding:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cost-estimation-module .module-header{align-items:flex-start;border-bottom:1px solid #30363d;border-bottom:1px solid var(--border-color,#30363d);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.cost-estimation-module .header-content{flex:1 1}.cost-estimation-module .module-title{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:1.75rem;font-weight:600;margin:0 0 8px}.cost-estimation-module .module-subtitle{color:#8b949e;color:var(--text-secondary,#8b949e);font-size:.95rem;margin:0}.cost-estimation-module .message-banner{align-items:center;border-radius:8px;display:flex;font-size:.9rem;gap:12px;margin-bottom:24px;padding:12px 16px}.cost-estimation-module .message-banner.success{background:#3fb95026;border:1px solid #3fb9504d;color:#3fb950;color:var(--accent-green,#3fb950)}.cost-estimation-module .message-banner.error{background:#f8514926;border:1px solid #f851494d;color:#f85149;color:var(--accent-red,#f85149)}.cost-estimation-module .message-banner.info{background:#58a6ff26;border:1px solid #58a6ff4d;color:#58a6ff;color:var(--accent-blue,#58a6ff)}.cost-estimation-module .message-icon{font-size:1.1rem}.cost-estimation-module .message-text{flex:1 1}.cost-estimation-module .message-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;line-height:1;opacity:.7;padding:0}.cost-estimation-module .message-close:hover{opacity:1}.cost-estimation-module .source-selection-card{background:#1c2128;background:var(--bg-card,#1c2128);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:12px;margin-bottom:32px;padding:28px}.cost-estimation-module .source-selection-card .card-header{align-items:center;display:flex;gap:12px;margin-bottom:24px}.cost-estimation-module .source-selection-card .card-header h2{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:1.1rem;font-weight:600;margin:0}.cost-estimation-module .step-indicator{align-items:center;background:#d4a84b;background:var(--sage-gold,#d4a84b);border-radius:50%;color:#0d1117;color:var(--bg-primary,#0d1117);display:flex;font-size:.85rem;font-weight:600;height:28px;justify-content:center;width:28px}.cost-estimation-module .source-options-grid{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:1fr 60px 1fr;margin-bottom:24px}@media (max-width:900px){.cost-estimation-module .source-options-grid{gap:16px;grid-template-columns:1fr}.cost-estimation-module .divider-or{flex-direction:row!important;padding:8px 0}.cost-estimation-module .divider-line{height:1px!important;width:40px!important}}.cost-estimation-module .source-option{background:#21262d;background:var(--bg-tertiary,#21262d);border:2px solid #30363d;border:2px solid var(--border-color,#30363d);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;padding:24px;transition:all .2s ease}.cost-estimation-module .source-option:hover{border-color:#6e7681;border-color:var(--text-muted,#6e7681)}.cost-estimation-module .source-option.selected{background:#d4a84b14;border-color:#d4a84b;border-color:var(--sage-gold,#d4a84b)}.cost-estimation-module .option-header{align-items:center;display:flex;gap:16px;margin-bottom:16px}.cost-estimation-module .option-icon{align-items:center;background:#161b22;background:var(--bg-secondary,#161b22);border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cost-estimation-module .option-icon svg{color:#8b949e;color:var(--text-secondary,#8b949e);height:24px;width:24px}.cost-estimation-module .source-option.selected .option-icon svg{color:#d4a84b;color:var(--sage-gold,#d4a84b)}.cost-estimation-module .option-content{flex:1 1}.cost-estimation-module .option-content h3{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:1rem;font-weight:600;margin:0 0 4px}.cost-estimation-module .option-content p{color:#8b949e;color:var(--text-secondary,#8b949e);font-size:.85rem;margin:0}.cost-estimation-module .option-radio{align-items:center;border:2px solid #30363d;border:2px solid var(--border-color,#30363d);border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.cost-estimation-module .source-option.selected .option-radio{border-color:#d4a84b;border-color:var(--sage-gold,#d4a84b)}.cost-estimation-module .radio-dot{background:#0000;border-radius:50%;height:10px;transition:background .2s ease;width:10px}.cost-estimation-module .radio-dot.active{background:#d4a84b;background:var(--sage-gold,#d4a84b)}.cost-estimation-module .divider-or{align-items:center;color:#6e7681;color:var(--text-muted,#6e7681);display:flex;flex-direction:column;font-size:.85rem;font-weight:500;gap:12px;justify-content:center}.cost-estimation-module .divider-line{background:#30363d;background:var(--border-color,#30363d);height:40px;width:1px}.cost-estimation-module .upload-area{margin-top:auto}.cost-estimation-module .upload-zone{align-items:center;background:#1c2128;background:var(--bg-card,#1c2128);border:2px dashed #30363d;border:2px dashed var(--border-color,#30363d);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:24px 16px;text-align:center;transition:all .2s ease}.cost-estimation-module .upload-zone:hover{background:#1c2128cc;border-color:#6e7681;border-color:var(--text-muted,#6e7681)}.cost-estimation-module .upload-zone.drag-over{background:#d4a84b14;border-color:#d4a84b;border-color:var(--sage-gold,#d4a84b)}.cost-estimation-module .upload-icon-small{font-size:1.5rem;margin-bottom:8px}.cost-estimation-module .upload-text-small{color:#8b949e;color:var(--text-secondary,#8b949e);font-size:.9rem;margin-bottom:4px}.cost-estimation-module .upload-text-small strong{color:#d4a84b;color:var(--sage-gold,#d4a84b)}.cost-estimation-module .upload-hint{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.75rem}.cost-estimation-module .project-list-area{margin-top:8px}.cost-estimation-module .project-source{cursor:default}.cost-estimation-module .uploaded-file{align-items:center;background:#1c2128;background:var(--bg-card,#1c2128);border:1px solid #d4a84b;border:1px solid var(--sage-gold,#d4a84b);border-radius:8px;display:flex;gap:12px;padding:12px 16px}.cost-estimation-module .file-icon{flex-shrink:0;font-size:1.25rem}.cost-estimation-module .file-info{flex:1 1;min-width:0}.cost-estimation-module .file-name{color:#e6edf3;color:var(--text-primary,#e6edf3);display:block;font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-estimation-module .file-size{color:#6e7681;color:var(--text-muted,#6e7681);display:block;font-size:.8rem}.cost-estimation-module .file-remove{background:none;border:none;border-radius:4px;color:#6e7681;color:var(--text-muted,#6e7681);cursor:pointer;font-size:1.25rem;line-height:1;padding:4px 8px;transition:all .15s ease}.cost-estimation-module .file-remove:hover{background:#f851491a;color:#f85149;color:var(--accent-red,#f85149)}.cost-estimation-module .version-select-section{background:#21262d;background:var(--bg-tertiary,#21262d);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:8px;margin-top:16px;padding:16px 20px}.cost-estimation-module .project-selection-section{margin-bottom:24px}.cost-estimation-module .select-group{margin-bottom:16px}.cost-estimation-module .select-label{color:#8b949e;color:var(--text-secondary,#8b949e);display:block;font-size:.85rem;font-weight:500;margin-bottom:8px}.cost-estimation-module .select-wrapper{position:relative}.cost-estimation-module .styled-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#21262d;border:1px solid #30363d;border-radius:8px;color:#fff;color-scheme:dark;cursor:pointer;font-family:inherit;font-size:.95rem;padding:12px 40px 12px 16px;transition:border-color .2s ease;width:100%}.cost-estimation-module .styled-select,.cost-estimation-module .styled-select:invalid,.cost-estimation-module .styled-select:valid{-webkit-text-fill-color:#fff!important;color:#fff!important}.cost-estimation-module .styled-select option{background-color:#21262d;color:#fff;font-size:.95rem;padding:12px 16px}.cost-estimation-module .styled-select option:checked,.cost-estimation-module .styled-select option:hover{background-color:#d4a84b;color:#000}.cost-estimation-module .styled-select:hover{border-color:#6e7681}.cost-estimation-module .styled-select:focus{border-color:#d4a84b;outline:none}.cost-estimation-module .styled-select:disabled{cursor:not-allowed;opacity:.6}.cost-estimation-module .select-arrow{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.cost-estimation-module .select-arrow svg{color:#8b949e;color:var(--text-secondary,#8b949e);height:16px;width:16px}.cost-estimation-module .no-projects-message{background:#21262d;background:var(--bg-tertiary,#21262d);border-radius:8px;padding:24px;text-align:center}.cost-estimation-module .no-projects-message p{color:#8b949e;color:var(--text-secondary,#8b949e);margin:0 0 8px}.cost-estimation-module .no-projects-message .hint{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.85rem;margin:0}.cost-estimation-module .project-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:240px;overflow-y:auto;padding:4px}.cost-estimation-module .project-list::-webkit-scrollbar{width:6px}.cost-estimation-module .project-list::-webkit-scrollbar-track{background:#21262d;background:var(--bg-tertiary,#21262d);border-radius:3px}.cost-estimation-module .project-list::-webkit-scrollbar-thumb{background:#30363d;background:var(--border-color,#30363d);border-radius:3px}.cost-estimation-module .project-item{align-items:center;background:#21262d;background:var(--bg-tertiary,#21262d);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:all .15s ease}.cost-estimation-module .project-item:hover{background:#8b949e1a;background:var(--bg-hover,#8b949e1a);border-color:#6e7681;border-color:var(--text-muted,#6e7681)}.cost-estimation-module .project-item.selected{background:#d4a84b1a;border-color:#d4a84b}.cost-estimation-module .project-item-left{align-items:center;display:flex;gap:12px}.cost-estimation-module .project-item-icon{align-items:center;background:#1c2128;background:var(--bg-card,#1c2128);border-radius:8px;display:flex;font-size:1rem;height:36px;justify-content:center;width:36px}.cost-estimation-module .project-item.selected .project-item-icon{background:#d4a84b33}.cost-estimation-module .project-item-info{display:flex;flex-direction:column;gap:2px}.cost-estimation-module .project-item-name{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:.95rem;font-weight:500}.cost-estimation-module .project-item-meta{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem}.cost-estimation-module .project-item-badge{border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.cost-estimation-module .project-item-badge.has-tf{background:#3fb95026;color:#3fb950}.cost-estimation-module .project-item-badge.no-tf{background:#1c2128;background:var(--bg-card,#1c2128);color:#6e7681;color:var(--text-muted,#6e7681)}.cost-estimation-module .loading-projects,.cost-estimation-module .no-projects{background:#21262d;background:var(--bg-tertiary,#21262d);border-radius:8px;color:#8b949e;color:var(--text-secondary,#8b949e);margin-bottom:16px;padding:24px;text-align:center}.cost-estimation-module .version-select{border-top:1px solid #30363d;border-top:1px solid var(--border-color,#30363d);margin-top:16px;padding-top:16px}.cost-estimation-module .action-section{align-items:center;border-top:1px solid #30363d;border-top:1px solid var(--border-color,#30363d);display:flex;gap:16px;padding-top:24px}.cost-estimation-module .estimate-button{min-width:180px}.cost-estimation-module .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.cost-estimation-module .btn svg{height:18px;width:18px}.cost-estimation-module .btn-primary{background:#d4a84b;background:var(--sage-gold,#d4a84b);color:#0d1117;color:var(--bg-primary,#0d1117)}.cost-estimation-module .btn-primary:hover:not(:disabled){background:#e0b85c}.cost-estimation-module .btn-primary:disabled{cursor:not-allowed;opacity:.5}.cost-estimation-module .spinner{animation:spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;height:18px;width:18px}.cost-estimation-module .estimate-time{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.85rem}.cost-estimation-module .results-section{animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cost-estimation-module .cost-summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:768px){.cost-estimation-module .cost-summary-cards{grid-template-columns:1fr}}.cost-estimation-module .summary-card{background:#1c2128;background:var(--bg-card,#1c2128);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:12px;padding:24px;text-align:center}.cost-estimation-module .summary-card.monthly{border-top:3px solid #d4a84b;border-top:3px solid var(--sage-gold,#d4a84b)}.cost-estimation-module .summary-card.hourly{border-top:3px solid #58a6ff;border-top:3px solid var(--accent-blue,#58a6ff)}.cost-estimation-module .summary-card.yearly{border-top:3px solid #a371f7;border-top:3px solid var(--accent-purple,#a371f7)}.cost-estimation-module .summary-label{color:#8b949e;color:var(--text-secondary,#8b949e);font-size:.85rem;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.cost-estimation-module .summary-value{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:2rem;font-weight:600;line-height:1.2}.cost-estimation-module .summary-period{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem;margin-top:4px}.cost-estimation-module .estimate-note{align-items:flex-start;background:#d299221a;border:1px solid #d299224d;border-radius:8px;color:#d29922;color:var(--accent-yellow,#d29922);display:flex;font-size:.9rem;gap:12px;margin-bottom:24px;padding:16px}.cost-estimation-module .note-icon{font-size:1.2rem}.cost-estimation-module .results-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 360px;margin-bottom:24px}@media (max-width:1024px){.cost-estimation-module .results-grid{grid-template-columns:1fr}}.cost-estimation-module .results-card{background:#1c2128;background:var(--bg-card,#1c2128);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:12px;overflow:hidden}.cost-estimation-module .results-card .card-header{border-bottom:1px solid #30363d;border-bottom:1px solid var(--border-color,#30363d);padding:16px 20px}.cost-estimation-module .results-card .card-header h3{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:1rem;font-weight:600;margin:0}.cost-estimation-module .results-card .card-body{padding:20px}.cost-estimation-module .resource-table{border-collapse:collapse;width:100%}.cost-estimation-module .resource-table th{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:0 0 12px;text-align:left;text-transform:uppercase}.cost-estimation-module .resource-table th.text-right{text-align:right}.cost-estimation-module .resource-table td{border-top:1px solid #30363d;border-top:1px solid var(--border-color,#30363d);padding:16px 0;vertical-align:middle}.cost-estimation-module .resource-name{gap:12px}.cost-estimation-module .resource-icon{align-items:center;border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:40px;justify-content:center;width:40px}.cost-estimation-module .resource-icon.ec2,.cost-estimation-module .resource-icon.ecs{background:linear-gradient(135deg,#f90,#d88600)}.cost-estimation-module .resource-icon.rds{background:linear-gradient(135deg,#3b48cc,#2d38a8)}.cost-estimation-module .resource-icon.s3{background:linear-gradient(135deg,#569a31,#458026)}.cost-estimation-module .resource-icon.alb{background:linear-gradient(135deg,#8c4fff,#7340d4)}.cost-estimation-module .resource-icon.vpc{background:linear-gradient(135deg,#1e88e5,#1565c0)}.cost-estimation-module .resource-icon.λ{background:linear-gradient(135deg,#f90,#d88600)}.cost-estimation-module .resource-title{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:.95rem;font-weight:500}.cost-estimation-module .resource-details{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem;margin-top:2px}.cost-estimation-module .cost-value{color:#3fb950;color:var(--accent-green,#3fb950);font-size:1rem;font-weight:600}.cost-estimation-module .cost-hourly{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem;margin-top:2px}.cost-estimation-module .text-right{text-align:right}.cost-estimation-module .results-sidebar{display:flex;flex-direction:column;gap:20px}.cost-estimation-module .distribution-chart{align-items:center;display:flex;justify-content:center;padding:20px 0}.cost-estimation-module .donut-center{text-align:center}.cost-estimation-module .donut-value{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:1.5rem;font-weight:600}.cost-estimation-module .donut-label{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem}.cost-estimation-module .distribution-legend{display:flex;flex-direction:column;gap:12px}.cost-estimation-module .legend-item{align-items:center;display:flex;gap:10px}.cost-estimation-module .legend-color{border-radius:3px;flex-shrink:0;height:12px;width:12px}.cost-estimation-module .legend-label{color:#8b949e;color:var(--text-secondary,#8b949e);flex:1 1;font-size:.9rem}.cost-estimation-module .legend-value{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:.9rem;font-weight:500}.cost-estimation-module .optimization-list{display:flex;flex-direction:column;gap:16px}.cost-estimation-module .optimization-item{align-items:flex-start;background:#21262d;background:var(--bg-tertiary,#21262d);border-radius:8px;display:flex;gap:12px;padding:14px}.cost-estimation-module .optimization-icon{font-size:1.2rem}.cost-estimation-module .optimization-content{flex:1 1}.cost-estimation-module .optimization-title{color:#e6edf3;color:var(--text-primary,#e6edf3);font-size:.9rem;font-weight:500}.cost-estimation-module .optimization-desc{color:#6e7681;color:var(--text-muted,#6e7681);font-size:.8rem;margin-top:2px}.cost-estimation-module .optimization-savings{color:#3fb950;color:var(--accent-green,#3fb950);font-size:.9rem;font-weight:600;white-space:nowrap}.cost-estimation-module .results-footer{align-items:center;background:#1c2128;background:var(--bg-card,#1c2128);border:1px solid #30363d;border:1px solid var(--border-color,#30363d);border-radius:8px;display:flex;font-size:.85rem;justify-content:space-between;padding:16px 20px}.cost-estimation-module .powered-by{align-items:center;color:#6e7681;color:var(--text-muted,#6e7681);display:flex;gap:8px}.cost-estimation-module .infracost-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);border-radius:4px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:4px 8px}.cost-estimation-module .timestamp{color:#6e7681;color:var(--text-muted,#6e7681)}[data-theme=light] .cost-estimation-module .card-header h3,[data-theme=light] .cost-estimation-module .donut-value,[data-theme=light] .cost-estimation-module .file-name,[data-theme=light] .cost-estimation-module .legend-value,[data-theme=light] .cost-estimation-module .module-title,[data-theme=light] .cost-estimation-module .optimization-title,[data-theme=light] .cost-estimation-module .option-content h3,[data-theme=light] .cost-estimation-module .project-item-name,[data-theme=light] .cost-estimation-module .resource-title,[data-theme=light] .cost-estimation-module .summary-value,[data-theme=light] .cost-estimation-module .upload-primary{color:#1f2937!important}[data-theme=light] .cost-estimation-module .cost-hourly,[data-theme=light] .cost-estimation-module .file-size,[data-theme=light] .cost-estimation-module .hint-text,[data-theme=light] .cost-estimation-module .legend-label,[data-theme=light] .cost-estimation-module .module-subtitle,[data-theme=light] .cost-estimation-module .option-content p,[data-theme=light] .cost-estimation-module .powered-by,[data-theme=light] .cost-estimation-module .project-item-meta,[data-theme=light] .cost-estimation-module .resource-details,[data-theme=light] .cost-estimation-module .select-label,[data-theme=light] .cost-estimation-module .summary-label,[data-theme=light] .cost-estimation-module .summary-period,[data-theme=light] .cost-estimation-module .timestamp,[data-theme=light] .cost-estimation-module .upload-hint{color:#6b7280!important}[data-theme=light] .cost-estimation-module .results-card,[data-theme=light] .cost-estimation-module .results-footer,[data-theme=light] .cost-estimation-module .source-selection-card,[data-theme=light] .cost-estimation-module .summary-card{background:#fff;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .summary-card.monthly{border-top-color:#d4a84b}[data-theme=light] .cost-estimation-module .summary-card.hourly{border-top-color:#3b82f6}[data-theme=light] .cost-estimation-module .summary-card.yearly{border-top-color:#10b981}[data-theme=light] .cost-estimation-module .source-option{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .source-option:hover{background:#f3f4f6;border-color:#d1d5db}[data-theme=light] .cost-estimation-module .source-option.selected{background:#d4a84b14;border-color:#d4a84b}[data-theme=light] .cost-estimation-module .option-icon{background:#e5e7eb;color:#6b7280}[data-theme=light] .cost-estimation-module .source-option.selected .option-icon{background:#d4a84b33;color:#b8860b}[data-theme=light] .cost-estimation-module .upload-zone:hover{background:#d4a84b0d;border-color:#d4a84b}[data-theme=light] .cost-estimation-module .upload-zone.drag-over{background:#d4a84b1a}[data-theme=light] .cost-estimation-module .upload-icon{color:#9ca3af}[data-theme=light] .cost-estimation-module .uploaded-file{background:#f3f4f6;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .file-icon{background:#e5e7eb;color:#6b7280}[data-theme=light] .cost-estimation-module .file-remove:hover{background:#ef44441a;color:#ef4444}[data-theme=light] .cost-estimation-module .project-list{scrollbar-color:#d1d5db #f3f4f6}[data-theme=light] .cost-estimation-module .project-list::-webkit-scrollbar-track{background:#f3f4f6}[data-theme=light] .cost-estimation-module .project-list::-webkit-scrollbar-thumb{background:#d1d5db}[data-theme=light] .cost-estimation-module .project-item{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .project-item:hover{background:#f3f4f6;border-color:#d1d5db}[data-theme=light] .cost-estimation-module .project-item.selected{background:#d4a84b14;border-color:#d4a84b}[data-theme=light] .cost-estimation-module .project-item-icon{background:#e5e7eb}[data-theme=light] .cost-estimation-module .project-item.selected .project-item-icon{background:#d4a84b33}[data-theme=light] .cost-estimation-module .project-item-badge.has-tf{background:#10b9811a;color:#059669}[data-theme=light] .cost-estimation-module .project-item-badge.no-tf{background:#e5e7eb;color:#6b7280}[data-theme=light] .cost-estimation-module .loading-projects,[data-theme=light] .cost-estimation-module .no-projects{background:#f3f4f6;color:#6b7280}[data-theme=light] .cost-estimation-module .styled-select{-webkit-text-fill-color:#1f2937!important;background:#f9fafb;border-color:#d1d5db;color:#1f2937!important;color-scheme:light}[data-theme=light] .cost-estimation-module .styled-select:hover{border-color:#9ca3af}[data-theme=light] .cost-estimation-module .styled-select:focus{border-color:#d4a84b}[data-theme=light] .cost-estimation-module .styled-select option{background-color:#fff;color:#1f2937}[data-theme=light] .cost-estimation-module .select-arrow svg{color:#6b7280}[data-theme=light] .cost-estimation-module .resource-table{border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .resource-table th{background:#f9fafb;border-bottom-color:#e5e7eb;color:#6b7280}[data-theme=light] .cost-estimation-module .resource-table td{border-bottom-color:#f3f4f6;color:#1f2937}[data-theme=light] .cost-estimation-module .resource-row.expandable:hover{background:#f9fafb}[data-theme=light] .cost-estimation-module .resource-row.expanded{background:#f3f4f6}[data-theme=light] .cost-estimation-module .expand-icon{color:#6b7280}[data-theme=light] .cost-estimation-module .cost-value{color:#059669}[data-theme=light] .cost-estimation-module .cost-components-row{background:#f9fafb}[data-theme=light] .cost-estimation-module .cost-components{border-top-color:#e5e7eb}[data-theme=light] .cost-estimation-module .components-table th{border-bottom-color:#e5e7eb;color:#6b7280}[data-theme=light] .cost-estimation-module .components-table td{border-bottom-color:#f3f4f6;color:#1f2937}[data-theme=light] .cost-estimation-module .components-table .component-name,[data-theme=light] .cost-estimation-module .donut-label{color:#6b7280}[data-theme=light] .cost-estimation-module .distribution-item{background:#f3f4f6}[data-theme=light] .cost-estimation-module .optimization-item{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .optimization-item:hover{background:#f3f4f6}[data-theme=light] .cost-estimation-module .optimization-desc{color:#6b7280}[data-theme=light] .cost-estimation-module .optimization-savings{color:#059669}[data-theme=light] .cost-estimation-module .action-section{border-top-color:#e5e7eb}[data-theme=light] .cost-estimation-module .divider-or{color:#9ca3af}[data-theme=light] .cost-estimation-module .divider-line{background:#e5e7eb}[data-theme=light] .cost-estimation-module .message.success{background:#10b9811a;border-color:#10b9814d;color:#059669}[data-theme=light] .cost-estimation-module .message.error{background:#ef44441a;border-color:#ef44444d;color:#dc2626}[data-theme=light] .cost-estimation-module .version-select{border-top-color:#e5e7eb}[data-theme=light] .cost-estimation-module .version-select-section{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .cost-estimation-module .upload-zone{background:#f9fafb;border-color:#d1d5db}[data-theme=light] .cost-estimation-module .upload-zone:hover{background:#f3f4f6;border-color:#9ca3af}[data-theme=light] .cost-estimation-module .upload-zone.drag-over{background:#d4a84b14;border-color:#d4a84b}[data-theme=light] .cost-estimation-module .upload-text-small{color:#6b7280}[data-theme=light] .cost-estimation-module .uploaded-file{background:#f9fafb;border-color:#d4a84b}[data-theme=light] .cost-estimation-module .file-name{color:#1f2937}[data-theme=light] .cost-estimation-module .file-size{color:#6b7280}[data-theme=light] .cost-estimation-module .file-remove{color:#9ca3af}[data-theme=light] .cost-estimation-module .file-remove:hover{background:#dc26261a;color:#dc2626}[data-theme=light] .cost-estimation-module .option-header{border-color:#e5e7eb}.cost-estimation-module .resource-row.expandable{cursor:pointer;transition:background-color .2s ease}.cost-estimation-module .resource-row.expandable:hover{background-color:#8b949e1a;background-color:var(--bg-hover,#8b949e1a)}.cost-estimation-module .resource-row.expanded{background-color:#8b949e14;background-color:var(--bg-hover,#8b949e14)}.cost-estimation-module .expand-icon{color:#8b949e;color:var(--text-secondary,#8b949e);display:inline-block;font-size:.7rem;margin-right:8px;transition:transform .2s ease;width:12px}.cost-estimation-module .resource-name{align-items:center;display:flex}.cost-estimation-module .cost-components-row{background-color:#00000026;background-color:var(--bg-elevated,#00000026)}.cost-estimation-module .cost-components-row td{padding:0!important}.cost-estimation-module .cost-components{animation:expandIn .2s ease-out;border-top:1px solid #30363d;border-top:1px solid var(--border-color,#30363d);padding:12px 16px 12px 48px}@keyframes expandIn{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.cost-estimation-module .components-table{border-collapse:collapse;font-size:.85rem;width:100%}.cost-estimation-module .components-table th{border-bottom:1px solid #30363d;border-bottom:1px solid var(--border-color,#30363d);color:#8b949e;color:var(--text-secondary,#8b949e);font-size:.75rem;font-weight:500;letter-spacing:.05em;padding:6px 12px;text-align:left;text-transform:uppercase}.cost-estimation-module .components-table td{border-bottom:1px solid #30363d80;border-bottom:1px solid var(--border-subtle,#30363d80);color:#e6edf3;color:var(--text-primary,#e6edf3);padding:8px 12px}.cost-estimation-module .components-table tr:last-child td{border-bottom:none}.cost-estimation-module .components-table .component-name{color:#8b949e;color:var(--text-secondary,#8b949e)}.cost-estimation-module .components-table .text-right{text-align:right}.console-module{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 52px);overflow:hidden;padding:24px}.console-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.console-header-left{align-items:center;display:flex;gap:16px}.console-header-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.console-header-icon svg{height:24px;width:24px}.header-text h1{color:#111827;color:var(--text-primary,#111827);font-size:24px;font-weight:700;margin:0}.header-text p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px;margin:2px 0 0}.console-ai-provider-selector{align-items:center;display:flex;gap:8px}.console-ai-provider-selector label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px}.console-ai-provider-selector select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:8px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s}.console-ai-provider-selector select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.console-chat-container{background:#f9fafb;background:var(--bg-secondary,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;display:flex;flex:1 1;flex-direction:row;min-height:0;overflow:hidden}.console-chat-area{display:flex;flex:1 1;flex-direction:column;min-width:0}.console-history-panel{background:#fff;background:var(--bg-primary,#fff);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color,#e5e7eb);display:flex;flex-direction:column;flex-shrink:0;width:280px}.console-history-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);display:flex;justify-content:space-between;padding:12px 16px}.console-history-header h3{color:#111827;color:var(--text-primary,#111827);font-size:14px;font-weight:600;margin:0}.console-history-close{background:none;border:none;border-radius:4px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}.console-history-close:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.console-history-list{flex:1 1;overflow-y:auto;padding:8px}.console-history-empty,.console-history-loading{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:13px;padding:24px 16px;text-align:center}.console-history-item{border-radius:8px;cursor:pointer;margin-bottom:2px;padding:10px 12px;position:relative;transition:background .15s}.console-history-item:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.console-history-item.active{background:#eef2ff;border:1px solid #c7d2fe}.console-history-item-title{color:#111827;color:var(--text-primary,#111827);font-size:13px;font-weight:500;overflow:hidden;padding-right:24px;text-overflow:ellipsis;white-space:nowrap}.console-history-item-meta{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);display:flex;font-size:11px;gap:4px;margin-top:4px}.console-history-item-delete{background:none;border:none;border-radius:4px;color:#9ca3af;color:var(--text-tertiary,#9ca3af);cursor:pointer;opacity:0;padding:2px;position:absolute;right:8px;top:10px;transition:opacity .15s}.console-history-item:hover .console-history-item-delete{opacity:1}.console-history-item-delete:hover{background:#fef2f2;color:#ef4444}.console-attached-files{background:#fff;background:var(--bg-primary,#fff);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px}.console-attached-file{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#4338ca;display:flex;font-size:12px;gap:6px;padding:6px 10px}.console-attached-file-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-attached-file-size{color:#6366f1;opacity:.7}.console-attached-file-remove{background:none;border:none;color:#6366f1;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.console-attached-file-remove:hover{color:#ef4444}.console-attach-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:12px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s;width:44px}.console-attach-btn:hover:not(:disabled){background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-color:#6366f1;color:#6366f1}.console-attach-btn:disabled{cursor:not-allowed;opacity:.5}.console-attach-btn svg{height:20px;width:20px}.console-message-attachments{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.console-attachment-badge{align-items:center;background:#fff3;border-radius:4px;display:inline-flex;font-size:11px;gap:4px;padding:2px 8px}.console-new-chat-btn.active{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.console-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;scroll-behavior:smooth}.console-messages::-webkit-scrollbar{width:6px}.console-messages::-webkit-scrollbar-track{background:#0000}.console-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.console-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.console-welcome{flex-direction:column;height:100%;padding:40px;text-align:center}.console-welcome,.console-welcome-icon{align-items:center;display:flex;justify-content:center}.console-welcome-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;color:#fff;height:64px;margin-bottom:16px;width:64px}.console-welcome-icon svg{height:32px;width:32px}.console-welcome h2{color:#111827;color:var(--text-primary,#111827);font-size:20px;font-weight:600;margin:0 0 8px}.console-welcome p{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:14px;line-height:1.5;margin:0 0 24px;max-width:480px}.console-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:600px}.console-suggestion-btn{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:20px;color:#374151;color:var(--text-primary,#374151);cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s;white-space:nowrap}.console-suggestion-btn:hover{background:#6366f1;border-color:#6366f1;color:#fff}.console-message{animation:messageSlideIn .3s ease-out;display:flex;gap:12px;max-width:85%}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.console-message.user{align-self:flex-end;flex-direction:row-reverse}.console-message.assistant{align-self:flex-start}.console-message-avatar{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.console-message.user .console-message-avatar{background:#e0e7ff;color:#4338ca}.console-message.assistant .console-message-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.console-message-content{word-wrap:break-word;border-radius:12px;font-size:14px;line-height:1.6;overflow-wrap:break-word;padding:12px 16px}.console-message.user .console-message-content{background:#6366f1;border-bottom-right-radius:4px;color:#fff}.console-message.assistant .console-message-content{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-bottom-left-radius:4px;color:#111827;color:var(--text-primary,#111827)}.console-message.assistant .console-message-content h1,.console-message.assistant .console-message-content h2,.console-message.assistant .console-message-content h3{font-weight:600;margin-bottom:8px;margin-top:16px}.console-message.assistant .console-message-content h1{font-size:18px}.console-message.assistant .console-message-content h2{font-size:16px}.console-message.assistant .console-message-content h3{font-size:15px}.console-message.assistant .console-message-content p{margin:8px 0}.console-message.assistant .console-message-content ol,.console-message.assistant .console-message-content ul{margin:8px 0;padding-left:20px}.console-message.assistant .console-message-content li{margin:4px 0}.console-message.assistant .console-message-content code{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-radius:4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;padding:2px 6px}.console-message.assistant .console-message-content pre{background:#1e1e2e;border-radius:8px;color:#cdd6f4;font-size:13px;line-height:1.5;margin:12px 0;overflow-x:auto;padding:16px}.console-message.assistant .console-message-content pre code{background:#0000;color:inherit;font-size:inherit;padding:0}.console-message.assistant .console-message-content blockquote{border-left:3px solid #6366f1;color:#6b7280;color:var(--text-secondary,#6b7280);margin:12px 0;padding-left:12px}.console-message.assistant .console-message-content table{border-collapse:collapse;font-size:13px;margin:12px 0;width:100%}.console-message.assistant .console-message-content td,.console-message.assistant .console-message-content th{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);padding:8px 12px;text-align:left}.console-message.assistant .console-message-content th{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);font-weight:600}.console-message-meta{color:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:11px;margin-top:4px;padding:0 4px}.console-message.user .console-message-meta{text-align:right}.console-typing-indicator{align-self:flex-start;display:flex;gap:12px;max-width:85%}.console-typing-indicator .console-message-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.console-typing-content{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:16px 20px}.typing-dot{animation:typingBounce 1.4s infinite;background:#6366f1;border-radius:50%;height:8px;width:8px}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.console-input-area{background:#fff;background:var(--bg-primary,#fff);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color,#e5e7eb);flex-shrink:0;padding:16px 20px}.console-input-row{align-items:flex-end;display:flex;gap:12px}.console-input-wrapper{flex:1 1;position:relative}.console-input-wrapper textarea{background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:12px;box-sizing:border-box;color:#111827;color:var(--text-primary,#111827);font-family:inherit;font-size:14px;line-height:1.5;max-height:150px;min-height:44px;outline:none;padding:12px 16px;resize:none;transition:border-color .2s,box-shadow .2s;width:100%}.console-input-wrapper textarea::placeholder{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.console-input-wrapper textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.console-send-btn{align-items:center;background:#6366f1;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:background .2s,transform .1s;width:44px}.console-send-btn:hover:not(:disabled){background:#4f46e5}.console-send-btn:active:not(:disabled){transform:scale(.95)}.console-send-btn:disabled{background:#c7d2fe;cursor:not-allowed}.console-send-btn svg{height:20px;width:20px}.console-input-hint{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);display:flex;font-size:11px;justify-content:space-between;margin-top:6px}.console-input-hint kbd{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:4px;font-family:inherit;font-size:11px;padding:1px 5px}.console-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:13px;gap:8px;margin:0 20px 12px;padding:10px 16px}.console-error-icon{flex-shrink:0}.console-error-dismiss{background:none;border:none;color:#991b1b;cursor:pointer;font-size:16px;line-height:1;margin-left:auto;padding:2px}.console-new-chat-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #d1d5db;border:1px solid var(--border-color,#d1d5db);border-radius:8px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .2s}.console-new-chat-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);color:#111827;color:var(--text-primary,#111827)}.console-new-chat-btn svg{height:14px;width:14px}.console-context-bar,.console-header-actions{align-items:center;display:flex;gap:12px}.console-context-bar{background:#f0f1ff;background:var(--bg-secondary,#f0f1ff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color,#e5e7eb);color:#6b7280;color:var(--text-secondary,#6b7280);flex-shrink:0;font-size:12px;padding:8px 16px}.console-context-item{align-items:center;display:flex;gap:4px}.console-context-item svg{height:12px;width:12px}.console-context-item.project-context{color:#6366f1;font-weight:500}.console-project-picker-compact{position:relative}.console-project-picker-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:6px;max-width:220px;padding:7px 12px;transition:all .2s ease;white-space:nowrap}.console-project-picker-btn:hover{border-color:#6366f1}.console-project-picker-btn.active{background:#eef2ff;border-color:#6366f1;color:#111827;color:var(--text-primary,#111827)}.console-project-picker-btn svg{flex-shrink:0;opacity:.6}.console-project-picker-text{max-width:140px;overflow:hidden;text-overflow:ellipsis}.console-project-picker-arrow{font-size:10px}.console-project-clear-x,.console-project-picker-arrow{color:#9ca3af;color:var(--text-secondary,#9ca3af);flex-shrink:0}.console-project-clear-x{border-radius:3px;font-size:14px;line-height:1;margin-left:2px;padding:0 3px;transition:all .15s}.console-project-clear-x:hover{background:#ef44441a;color:#ef4444}.console-project-status-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.console-project-status-dot.completed{background:#22c55e}.console-project-status-dot.in-progress{background:#f59e0b}.console-project-status-dot.draft{background:#9ca3af}.console-project-cloud-badge{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-radius:3px;color:#6b7280;color:var(--text-secondary,#6b7280);flex-shrink:0;font-size:10px;margin-left:auto;padding:1px 6px}.console-project-dropdown{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;box-shadow:0 8px 30px #0000001f;max-height:320px;min-width:280px;overflow:hidden;overflow-y:auto;position:absolute;right:0;top:calc(100% + 6px);z-index:100}.console-project-dropdown-item{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border-color,#f3f4f6);cursor:pointer;padding:10px 14px;transition:background .15s ease}.console-project-dropdown-item:last-child{border-bottom:none}.console-project-dropdown-item:hover{background:#f9fafb;background:var(--bg-secondary,#f9fafb)}.console-project-dropdown-item.active{background:#eef2ff}.console-project-dropdown-row{align-items:center;display:flex;gap:8px}.console-project-dropdown-title{color:#111827;color:var(--text-primary,#111827);font-size:13px;font-weight:500}.console-project-dropdown-desc{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:11px;margin-top:2px;padding-left:15px}.console-project-dropdown-empty,.console-project-dropdown-loading{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:12px;padding:14px;text-align:center}[data-theme=dark] .console-message.user .console-message-content{background:#6366f1;color:#fff}[data-theme=dark] .console-message.assistant .console-message-content{background:#1f2937;background:var(--bg-primary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .console-message.assistant .console-message-content code{background:#374151}[data-theme=dark] .console-suggestion-btn{background:#1f2937;background:var(--bg-primary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151);color:#e5e7eb;color:var(--text-primary,#e5e7eb)}[data-theme=dark] .console-suggestion-btn:hover{background:#6366f1;border-color:#6366f1;color:#fff}[data-theme=dark] .console-error{background:#451a1a;border-color:#7f1d1d;color:#fca5a5}[data-theme=dark] .console-input-wrapper textarea{color:#e5e7eb;color:var(--text-primary,#e5e7eb)}[data-theme=dark] .console-history-panel,[data-theme=dark] .console-input-wrapper textarea{background:#1f2937;background:var(--bg-primary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151)}[data-theme=dark] .console-history-item.active{background:#312e81;border-color:#4338ca}[data-theme=dark] .console-attached-file{background:#312e81;border-color:#4338ca;color:#a5b4fc}[data-theme=dark] .console-attach-btn{background:#1f2937;background:var(--bg-primary,#1f2937)}[data-theme=dark] .console-attach-btn,[data-theme=dark] .console-project-picker-btn{border-color:#374151;border-color:var(--border-color,#374151);color:#9ca3af;color:var(--text-secondary,#9ca3af)}[data-theme=dark] .console-project-picker-btn{background:#111827;background:var(--bg-primary,#111827)}[data-theme=dark] .console-project-picker-btn.active{background:#1e1b4b;border-color:#6366f1;color:#f3f4f6;color:var(--text-primary,#f3f4f6)}[data-theme=dark] .console-project-dropdown{background:#1f2937;background:var(--bg-primary,#1f2937);border-color:#374151;border-color:var(--border-color,#374151);box-shadow:0 8px 30px #0006}[data-theme=dark] .console-project-dropdown-item:hover{background:#111827}[data-theme=dark] .console-project-dropdown-item.active{background:#1e1b4b}[data-theme=dark] .console-project-dropdown-title{color:#f3f4f6;color:var(--text-primary,#f3f4f6)}[data-theme=dark] .console-project-cloud-badge{background:#1f2937;color:#9ca3af}[data-theme=dark] .console-project-clear-x:hover{background:#ef444426;color:#ef4444}@media (max-width:768px){.console-module{padding:12px}.console-header{align-items:flex-start;flex-direction:column;gap:12px}.console-header-actions{justify-content:space-between;width:100%}.console-message{max-width:95%}.console-suggestions{align-items:center;flex-direction:column}.console-history-panel{width:240px}.console-project-picker-text{max-width:100px}}.console-zip-toggle{align-items:center;color:#9ca3af;color:var(--text-tertiary,#9ca3af);cursor:pointer;display:inline-flex;font-size:11px;gap:5px;position:relative;transition:color .2s;-webkit-user-select:none;user-select:none}.console-zip-toggle:hover{color:#6b7280;color:var(--text-secondary,#6b7280)}.console-zip-toggle input[type=checkbox]{display:none}.console-zip-toggle-slider{background:#d1d5db;background:var(--border-color,#d1d5db);border-radius:8px;flex-shrink:0;height:16px;position:relative;transition:background .2s;width:28px}.console-zip-toggle-slider:after{background:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;content:"";height:12px;left:2px;position:absolute;top:2px;transition:transform .2s;width:12px}.console-zip-toggle input:checked+.console-zip-toggle-slider{background:#6366f1}.console-zip-toggle input:checked+.console-zip-toggle-slider:after{transform:translateX(12px)}.console-zip-toggle input:checked~span:last-child{color:#6366f1;font-weight:500}.console-zip-toggle svg{flex-shrink:0}.console-input-hint-right{align-items:center;display:flex;gap:6px}.console-input-hint-separator{color:#9ca3af;color:var(--text-tertiary,#9ca3af)}.console-zip-download{margin-top:12px}.console-zip-download-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;box-shadow:0 2px 6px #6366f14d;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:10px 18px;transition:all .2s}.console-zip-download-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.console-zip-download-btn:active{box-shadow:0 2px 4px #6366f14d;transform:translateY(0)}.console-zip-download-btn svg{flex-shrink:0}.console-zip-download-btn span{white-space:nowrap}[data-theme=dark] .console-zip-toggle-slider{background:#4b5563}[data-theme=dark] .console-zip-download-btn{box-shadow:0 2px 6px #6366f133}[data-theme=dark] .console-zip-download-btn:hover{box-shadow:0 4px 12px #6366f14d}.console-zip-generated-badge{align-items:center;background:#6366f114;border:1px solid #6366f133;border-radius:8px;color:#818cf8;display:inline-flex;font-size:12px;gap:6px;margin-top:10px;padding:8px 14px}.console-zip-generated-badge svg{color:#10b981;flex-shrink:0}[data-theme=dark] .console-zip-generated-badge{background:#6366f11f;border-color:#6366f140}.ai-model-selector-global{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-shrink:0;gap:.5rem;padding:.35rem .65rem .35rem .55rem}.ai-model-selector-global.loading{opacity:.7;pointer-events:none}.ai-selector-icon{flex-shrink:0;font-size:1rem;line-height:1}.ai-selector-label{color:#475569;cursor:default;flex-shrink:0;font-size:.8rem;font-weight:600;white-space:nowrap}.ai-selector-loading-text{color:#94a3b8;font-size:.8rem}.ai-selector-dropdown{-webkit-appearance:auto;appearance:auto;background:#0000;border:none;color:#1e293b;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;min-width:90px;outline:none;padding:0}.ai-selector-dropdown:focus{outline:none}.main-topbar{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcf2;border-bottom:1px solid #e2e8f0;display:flex;justify-content:flex-end;min-height:52px;padding:.6rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}[data-theme=dark] .main-topbar{background:#09090bf2;border-bottom-color:#ffffff12}[data-theme=dark] .ai-model-selector-global{background:#27272ae6;border-color:#ffffff1a;box-shadow:0 1px 4px #0000004d}[data-theme=dark] .ai-selector-label{color:#a1a1aa}[data-theme=dark] .ai-selector-dropdown{background:#0000;color:#fafafa;color-scheme:dark}.global-gen-toast-container{bottom:24px;display:flex;flex-direction:column;gap:12px;max-width:380px;position:fixed;right:24px;z-index:9999}.global-gen-toast{align-items:center;animation:toast-slide-in .3s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;display:flex;gap:12px;padding:14px 16px;position:relative}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.global-gen-toast.generating{border-left:3px solid #6366f1}.global-gen-toast.complete{border-left:3px solid #10b981}.global-gen-toast.error{border-left:3px solid #ef4444}.toast-dismiss{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;position:absolute;right:8px;top:6px;transition:all .15s ease}.toast-dismiss:hover{background:#f3f4f6;color:#374151}.toast-icon{align-items:center;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.global-gen-toast.complete .toast-icon{color:#10b981}.global-gen-toast.error .toast-icon{color:#ef4444}.toast-spinner{animation:toast-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:24px;width:24px}@keyframes toast-spin{to{transform:rotate(1turn)}}.toast-content{flex:1 1;min-width:0}.toast-title{color:#111827;font-size:14px;font-weight:600;margin:0 0 2px}.toast-message{color:#6b7280;font-size:13px;margin:0}.toast-error-detail{color:#ef4444;font-size:12px;margin:4px 0 0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-download-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease;white-space:nowrap}.toast-download-btn:hover{background:#059669;box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.toast-download-btn:active{transform:translateY(0)}@media (max-width:480px){.global-gen-toast-container{bottom:16px;left:16px;max-width:none;right:16px}}.home-page{color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1280px;padding:2rem 2.5rem 3rem}.home-hero{background:linear-gradient(135deg,#0f172a,#1e293b 60%,#d35400 130%);border-radius:18px;box-shadow:0 12px 32px #0f172a2e;color:#fff;margin-bottom:2.25rem;overflow:hidden;padding:2.5rem 2.5rem 2rem;position:relative}.home-hero:before{background:radial-gradient(circle,#e67e2259,#0000 70%);content:"";height:240px;pointer-events:none;position:absolute;right:-60px;top:-60px;width:240px}.home-hero-title{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem}.home-hero-subtitle{color:#cbd5e1;font-size:1.05rem;line-height:1.6;margin:0 0 1.75rem;max-width:760px}.home-hero-flow{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.home-hero-step{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;color:#f1f5f9;display:flex;font-size:.9rem;gap:.6rem;padding:.55rem .9rem}.home-hero-step-num{align-items:center;background:linear-gradient(135deg,#d35400,#e67e22);border-radius:50%;color:#fff;display:inline-flex;font-size:.78rem;font-weight:700;height:22px;justify-content:center;width:22px}.home-hero-step-arrow{color:#fff6;font-size:1.1rem;font-weight:600}.home-section{margin-bottom:2.25rem}.home-section-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.4rem}.home-section-title{color:#0f172a;font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:0}.home-section-tag{border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.28rem .6rem;text-transform:uppercase}.home-section-tag--saved{background:#10b9811f;border:1px solid #10b9814d;color:#047857}.home-section-tag--unsaved{background:#ef44441a;border:1px solid #ef444440;color:#b91c1c}.home-section-blurb{color:#475569;font-size:.95rem;line-height:1.55;margin:0 0 1rem;max-width:900px}.home-section-warning{background:#ef444412;border:1px solid #ef444440;border-left:4px solid #ef4444;border-radius:8px;color:#7f1d1d;font-size:.9rem;line-height:1.55;margin-bottom:1.25rem;padding:.85rem 1rem}.home-section-warning strong{color:#991b1b}.home-section-warning em{font-style:normal;font-weight:700}.home-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.home-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0f172a0a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1.25rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.home-card:hover:not(.home-card--disabled){border-color:#cbd5e1;box-shadow:0 12px 24px #0f172a14;transform:translateY(-2px)}.home-card--saved{border-top:3px solid #10b981}.home-card--tool{border-top:3px solid #94a3b8}.home-card--disabled{background:#f8fafc;opacity:.7}.home-card-header{align-items:center;display:flex;gap:.75rem}.home-card-icon{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:10px;color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.home-card-icon svg{height:22px;width:22px}.home-card--saved .home-card-icon{background:linear-gradient(135deg,#d35400,#e67e22)}.home-card-title{color:#0f172a;flex:1 1;font-size:1.1rem;font-weight:700;margin:0;min-width:0}.home-card-badge{background:#fbbf242e;border:1px solid #fbbf2466;border-radius:5px;color:#b45309;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.22rem .5rem;white-space:nowrap}.home-card-badge--coming-soon{background:#94a3b82e;border-color:#94a3b873;color:#475569}.home-card-purpose{color:#334155;font-size:.92rem;line-height:1.55;margin:0}.home-card-howto{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem .9rem .85rem}.home-card-howto-label{color:#64748b;display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.45rem;text-transform:uppercase}.home-card-howto-list{color:#334155;display:flex;flex-direction:column;font-size:.88rem;gap:.3rem;line-height:1.5;margin:0;padding-left:1.1rem}.home-card-cta{align-items:center;background:linear-gradient(135deg,#d35400,#e67e22);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.92rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:auto;padding:.7rem 1rem;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.home-card-cta:hover:not(:disabled){box-shadow:0 6px 14px #d3540052;transform:translateY(-1px)}.home-card-cta:disabled{background:#cbd5e1;color:#475569;cursor:not-allowed}.home-card-cta svg{height:16px;width:16px}.home-card--tool .home-card-cta{background:linear-gradient(135deg,#1e293b,#334155)}.home-card--tool .home-card-cta:hover:not(:disabled){box-shadow:0 6px 14px #1e293b52}@media (max-width:720px){.home-page{padding:1.25rem}.home-hero{padding:1.75rem 1.5rem}.home-hero-title{font-size:1.75rem}.home-hero-flow{align-items:stretch;flex-direction:column}.home-hero-step-arrow{display:none}}.dashboard-container{background:#f8fafc;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0f172a,#1e293b);bottom:0;box-shadow:4px 0 24px #0000001f;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:100}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:1.5rem}.sidebar-header,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{flex:1 1;justify-content:center;min-width:0;overflow:hidden}.logo-img{flex-shrink:0;object-fit:contain}.logo-collapsed{border-radius:50%;height:36px;width:36px}.logo-expanded{height:80px;max-width:100%}.sidebar-toggle{align-items:center;background:#ffffff1a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.sidebar-toggle:hover{background:#ffffff26}.sidebar-toggle svg{height:20px;transition:transform .3s ease;width:20px}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1.5rem 1rem}.nav-section{display:flex;flex-direction:column;gap:.5rem}.nav-section+.nav-section{margin-top:1rem}.nav-section-title{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding:0 .75rem;text-transform:uppercase}.nav-item{align-items:center;border-radius:10px;color:#cbd5e1;display:flex;font-size:.95rem;font-weight:500;gap:.75rem;padding:.75rem;position:relative;text-decoration:none;transition:all .2s ease}.nav-item:hover:not(.disabled){background:#ffffff14;color:#fff}.nav-item.active{background:linear-gradient(135deg,#d35400,#e67e22);box-shadow:0 4px 12px #d354004d;color:#fff}.nav-item.disabled{cursor:not-allowed;opacity:.5}.nav-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.nav-icon svg{height:100%;width:100%}.nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coming-soon-badge{border-radius:6px;font-size:.7rem;font-weight:600;padding:.25rem .5rem}.coming-soon-badge,.nav-badge{background:#fbbf2433;color:#fbbf24;margin-left:auto}.nav-badge{border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px}.sidebar.collapsed .coming-soon-badge,.sidebar.collapsed .nav-badge,.sidebar.collapsed .nav-section-title,.sidebar.collapsed .nav-text{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem}.user-profile{background:#ffffff0d;gap:.75rem;margin-bottom:.75rem;padding:.75rem}.user-avatar,.user-profile{align-items:center;border-radius:10px;display:flex}.user-avatar{background:linear-gradient(135deg,#d35400,#e67e22);flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.user-info{display:flex;flex-direction:column;gap:.125rem;overflow:hidden}.user-name{font-size:.95rem;font-weight:600}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#94a3b8;font-size:.8rem}.sidebar.collapsed .user-info{display:none}.logout-button,.sidebar.collapsed .user-profile{justify-content:center;padding:.75rem}.logout-button{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:#fca5a5;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:500;gap:.75rem;transition:all .2s ease;width:100%}.logout-button:hover{background:#ef444433;color:#ef4444}.logout-button svg{height:20px;width:20px}.sidebar.collapsed .logout-button span{display:none}.main-content{flex:1 1;height:100vh;margin-left:280px;overflow-y:auto;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed~.main-content{margin-left:80px}@media (max-width:1024px){.sidebar{transform:translateX(-100%)}.sidebar.collapsed{transform:translateX(0)}.main-content{margin-left:0}}.coming-soon-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#64748b;font-size:1.5rem;min-height:100vh}.coming-soon-page,.theme-toggle-btn{align-items:center;display:flex;font-weight:500;justify-content:center}.theme-toggle-btn{background:#ffffff1a;border:none;border-radius:10px;color:#cbd5e1;cursor:pointer;font-family:inherit;font-size:.875rem;gap:.5rem;margin-bottom:.75rem;padding:.75rem;transition:all .2s ease;width:100%}.theme-toggle-btn:hover{background:#ffffff26;color:#fff}.theme-toggle-btn svg{height:18px;width:18px}.sidebar.collapsed .theme-toggle-btn span{display:none}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,.auth-loading{min-height:100vh}.auth-loading{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b 50%,#334155);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-loading p{color:#94a3b8;font-size:1rem;margin-top:1rem}.loading-spinner-large{animation:spin 1s linear infinite;border:4px solid #e2773033;border-radius:50%;border-top-color:#e27730;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.f6f7b2d9.css.map*/