:root{--color-background:#141b2d;--color-surface:#1a2236;--color-accent:#1ec6c6;--color-text:#e0e0e0;--color-text-muted:#8892a4;--color-border:#ffffff14;--color-error:#ff6b6b;--radius:12px;--font-family:"Manrope", system-ui, sans-serif;font-family:var(--font-family);color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer}input,textarea,select{font-family:var(--font-family)}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-nav{background:linear-gradient(135deg, var(--color-surface) 0%, #1f2b45 100%);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.shell-nav-logo{color:var(--color-text);align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.shell-nav-logo-img{object-fit:contain;width:auto;height:28px}.shell-nav-right{align-items:center;gap:.75rem;display:flex}.shell-admin-link{border:1px solid var(--color-accent);color:var(--color-accent);background:0 0;border-radius:8px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:background-color .15s}.shell-admin-link:hover{background:#1ec6c614}.shell-signin-btn{background:var(--color-accent);color:#141b2d;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.shell-signin-btn:hover{background:#1ad4d4}.shell-user-menu{position:relative}.shell-user-btn{border-radius:var(--radius);color:var(--color-text);background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.375rem .75rem;font-size:.875rem;transition:border-color .15s,background-color .15s;display:flex}.shell-user-btn:hover,.shell-user-btn:focus-visible{border-color:var(--color-border);background-color:#ffffff0a;outline:none}.shell-user-btn-arrow{font-size:.625rem;transition:transform .15s}.shell-user-btn-arrow.open{transform:rotate(180deg)}.shell-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:140px;padding:.25rem;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.shell-dropdown-item{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:8px;padding:.5rem .75rem;font-size:.875rem;transition:background-color .15s;display:block}.shell-dropdown-item:hover,.shell-dropdown-item:focus-visible{background-color:#ffffff0f;outline:none}.shell-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#ffffff1f}.card:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 2px #1ec6c626}@media (width<=768px){.shell-nav{padding:0 1rem}.shell-main{padding:1rem}}.kb-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kb-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;width:90%;max-width:720px;max-height:85vh;display:flex;overflow:hidden}.kb-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.kb-header h2{color:var(--color-text);margin:0;font-size:1.25rem;font-weight:700}.kb-close-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.kb-close-btn:hover{color:var(--color-text)}.kb-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.kb-loading,.kb-error,.kb-empty{text-align:center;color:var(--color-text-muted);padding:2rem 0}.kb-error{color:var(--color-error)}.kb-category{margin-bottom:1.5rem}.kb-category-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin:0 0 .5rem;font-size:.8125rem;font-weight:600}.kb-doc-row{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.625rem .75rem;display:flex}.kb-doc-info{flex:1;min-width:0}.kb-doc-title{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.kb-doc-meta{color:var(--color-text-muted);margin-top:.125rem;font-size:.75rem}.kb-doc-actions{flex-shrink:0;gap:.5rem;margin-left:.75rem;display:flex}.kb-doc-actions button{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .625rem;font-size:.8125rem;transition:color .15s,border-color .15s}.kb-doc-actions button:hover{color:var(--color-text);border-color:var(--color-text-muted)}.kb-doc-actions .kb-delete-btn:hover{color:var(--color-error);border-color:var(--color-error)}.kb-footer{border-top:1px solid var(--color-border);justify-content:flex-end;padding:1rem 1.5rem;display:flex}.kb-add-btn{background:var(--color-accent);color:#141b2d;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.kb-add-btn:hover{background:#1ad4d4}.kb-form{flex-direction:column;gap:1rem;display:flex}.kb-form-group{flex-direction:column;gap:.25rem;display:flex}.kb-form-group label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.kb-form-group input,.kb-form-group textarea{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);resize:vertical;border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.kb-form-group input:focus,.kb-form-group textarea:focus{border-color:var(--color-accent);outline:none}.kb-form-actions{justify-content:flex-end;gap:.75rem;display:flex}.kb-form-actions button{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600}.kb-save-btn{background:var(--color-accent);color:#141b2d}.kb-save-btn:hover{background:#1ad4d4}.kb-cancel-btn{color:var(--color-text-muted);background:0 0;border:1px solid var(--color-border)!important}.kb-cancel-btn:hover{color:var(--color-text)}.kb-confirm{border:1px solid var(--color-error);background:#ff6b6b14;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.kb-confirm p{color:var(--color-error);flex:1;margin:0;font-size:.875rem}.kb-confirm-yes{background:var(--color-error);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.25rem .75rem;font-size:.8125rem;font-weight:600}.kb-confirm-no{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .75rem;font-size:.8125rem}.landing{flex-direction:column;align-items:center;gap:3rem;padding:2rem 0;display:flex}.landing-hero{text-align:center;max-width:600px}.landing-logo{object-fit:contain;width:auto;height:64px;margin:0 auto 1.5rem;display:block}.landing-title{color:var(--color-text);margin:0 0 .75rem;font-size:2rem;font-weight:700}.landing-description{color:var(--color-text-muted);margin:0;font-size:1rem;line-height:1.6}.landing-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.landing-btn{border-radius:var(--radius);border:none;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,transform .1s}.landing-btn:hover{transform:translateY(-1px)}.landing-btn:active{transform:translateY(0)}.landing-btn--primary{background:var(--color-accent);color:#141b2d}.landing-btn--primary:hover{background:#1ad4d4}.landing-btn--secondary{color:var(--color-accent);border:1px solid var(--color-accent);background:0 0}.landing-btn--secondary:hover{background:#1ec6c614}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;width:100%;max-width:800px;display:grid}.landing-step-number{color:var(--color-accent);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.landing-step-label{color:var(--color-text);font-size:.9375rem;font-weight:500}.rfp-details{flex-direction:column;align-items:center;gap:2rem;padding:2rem 0;display:flex}.rfp-details-header{text-align:center;max-width:600px}.rfp-details-logo{object-fit:contain;width:auto;height:48px;margin:0 auto 1rem;display:block}.rfp-details-title{color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.rfp-details-subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem}.rfp-details-form{width:100%;max-width:640px}.rfp-details-fields{flex-direction:column;gap:1.25rem;display:flex}.rfp-field{flex-direction:column;gap:.375rem;display:flex}.rfp-field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.rfp-field-input{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;padding:.625rem .75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.rfp-field-input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #1ec6c626}.rfp-field-input::placeholder{color:var(--color-text-muted);opacity:.6}.rfp-field-input--error{border-color:var(--color-error)}.rfp-field-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #ff6b6b26}.rfp-field-error{color:var(--color-error);margin:0;font-size:.75rem}.rfp-details-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.rfp-details-continue{border-radius:var(--radius);background:var(--color-accent);color:#141b2d;border:none;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,transform .1s}.rfp-details-continue:hover{background:#1ad4d4;transform:translateY(-1px)}.rfp-details-continue:active{transform:translateY(0)}.questions-upload{flex-direction:column;align-items:center;gap:2rem;padding:2rem 0;display:flex}.questions-upload-header{text-align:center;max-width:600px}.questions-upload-logo{object-fit:contain;width:auto;height:48px;margin:0 auto 1rem;display:block}.questions-upload-title{color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.questions-upload-subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem}.questions-upload-body{flex-direction:column;gap:1.5rem;width:100%;max-width:700px;display:flex}.section-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:block}.questions-textarea{background:var(--color-background);border:1px solid var(--color-border);width:100%;color:var(--color-text);resize:vertical;border-radius:8px;padding:.75rem;font-size:.9375rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.questions-textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #1ec6c626}.questions-textarea::placeholder{color:var(--color-text-muted);opacity:.6}.questions-file-row{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.upload-btn{border:1px solid var(--color-accent);color:var(--color-accent);background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:background-color .15s}.upload-btn:hover{background:#1ec6c614}.upload-hint{color:var(--color-text-muted);font-size:.75rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.supplemental-section{flex-direction:column;gap:.5rem;display:flex}.supplemental-upload-area{align-items:center;gap:.75rem;display:flex}.supplemental-list{flex-direction:column;gap:.375rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.supplemental-item{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;justify-content:space-between;align-items:center;padding:.375rem .75rem;font-size:.8125rem;display:flex}.supplemental-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.supplemental-remove{color:var(--color-text-muted);background:0 0;border:none;padding:.25rem;font-size:.75rem;transition:color .15s}.supplemental-remove:hover{color:var(--color-error)}.kb-status-section{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;font-size:.875rem;display:flex}.kb-status-text{color:var(--color-text-muted)}.kb-status-text strong{color:var(--color-text)}.kb-edit-link{margin-left:auto;font-size:.8125rem;font-weight:600}.questions-error{color:var(--color-error);margin:0;font-size:.8125rem}.questions-actions{justify-content:flex-end;display:flex}.generate-btn{border-radius:var(--radius);background:var(--color-accent);color:#141b2d;border:none;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,transform .1s}.generate-btn:hover:not(:disabled){background:#1ad4d4;transform:translateY(-1px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.processing-screen{flex-direction:column;align-items:center;gap:2rem;padding:4rem 0;display:flex}.processing-screen-header{text-align:center;max-width:600px}.processing-screen-logo{object-fit:contain;width:auto;height:48px;margin:0 auto 1rem;display:block}.processing-screen-title{color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.processing-screen-subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem}.processing-spinner-container{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex}.processing-spinner{border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:56px;height:56px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.processing-status-message{color:var(--color-text);text-align:center;font-size:1rem;font-weight:600}.processing-error-container{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;max-width:500px;padding:2rem;display:flex}.processing-error-icon{width:56px;height:56px;color:var(--color-error);background:#ff6b6b1f;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.processing-error-message{color:var(--color-error);margin:0;font-size:.9375rem}.processing-back-btn{border-radius:var(--radius);border:1px solid var(--color-accent);color:var(--color-accent);background:0 0;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;transition:background-color .15s}.processing-back-btn:hover{background:#1ec6c614}.results-screen{flex-direction:column;align-items:center;gap:2rem;padding:2rem 0;display:flex}.results-screen-header{text-align:center;max-width:600px}.results-screen-logo{object-fit:contain;width:auto;height:48px;margin:0 auto 1rem;display:block}.results-screen-title{color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.results-screen-subtitle{color:var(--color-text-muted);margin:0;font-size:.9375rem}.results-summary{flex-wrap:wrap;gap:1rem;width:100%;max-width:800px;display:flex}.results-summary-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;gap:.25rem;min-width:140px;padding:1rem;display:flex}.results-summary-value{color:var(--color-text);font-size:1.75rem;font-weight:700}.results-summary-value--accent{color:var(--color-accent)}.results-summary-value--warning{color:var(--color-error)}.results-summary-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.results-actions{justify-content:flex-end;gap:.75rem;width:100%;max-width:800px;display:flex}.results-home-btn,.results-new-btn{border-radius:var(--radius);border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:color .15s,border-color .15s}.results-home-btn:hover,.results-new-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.results-new-btn{border-color:var(--color-accent);color:var(--color-accent)}.results-new-btn:hover{background:#1ec6c614}.results-download-btn{border-radius:var(--radius);background:var(--color-accent);color:#141b2d;border:none;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,transform .1s}.results-download-btn:hover:not(:disabled){background:#1ad4d4;transform:translateY(-1px)}.results-download-btn:active:not(:disabled){transform:translateY(0)}.results-download-btn:disabled{opacity:.6;cursor:not-allowed}.results-cards{flex-direction:column;gap:1rem;width:100%;max-width:800px;display:flex}.results-cards-heading{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8125rem;font-weight:600}.result-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.result-card--not-found{border-color:var(--color-error);border-width:2px}.result-card-header{align-items:center;gap:.75rem;display:flex}.result-card-index{color:var(--color-text-muted);background:var(--color-background);text-align:center;border-radius:6px;min-width:2rem;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.result-card-question{color:var(--color-text);flex:1;margin:0;font-size:.9375rem;font-weight:600}.result-card-badge-not-found{text-transform:uppercase;letter-spacing:.04em;color:var(--color-error);white-space:nowrap;background:#ff6b6b1f;border-radius:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:700}.result-card-answer{color:var(--color-text-muted);margin:0;padding-left:.25rem;font-size:.875rem;line-height:1.6}.results-error{color:var(--color-error);text-align:center;font-size:.875rem}.admin-page{max-width:720px;margin:0 auto;padding:2rem 0}.admin-page h1{color:var(--color-text);margin:0;font-size:1.5rem;font-weight:700}.admin-page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-back-btn{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;border-radius:8px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;transition:color .15s,border-color .15s}.admin-back-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.admin-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.admin-section h2{color:var(--color-accent);margin:0 0 1rem;font-size:1rem;font-weight:700}.admin-field{flex-direction:column;gap:.25rem;margin-bottom:.875rem;display:flex}.admin-field:last-child{margin-bottom:0}.admin-field label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.admin-field input,.admin-field textarea,.admin-field select{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);resize:vertical;border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{border-color:var(--color-accent);outline:none}.admin-row{grid-template-columns:1fr 1fr;gap:.875rem;display:grid}.admin-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.admin-save-btn,.admin-validate-btn{cursor:pointer;border:none;border-radius:8px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.admin-save-btn{background:var(--color-accent);color:#141b2d}.admin-save-btn:hover{background:#1ad4d4}.admin-save-btn:disabled{opacity:.5;cursor:not-allowed}.admin-validate-btn{color:var(--color-accent);border:1px solid var(--color-accent);background:0 0}.admin-validate-btn:hover{background:#1ec6c614}.admin-validate-btn:disabled{opacity:.5;cursor:not-allowed}.admin-status{border-radius:8px;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.admin-status--success{border:1px solid var(--color-accent);color:var(--color-accent);background:#1ec6c61a}.admin-status--error{border:1px solid var(--color-error);color:var(--color-error);background:#ff6b6b14}.admin-validation-results{margin-top:1rem}.admin-validation-item{align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;display:flex}.admin-validation-icon{font-size:1rem}.admin-validation-icon--pass{color:var(--color-accent)}.admin-validation-icon--fail{color:var(--color-error)}.admin-loading{text-align:center;color:var(--color-text-muted);padding:3rem 0}.app{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.app h1{margin:0 0 .5rem;font-size:2rem;font-weight:700}.app p{color:var(--color-text-muted);margin:0}
