.landing-page{color:#333}.api-key-panel{background:#fff;border:1px solid #dbe4f0;border-radius:8px;padding:1rem 1.2rem;margin-bottom:1rem}.api-key-panel h3{color:#0f4c81;margin-bottom:.25rem}.api-key-title-row{display:flex;align-items:center;gap:.45rem}.api-key-help{width:20px;height:20px;border-radius:999px;border:1px solid #b7c8df;background:#f3f8ff;color:#1b4ea1;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:help;position:relative}.api-key-popover{display:none;position:absolute;top:28px;left:-8px;width:340px;background:#fff;border:1px solid #d8e2f0;box-shadow:0 8px 28px #0f172a24;border-radius:8px;padding:.75rem .85rem;z-index:30}.api-key-popover p{margin:0 0 .4rem;color:#334155;font-size:.82rem;line-height:1.35}.api-key-popover p:last-child{margin-bottom:0}.api-key-help:hover .api-key-popover,.api-key-help:focus .api-key-popover,.api-key-help:focus-within .api-key-popover{display:block}.api-key-panel p{color:#5f6b7a;margin-bottom:.7rem}.api-key-row{display:flex;gap:.6rem}.api-key-row input{flex:1;border:1px solid #cfd8e3;border-radius:6px;padding:.55rem .7rem}.api-key-row button{border:1px solid #b7d0ff;background:#e9f1ff;color:#1b4ea1;border-radius:6px;padding:.55rem .8rem;font-weight:600}.hero{background:linear-gradient(135deg,#06c,#0cf);color:#fff;padding:6rem 2rem;text-align:center;border-radius:8px;margin-bottom:4rem}.hero-content h1{font-size:3rem;margin-bottom:1rem;font-weight:700}.hero-content p{font-size:1.2rem;margin-bottom:.5rem}.subtitle{font-size:1rem;opacity:.9;margin-bottom:2rem}.cta-button{display:inline-block;background-color:#fff;color:#06c;padding:.75rem 2rem;border-radius:4px;font-weight:600;transition:all .3s}.cta-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;text-decoration:none}.cta-button.ghost{margin-left:.8rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6)}.cta-button.ghost:hover{background:#ffffff24}.features{margin-bottom:4rem}.features h2,.benefits h2,.cta-section h2{font-size:2rem;margin-bottom:2rem;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.feature-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center;transition:all .3s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.feature-number{width:40px;height:40px;background-color:#06c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;margin:0 auto 1rem}.feature-card h3{margin-bottom:.5rem;color:#06c}.benefits{margin-bottom:4rem}.benefits-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.benefits-list li{font-size:1.1rem}.cta-section{background:#f0f4f8;padding:3rem 2rem;border-radius:8px;text-align:center}.cta-button-large{display:inline-block;background-color:#06c;color:#fff;padding:1rem 2.5rem;border-radius:4px;font-weight:600;font-size:1.1rem;transition:all .3s;margin-top:1.5rem}.cta-button-large:hover{background-color:#0052a3;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d;text-decoration:none}.upload-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 0}.upload-container{background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 12px #0000001a;max-width:600px;width:100%}.upload-container h1{font-size:2rem;color:#06c;margin-bottom:.5rem;text-align:center}.upload-subtitle{text-align:center;color:#666;margin-bottom:2rem}.upload-form{margin-bottom:2rem}.file-upload-area{position:relative;margin-bottom:2rem}.file-input{display:none}.file-label{display:block;border:2px dashed #0066cc;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s;background-color:#f8f9ff}.file-label:hover{background-color:#f0f4ff;border-color:#0052a3}.file-label:active{background-color:#e8ecff}.upload-icon{font-size:3rem;margin-bottom:.5rem}.file-label p{margin:.5rem 0;color:#333}.file-types{font-size:.9rem;color:#666}.max-size{font-size:.85rem;color:#999}.file-selected{background-color:#e8f5e9;border-left:4px solid #28a745;padding:1rem;border-radius:4px;margin-bottom:1rem}.file-selected p{margin:.25rem 0}.file-selected .file-size{color:#666;font-size:.9rem}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background-color:#06c;transition:width .3s ease}.upload-button{width:100%;padding:.75rem;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.upload-button:hover:not(:disabled){background-color:#0052a3;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d}.upload-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.status-message{margin-bottom:1rem;border-radius:6px;padding:.75rem 1rem;display:flex;align-items:center;gap:.6rem;font-size:.95rem}.upload-info{background-color:#f5f7fa;padding:1.5rem;border-radius:4px}.upload-info h3{color:#06c;margin-bottom:1rem}.upload-info ol{margin-left:1.5rem;line-height:1.8}.upload-info li{margin-bottom:.5rem}.intake-form-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 0}.form-container{background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 12px #0000001a;max-width:700px;width:100%}.form-container h1{font-size:2rem;color:#06c;margin-bottom:.5rem}.form-subtitle{color:#666;margin-bottom:2rem}.intake-form{display:flex;flex-direction:column}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:all .3s}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=email]:focus,.form-group select:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.form-group input[type=text]:disabled,.form-group input[type=number]:disabled,.form-group input[type=email]:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group small{display:block;margin-top:.25rem;color:#999;font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{margin-right:.5rem;cursor:pointer;width:16px;height:16px;accent-color:#0066cc}.submit-button{padding:.75rem 1.5rem;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:1rem}.submit-button:hover{background-color:#0052a3;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.status-message{margin-bottom:1.25rem;border-radius:6px;padding:.75rem 1rem;display:flex;align-items:center;gap:.6rem;font-size:.95rem}.status-loading{background:#edf4ff;border:1px solid #bcd8ff;color:#154b8f}.status-success{background:#e9f8ef;border:1px solid #b5e6c5;color:#146c3d}.status-error{background:#fff1f0;border:1px solid #ffccc7;color:#a8071a}.status-spinner{width:14px;height:14px;border-radius:50%;border:2px solid #c6dcff;border-top-color:#0b4ea2;animation:spin .8s linear infinite}.dashboard-page{padding:2rem 0}.dashboard-header{text-align:center;margin-bottom:3rem}.dashboard-header h1{font-size:2.5rem;color:#06c;margin-bottom:.5rem}.dashboard-header p{color:#666;font-size:1.1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.risk-card,.stats-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.risk-card h3,.stats-card h3{color:#666;font-size:.95rem;text-transform:uppercase;margin-bottom:1rem;letter-spacing:.5px}.risk-score{font-size:3rem;font-weight:700;color:#dc3545;margin:1rem 0}.risk-label{color:#999;font-size:.9rem}.stat-number{font-size:2.5rem;font-weight:700;color:#06c;margin:.5rem 0}.stats-card p{color:#666;font-size:.9rem}.summary-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.summary-section h2{color:#06c;margin-bottom:1rem}.summary-content{line-height:1.8;color:#333;font-size:1rem}.action-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-button{padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.action-button.secondary{background-color:#f0f0f0;color:#333}.action-button.secondary:hover{background-color:#e0e0e0}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;gap:2rem}.dashboard-loading .spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:#06c;border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading p{color:#666;font-size:1.1rem}.dashboard-error{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-error h2{color:#dc3545;margin-bottom:1rem}.dashboard-error p{color:#666;margin-bottom:2rem}.dashboard-error .back-button{padding:.75rem 1.5rem;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.dashboard-error .back-button:hover{background-color:#0052a3}.recommendations-page{padding:2rem 0}.recommendations-header{text-align:center;margin-bottom:3rem}.recommendations-header h1{font-size:2.5rem;color:#06c;margin-bottom:.5rem}.recommendations-header p{color:#666;font-size:1.1rem}.recommendations-content{display:grid;gap:3rem;margin-bottom:3rem}.gaps-section h2,.recommendations-section h2{color:#06c;margin-bottom:1.5rem;font-size:1.5rem}.gaps-list,.recommendations-list{display:grid;gap:1.5rem}.gap-card,.recommendation-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;border-left:5px solid;transition:all .3s}.gap-card:hover,.recommendation-card:hover{box-shadow:0 4px 12px #00000026}.gap-card.severity-critical{border-left-color:#dc3545;background-color:#fff5f5}.gap-card.severity-high{border-left-color:#ffc107;background-color:#fffbf0}.gap-card.severity-medium{border-left-color:#17a2b8;background-color:#f0f8fb}.gap-card.severity-low{border-left-color:#28a745;background-color:#f0f8f4}.recommendation-card.priority-high{border-left-color:#dc3545;background-color:#fff5f5}.recommendation-card.priority-medium{border-left-color:#ffc107;background-color:#fffbf0}.recommendation-card.priority-low{border-left-color:#28a745;background-color:#f0f8f4}.gap-header,.rec-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.gap-header h3,.rec-header h3{color:#333;margin:0;flex:1}.severity-badge,.priority-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap;margin-left:1rem}.severity-badge.critical,.severity-badge.high,.priority-badge.critical,.priority-badge.high{background-color:#dc3545;color:#fff}.severity-badge.medium,.priority-badge.medium{background-color:#ffc107;color:#333}.severity-badge.low,.priority-badge.low{background-color:#28a745;color:#fff}.gap-description,.rec-rationale{color:#555;margin-bottom:1rem;line-height:1.6}.affected-areas,.business-areas,.cost-info{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.affected-areas strong,.business-areas strong,.cost-info strong{display:block;margin-bottom:.5rem;color:#333}.affected-areas ul,.business-areas ul,.cost-info ul{margin:0;padding-left:1.5rem}.affected-areas ul li,.business-areas ul li,.cost-info ul li{color:#555;margin-bottom:.25rem}.no-data{padding:2rem;text-align:center;color:#999;background-color:#f5f5f5;border-radius:4px}.recommendations-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-button{padding:.75rem 2rem;background-color:#f0f0f0;color:#333;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.action-button:hover{background-color:#e0e0e0}.action-button.primary{background-color:#06c;color:#fff}.action-button.primary:hover{background-color:#0052a3;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d}.recommendations-error{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.recommendations-error h2{color:#dc3545;margin-bottom:1rem}.recommendations-error .back-button{padding:.75rem 1.5rem;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.recommendations-error .back-button:hover{background-color:#0052a3}.export-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 0}.export-container{background:#fff;border-radius:8px;padding:3rem;box-shadow:0 2px 12px #0000001a;max-width:700px;width:100%}.export-container h1{font-size:2rem;color:#06c;margin-bottom:.5rem;text-align:center}.export-subtitle{text-align:center;color:#666;margin-bottom:2rem}.format-selection{margin-bottom:2rem}.format-selection h2{font-size:1.3rem;color:#333;margin-bottom:1.5rem}.format-options{display:grid;gap:1rem;margin-bottom:2rem}.format-option{display:flex;align-items:center;padding:1.5rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s}.format-option:hover{border-color:#06c;background-color:#f8f9ff}.format-option input[type=radio]{width:20px;height:20px;margin-right:1rem;cursor:pointer;accent-color:#0066cc}.format-option input[type=radio]:checked+.format-info .format-icon{color:#06c}.format-option input[type=radio]:checked+.format-info .format-name{color:#06c;font-weight:600}.format-info{display:flex;gap:1rem;flex:1}.format-icon{font-size:2rem;transition:color .3s}.format-name{font-weight:500;color:#333;margin-bottom:.25rem;transition:color .3s}.format-desc{font-size:.85rem;color:#666}.export-preview{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.export-preview h3{color:#333;margin-bottom:1rem}.export-preview ul{list-style:none;padding:0;margin:0;column-count:2;column-gap:2rem}.export-preview ul li{color:#666;margin-bottom:.5rem}.export-preview ul li:before{content:"✓ ";color:#28a745;font-weight:700;margin-right:.5rem}.export-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.export-button{padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.export-button.primary{background-color:#06c;color:#fff}.export-button.primary:hover:not(:disabled){background-color:#0052a3;transform:translateY(-2px);box-shadow:0 4px 12px #0066cc4d}.export-button.primary:disabled{background-color:#ccc;cursor:not-allowed}.export-button.secondary{background-color:#f0f0f0;color:#333}.export-button.secondary:hover{background-color:#e0e0e0}.export-error{background:#fff;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center}.export-error h2{color:#dc3545;margin-bottom:1rem}.export-error p{color:#666;margin-bottom:2rem}.export-error .back-button{padding:.75rem 1.5rem;background-color:#06c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600}.export-error .back-button:hover{background-color:#0052a3}.workspace-page{display:grid;gap:1.5rem}.workspace-header{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem}.workspace-header h1{color:#0f4c81;margin-bottom:.35rem}.workspace-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-list{display:grid;gap:.75rem;margin-top:.75rem}.workspace-card{border:1px solid #dbe4f0;border-radius:8px;padding:.85rem 1rem;display:flex;justify-content:space-between;gap:1rem}.workspace-card h3{font-size:.95rem;margin-bottom:.3rem;color:#0f4c81}.workspace-card p{font-size:.85rem;color:#4b5563;margin:.1rem 0}.card-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem}.analysis-chat{width:100%;margin-top:.6rem;border-top:1px solid #e6edf7;padding-top:.7rem}.chat-messages{max-height:240px;overflow-y:auto;display:grid;gap:.45rem;padding-right:.2rem}.chat-msg{border:1px solid #dbe4f0;border-radius:8px;padding:.45rem .55rem;background:#fafcff}.chat-msg.assistant{background:#eef6ff}.chat-role{display:inline-block;font-size:.72rem;color:#475569;margin-bottom:.15rem;font-weight:600}.chat-msg p{margin:0;font-size:.84rem;line-height:1.35;color:#1f2937;white-space:pre-wrap}.chat-md{font-size:.84rem;line-height:1.4;color:#1f2937}.chat-md h3,.chat-md h4,.chat-md h5{margin:.2rem 0 .3rem;color:#0f4c81}.chat-md code{background:#eef2ff;color:#1e3a8a;border-radius:4px;padding:.08rem .3rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chat-md pre{background:#0f172a;color:#e2e8f0;padding:.55rem .7rem;border-radius:8px;overflow-x:auto;margin:.4rem 0}.chat-md pre code{background:transparent;color:inherit;padding:0}.chat-md ul{margin:.2rem 0 .2rem 1rem}.chat-md a{color:#1d4ed8;text-decoration:underline}.chat-input-row{margin-top:.55rem;display:flex;gap:.45rem}.chat-input-row input{flex:1;border:1px solid #ccd8e8;border-radius:6px;padding:.45rem .55rem;font-size:.85rem}.small-btn{border:1px solid #c7d2e0;background:#f8fafc;border-radius:6px;padding:.35rem .6rem;font-size:.8rem}.small-btn.primary{background:#e6f0ff;border-color:#b7d0ff;color:#1e40af}.small-btn.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.empty-text{margin-top:.7rem;color:#6b7280}.workspace-loading{min-height:45vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem}.spinner{width:20px;height:20px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 860px){.workspace-card{flex-direction:column}}.header{background-color:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.navbar{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem}.logo{font-size:1.5rem;font-weight:700;color:#06c}.logo:hover{text-decoration:none}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{color:#333;transition:color .3s}.nav-menu a:hover{color:#06c;text-decoration:none}.main-content{max-width:1200px;width:100%;margin:0 auto;padding:2rem 1.5rem}.footer{background-color:#343a40;color:#fff;text-align:center;padding:2rem;margin-top:auto}.footer p{margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;color:#333}html{scroll-behavior:smooth}a{color:#06c;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;font-family:inherit}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
