code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing-page{background:linear-gradient(135deg,#667eea,#764ba2);color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.landing-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 20px #0000001a;padding:2rem 0}.header-content{justify-content:space-between}.header-left{text-align:left}.header-right,.user-info{align-items:center;display:flex}.user-info{background:#667eea1a;border:1px solid #667eea33;border-radius:25px;gap:1rem;padding:.75rem 1.25rem}.user-name{color:#333;font-size:.95rem;font-weight:500}.logout-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.logout-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}@media (max-width:768px){.header-content{flex-direction:column;gap:1.5rem}.header-content,.header-left{text-align:center}.main-title{font-size:2.5rem}.main-subtitle{font-size:1.1rem}}.main-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;margin:0}.main-subtitle{color:#666;font-size:1.3rem;font-weight:400;margin:1rem 0 0}.features-section{margin:0 auto;max-width:1400px;padding:4rem 2rem}.features-container{text-align:center}.features-title{color:#fff;font-size:2.5rem;font-weight:600;margin-bottom:3rem;text-shadow:0 2px 4px #0000004d}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:2rem}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #0000;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;padding:2.5rem;position:relative;text-align:center;transition:all .3s ease}.feature-card:before{background:linear-gradient(90deg,#007bff,#0000);background:linear-gradient(90deg,var(--feature-color,#007bff),#0000);content:"";height:4px;left:0;position:absolute;right:0;top:0}.feature-card.available{cursor:pointer}.feature-card.available:hover{border-color:#007bff;border-color:var(--feature-color,#007bff);box-shadow:0 16px 48px #00000026;transform:translateY(-8px)}.feature-card.coming-soon{cursor:not-allowed;opacity:.7}.feature-icon{display:block;font-size:3.5rem;margin-bottom:1.5rem}.feature-title{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.feature-description{color:#666;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.feature-status{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.feature-status.available{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.feature-status.coming-soon{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.landing-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;margin-top:2rem;padding:2rem 0}.footer-content{margin:0 auto;max-width:1200px;padding:0 2rem;text-align:center}.footer-content p{color:#fffc;font-size:.9rem;margin:0}@media (max-width:768px){.main-title{font-size:2.5rem}.main-subtitle{font-size:1.1rem}.features-title{font-size:2rem}.features-grid{gap:1.5rem;grid-template-columns:1fr}.feature-card{padding:2rem}.features-section{padding:3rem 1rem}}@media (max-width:480px){.header-content{padding:0 1rem}.main-title{font-size:2rem}.feature-card{padding:1.5rem}}.soc-analyzer{background:linear-gradient(135deg,#f8f9fa,#e9ecef);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.soc-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 20px #0000001a;padding:2rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{padding:0 2rem;position:relative}.back-button{align-items:center;background:#6c757d;border-radius:8px;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-button:hover{background:#5a6268}.soc-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:700;margin:0}.soc-subtitle{color:#666;font-size:1.1rem;font-weight:400;margin:.5rem 0 0}.soc-main{margin:0 auto;max-width:1200px;padding:2rem}.upload-section{margin-bottom:3rem}.upload-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:2.5rem}.upload-container h2{color:#333;font-size:1.8rem;font-weight:600;margin:0 0 2rem}.upload-form{display:flex;flex-direction:column;gap:2rem}.file-input-group{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.file-input-group{grid-template-columns:1fr}}.file-input-wrapper{display:flex;flex-direction:column;gap:1rem}.file-label{align-items:center;color:#333;display:flex;font-size:1.1rem;font-weight:600;gap:.75rem;margin-bottom:.5rem}.file-icon{font-size:1.2rem}.file-input{background-color:#fafafa;border:2px dashed #ddd;border-radius:12px;cursor:pointer;font-size:.95rem;padding:1rem;transition:all .3s ease}.file-input:hover{background-color:#f0f4ff;border-color:#667eea}.file-selected{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #28a745;border-radius:8px;color:#155724;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem}.analyze-button,.file-selected{align-items:center;display:flex}.analyze-button{align-self:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;gap:.75rem;justify-content:center;min-width:250px;padding:1rem 2.5rem;transition:all .3s ease}.analyze-button:hover:not(:disabled){box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.analyze-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.analyze-icon{font-size:1.2rem}.spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.job-status{animation:fadeIn .3s ease-in;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #2196f3;border-radius:12px;margin-top:1.5rem;padding:1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.job-id{background:#ffffffb3;border-radius:4px;color:#666;font-family:Courier New,monospace;font-size:.9rem;padding:.25rem .5rem}.job-status-badge{align-items:center;color:#1976d2;display:flex;font-size:.95rem;font-weight:600;gap:.5rem}.processing-details{border-top:1px solid #2196f333;margin-top:1rem;padding-top:1rem}.processing-details p{color:#555;font-size:.9rem;margin:.5rem 0}.processing-details p:first-child{color:#1976d2;font-weight:500}.error-message{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;border-radius:12px;color:#721c24;font-weight:500;gap:.75rem;margin-top:1.5rem;padding:1rem 1.5rem}.results-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.results-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:2rem}.results-header h2{font-size:1.8rem;font-weight:600;margin:0}.results-actions{display:flex;gap:1rem}.download-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.download-button:hover{background:#ffffff4d;transform:translateY(-1px)}.results-summary{border-bottom:1px solid #e9ecef;padding:2rem}.summary-card h3{color:#333;font-size:1.4rem;font-weight:600;margin:0 0 1.5rem}.summary-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;padding:1.5rem;text-align:center;transition:all .3s ease}.stat:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.stat-value{display:block;font-size:2.5rem;margin-bottom:.5rem}.stat-label{color:#666}.results-list{display:flex;flex-direction:column;gap:2rem;padding:2rem}.result-item{border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:all .3s ease}.result-item:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.result-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:1.5rem}.control-info{flex-wrap:wrap;gap:1rem;justify-content:space-between}.control-id{font-size:1.1rem}.status-badge{align-items:center;display:flex;font-size:.85rem;gap:.5rem;letter-spacing:.5px;padding:.5rem 1rem}.result-content{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.analysis-explanation,.control-statement,.matched-paragraph{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;padding:1.5rem}.analysis-explanation h4,.control-statement h4,.matched-paragraph h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.analysis-explanation p,.control-statement p,.matched-paragraph p{color:#495057;line-height:1.6;margin:0}.result-actions{display:flex;gap:1rem;justify-content:flex-end}.correct-button{align-items:center;background:#ffc107;border:none;border-radius:8px;color:#212529;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.correct-button:hover{background:#e0a800;transform:translateY(-1px)}.correction-form{background:#fff3cd;border:1px solid #ffeaa7;border-radius:12px;margin-top:1.5rem;padding:2rem}.correction-form h4{color:#856404;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:8px;font-size:.95rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.correction-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.submit-correction{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.submit-correction:hover{background:#218838;transform:translateY(-1px)}.cancel-correction{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.cancel-correction:hover{background:#5a6268;transform:translateY(-1px)}.readonly-section{background:#e9ecef;border-radius:6px;margin-bottom:20px;padding:15px}.auditor-section{background:#fff;border:1px solid #ced4da;border-radius:6px;padding:15px}.auditor-section h5,.readonly-section h5{color:#495057;font-size:1.1em;font-weight:600;margin-bottom:15px;margin-top:0}.readonly-field{min-height:80px;resize:vertical}.confidence-value{color:#495057;font-weight:700;margin-left:10px}.form-group input[type=range]{margin-right:10px;width:calc(100% - 60px)}.submit-correction:disabled{background:#6c757d;cursor:not-allowed;transform:none}.field-help{color:#6c757d;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}@media (max-width:768px){.soc-main{padding:1rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.soc-title{font-size:2rem}.upload-container{padding:1.5rem}.results-header{gap:1rem}.control-info,.results-header{align-items:flex-start;flex-direction:column}.result-content{padding:1.5rem}.correction-actions{flex-direction:column}}.matched-paragraph-section h4{font-size:1.2rem}.paragraph-text:before{font-size:2rem;left:10px;top:-5px}.paragraph-text:after{bottom:-15px;font-size:2rem;right:10px}.confidence-info,.section-info{font-size:.9rem}.no-match-content{padding:2rem}.no-match-text{font-size:1.1rem}.rag-summary{background:linear-gradient(135deg,#f8f9ff,#e9ecf7);border-left:4px solid #667eea}.rag-message{background:#667eea1a;border:1px solid #667eea33;border-radius:8px;color:#333;font-weight:500;margin-bottom:1rem;padding:1rem}.rag-stat .stat-value{font-weight:700}.rag-metrics{border-top:1px solid #667eea33;margin-top:1rem;padding-top:1rem}.metric-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.5rem}.metric-label{color:#666;font-weight:500}.metric-value{color:#333;font-weight:600}.status-badges{flex-wrap:wrap;gap:.5rem}.rag-badge,.status-badges{align-items:center;display:flex}.rag-badge{border-radius:12px;cursor:help;font-size:.8rem;font-weight:500;gap:.25rem;padding:.25rem .75rem;transition:all .3s ease}.rag-badge:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.rag-info{background:#667eea0d;border:1px solid #667eea1a;border-radius:8px;font-size:.9rem;margin-top:1rem;padding:1rem}.rag-method{color:#333;margin-bottom:.75rem}.audit-examples{color:#666;font-style:italic;font-weight:400}.confidence-indicators{color:#333}.confidence-indicators strong{display:block;margin-bottom:.5rem}.confidence-item{background:#28a7451a;border:1px solid #28a74533;border-radius:4px;display:inline-block;font-size:.8rem;margin-bottom:.25rem;margin-right:1rem;padding:.25rem .5rem}@media (max-width:768px){.status-badges{align-items:flex-start;flex-direction:column;gap:.25rem}.rag-badge{font-size:.75rem;padding:.2rem .6rem}.metric-row{align-items:flex-start;flex-direction:column;gap:.25rem}.confidence-item{display:block;margin-bottom:.5rem}}.auditor-corner-modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.auditor-corner-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:90%}.auditor-corner-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.auditor-corner-header h2{font-size:24px;font-weight:600;margin:0}.auditor-corner-body{flex:1 1;overflow-y:auto;padding:30px}.search-section{margin-bottom:25px}.search-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.analyses-table-container{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.analyses-table{background:#fff;border-collapse:collapse;width:100%}.analyses-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#495057;font-weight:600;padding:16px;text-align:left;white-space:nowrap}.analyses-table td{border-bottom:1px solid #e0e0e0;padding:16px;vertical-align:middle}.analyses-table tr:hover{background-color:#f8f9fa}.analyses-table tr:last-child td{border-bottom:none}.analysis-name-link{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-align:left;text-decoration:underline;transition:color .3s ease}.analysis-name-link:hover{color:#5a6fd8}.corrections-count{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px}.corrections-count.has-corrections{background-color:#d4edda;color:#155724}.corrections-count.no-corrections{background-color:#f8d7da;color:#721c24}.view-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.view-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.pagination{align-items:center;display:flex;justify-content:space-between;margin-top:25px;padding:20px 0}.pagination-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease}.pagination-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.pagination-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.pagination-info{color:#6c757d;font-size:14px;font-weight:500}.no-results{color:#6c757d;font-style:italic;padding:40px 20px;text-align:center}@media (max-width:768px){.auditor-corner-content{max-height:95vh;width:95%}.auditor-corner-header{padding:15px 20px}.auditor-corner-header h2{font-size:20px}.auditor-corner-body{padding:20px}.analyses-table td,.analyses-table th{font-size:14px;padding:12px 8px}.pagination{flex-direction:column;gap:15px}.pagination-button{width:100%}}.analysis-details-modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.analysis-details-content{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:95vh;max-width:1400px;width:95%}.analysis-details-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.analysis-details-header h2{font-size:24px;font-weight:600;margin:0}.back-button{font-size:14px;padding:8px 16px}.back-button,.close-button{border:none;transition:background-color .3s ease}.close-button{align-items:center;background:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:35px;justify-content:center;padding:5px;width:35px}.close-button:hover{background-color:#fff3}.analysis-details-body{flex:1 1;overflow-y:auto;padding:30px}.analysis-summary{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:30px;padding:20px}.analysis-summary h3{color:#495057;font-size:18px;margin:0 0 15px}.summary-stats{display:flex;flex-wrap:wrap;gap:20px}.stat{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;min-width:120px;padding:15px}.stat-value{color:#667eea;font-size:24px;font-weight:700;margin-bottom:5px}.stat-label{font-size:12px;letter-spacing:.5px;text-align:center;text-transform:uppercase}.controls-section{margin-bottom:30px}.controls-section h3{border-bottom:2px solid #e0e0e0;color:#495057;font-size:20px;margin:0 0 20px;padding-bottom:10px}.controls-list{display:flex;flex-direction:column;gap:20px}.control-item{background:#fff;border:1px solid #e0e0e0;padding:20px;transition:box-shadow .3s ease}.control-item:hover{box-shadow:0 4px 12px #0000001a}.control-item.has-correction{background:#f8fff9;border-left:4px solid #28a745}.control-header{align-items:center;margin-bottom:15px}.control-info{align-items:center;display:flex;gap:15px}.control-id{background:#e9ecef;border-radius:4px;color:#495057;font-size:12px;padding:4px 8px}.control-status{font-size:14px;font-weight:500}.correction-indicator{background:#d4edda;border-radius:12px;color:#155724;font-size:12px;font-weight:600;padding:4px 8px}.edit-correction-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:transform .2s ease,box-shadow .2s ease}.edit-correction-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.edit-correction-button:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.control-content{margin-bottom:15px}.ai-analysis,.control-text{background:#f8f9fa;border-radius:6px;font-size:14px;line-height:1.5;margin-bottom:10px;padding:10px}.ai-analysis strong,.control-text strong{color:#495057}.matched-paragraph-section{background:linear-gradient(135deg,#e3f2fd,#f0f7ff);border:2px solid #2196f3;border-radius:12px;margin-bottom:15px;padding:1.5rem;position:relative}.matched-paragraph-section h4{align-items:center;color:#1565c0;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.matched-content{display:flex;flex-direction:column;gap:1rem}.paragraph-text{background:#fff;border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#333;font-size:14px;font-style:italic;line-height:1.6;padding:1.25rem;position:relative}.paragraph-text:before{left:8px;top:-2px}.paragraph-text:after,.paragraph-text:before{color:#2196f3;content:'"';font-size:1.5rem;font-weight:700;position:absolute}.paragraph-text:after{bottom:-10px;right:8px}.confidence-info,.section-info{background:#2196f31a;border-radius:6px;color:#1565c0;font-size:.85rem;padding:.75rem}.analysis-context{background:#ffc1071a;border-left:3px solid #ffc107;border-radius:6px;padding:.75rem}.analysis-context small{color:#856404;font-size:.8rem;font-style:italic}.no-match-content{padding:1.5rem;text-align:center}.no-match-text{color:#dc3545;font-size:1rem;font-weight:600;margin-bottom:.5rem}.no-match-explanation{color:#6c757d;font-size:.9rem;font-style:italic;margin:0}.correction-form{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-top:15px;padding:20px}.correction-form h4{color:#495057;font-size:16px;margin:0 0 15px}.form-group{margin-bottom:15px}.form-group label{color:#495057;font-size:14px;margin-bottom:5px}.form-group select,.form-group textarea{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .3s ease;width:100%}.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group input[type=range]{margin-bottom:5px;width:100%}.confidence-value{color:#667eea;font-size:14px;font-weight:600}.readonly-field{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed}.confidence-slider{width:100%}.confidence-labels{color:#6c757d;display:flex;font-size:12px;justify-content:space-between;margin-top:5px}.reasoning-input-container{position:relative}.search-results{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.search-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px 8px 0 0;color:#fff;font-size:.9rem;font-weight:600;padding:12px 16px}.search-item{border-bottom:1px solid #eee;cursor:pointer;padding:12px 16px;transition:all .2s ease}.search-item:hover{background-color:#f8f9fa;transform:translateX(2px)}.search-item:last-child{border-bottom:none;border-radius:0 0 8px 8px}.search-control-id{color:#667eea;font-size:.8rem;font-weight:600;margin-bottom:4px}.search-reason{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#212529;display:-webkit-box;font-size:.9rem;line-height:1.4;margin-bottom:6px;overflow:hidden}.search-meta{align-items:center;color:#6c757d;display:flex;font-size:.75rem;justify-content:space-between}.correction-requirements{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.correction-requirements>label{color:#495057;display:block;font-size:16px;font-weight:600;margin-bottom:15px}.form-actions{gap:10px;margin-top:20px}.save-correction-button{background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .3s ease}.save-correction-button:hover:not(:disabled){background:#218838}.save-correction-button:disabled{background:#6c757d;cursor:not-allowed}.cancel-correction-button{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .3s ease}.cancel-correction-button:hover:not(:disabled){background:#5a6268}.existing-correction{background:#e8f5e8;border:1px solid #c3e6cb;border-radius:8px;margin-top:15px;padding:15px}.existing-correction h4{color:#155724;font-size:16px;margin:0 0 10px}.correction-details{display:flex;flex-direction:column;gap:8px}.correction-details>div{font-size:14px;line-height:1.4}.correction-details strong{color:#155724;font-weight:600}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-container .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:20px;width:40px}.error-message{color:#dc3545;font-size:16px;margin-bottom:20px}.retry-button{background:#dc3545;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .3s ease}.retry-button:hover{background:#c82333}@media (max-width:768px){.analysis-details-content{max-height:98vh;width:98%}.analysis-details-header{flex-direction:column;gap:10px;padding:15px 20px}.analysis-details-header h2{font-size:20px}.analysis-details-body{padding:20px}.summary-stats{justify-content:center}.stat{min-width:100px}.control-header{align-items:flex-start;flex-direction:column;gap:10px}.control-info{flex-wrap:wrap}.form-actions{flex-direction:column}.cancel-correction-button,.save-correction-button{width:100%}.matched-paragraph-section{padding:1rem}.matched-paragraph-section h4{font-size:1rem}.paragraph-text{font-size:13px;padding:1rem}.paragraph-text:after,.paragraph-text:before{font-size:1.2rem}.analysis-context,.confidence-info,.section-info{font-size:.8rem;padding:.5rem}.no-match-content{padding:1rem}.no-match-text{font-size:.9rem}.no-match-explanation{font-size:.8rem}}.engagement-planning{background:#f8f9fb;min-height:100vh}.planning-header{background:linear-gradient(180deg,#2c3e50,#34495e);color:#fff;justify-content:space-between;padding:1.5rem 2rem}.planning-header,.planning-header .header-left{align-items:center;display:flex;gap:1rem}.planning-header h1{font-size:2rem;margin:0}.planning-header p{color:#d6dde5;margin:.25rem 0 0}.planning-header .back-button{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;padding:.4rem .8rem}.planning-header .back-button:hover{background:#ffffff40}.engagement-meta{color:#d6dde5;font-size:.9rem}.planning-body{padding:2rem}.planning-section{background:#fff;border:1px solid #e3e8ef;border-radius:16px;box-shadow:0 12px 24px #0f172a0f;padding:1.5rem 1.75rem}.section-header{align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:#1f2a44;font-size:1.4rem;margin:0}.section-header p{color:#6b7280;margin:.35rem 0 0}.section-meta{color:#4b5563;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.75rem}.section-meta span{background:#f3f4f6;border-radius:999px;padding:.25rem .6rem}.comparison-table,.missing-table{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.comparison-grid{border-collapse:collapse;table-layout:fixed;width:100%}.comparison-grid td,.comparison-grid th{border-right:1px solid #e5e7eb;padding:.75rem 1rem;text-align:left;vertical-align:top}.comparison-grid td:last-child,.comparison-grid th:last-child{border-right:none}.comparison-grid th{background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#475569;font-weight:600}.comparison-grid tr+tr td{border-top:1px solid #eef2f7}.comparison-grid td{color:#1f2937;font-size:.95rem}.comparison-grid td:first-child,.comparison-grid td:nth-child(3),.comparison-grid th:first-child,.comparison-grid th:nth-child(3){width:120px}.risk-grid td,.risk-grid th{font-size:.9rem}.risk-grid td:first-child,.risk-grid th:first-child{width:90px}.risk-grid td:nth-child(5),.risk-grid th:nth-child(5){width:120px}.risk-grid td:nth-child(9),.risk-grid th:nth-child(9){width:140px}.risk-actions{display:flex;flex-direction:column;gap:.5rem}.btn-confirm,.btn-run-risk,.btn-small{background:#2f80ed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .75rem}.btn-small.active{background:#27ae60}.btn-confirm:disabled,.btn-run-risk:disabled,.btn-small:disabled{cursor:not-allowed;opacity:.6}.risk-input,.risk-textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;padding:.35rem .5rem;width:100%}.risk-textarea{min-height:64px;resize:vertical}.modal-overlay{background:#0f172a80;inset:0}.modal-content{box-shadow:0 20px 40px #0f172a33;max-width:90vw;padding:1.5rem;width:520px}.modal-content h3{margin:0 0 1rem}.confirm-modal p{color:#4b5563;line-height:1.5;margin:0 0 1.25rem}.modal-field{margin-bottom:.75rem}.modal-field label{color:#475569;display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}.modal-field input,.modal-field select,.modal-field textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:.4rem .6rem;width:100%}.modal-field select{background:#fff}.modal-field textarea{min-height:80px;resize:vertical}.modal-actions{gap:.5rem;margin-top:1rem}.modal-actions .btn-small{background:#2563eb;color:#fff}.modal-actions .btn-small:first-child{background:#f3f4f6;border:1px solid #d1d5db;color:#1f2937}.risk-confirm{display:flex;justify-content:flex-end;margin-top:1rem}.missing-section{margin-top:1.75rem}.missing-section h3{color:#b45309;margin:0 0 .75rem}.planning-empty{background:#f8fafc;border:1px dashed #d6dde5;border-radius:12px;color:#7b8794;margin-bottom:1rem;padding:1.5rem;text-align:center}.planning-error{background:#fee2e2;color:#b91c1c}.planning-error,.planning-warning{border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem}.planning-warning{background:#fff7ed;border:1px solid #fed7aa;color:#b45309}.universal-upload{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.upload-header{margin-bottom:2rem;text-align:center}.upload-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.upload-header p{color:#6c757d;font-size:1rem;margin:0}.upload-zone{background:#fafbfc;border:3px dashed #dee2e6;border-radius:12px;cursor:pointer;margin-bottom:2rem;padding:3rem 2rem;text-align:center;transition:all .3s ease}.upload-zone:hover{background:#f8f9ff;border-color:#667eea}.upload-zone.drag-over{background:#f0f4ff;border-color:#667eea;transform:scale(1.02)}.upload-zone-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:3rem;opacity:.6}.upload-text h3{color:#2c3e50;font-size:1.2rem;font-weight:500;margin:0 0 .5rem}.upload-text p{color:#6c757d;margin:0}.upload-link{color:#667eea;font-weight:500}.upload-info{margin-top:1rem}.upload-info p{color:#868e96;font-size:.9rem;margin:.25rem 0}.file-list{margin:2rem 0}.file-list h3{color:#2c3e50;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.file-items{display:flex;flex-direction:column;gap:.75rem}.file-item{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.file-item:hover{background:#f1f3f4;border-color:#dee2e6}.file-icon{font-size:1.5rem;opacity:.7}.file-details{flex:1 1}.file-name{color:#2c3e50;font-weight:500;margin-bottom:.25rem}.file-meta{color:#6c757d;font-size:.85rem;gap:.5rem}.file-meta,.file-remove{align-items:center;display:flex}.file-remove{background:#e74c3c;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.file-remove:hover{background:#c0392b;transform:scale(1.1)}.file-remove:disabled{background:#95a5a6;cursor:not-allowed;transform:none}.upload-actions{display:flex;gap:1rem;justify-content:center;margin:2rem 0}.upload-button{align-items:center;display:flex;gap:.5rem}.upload-button:hover:not(:disabled){box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.upload-button:disabled{background:#95a5a6;box-shadow:none;cursor:not-allowed;transform:none}.clear-button{background:#0000;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.clear-button:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.clear-button:disabled{cursor:not-allowed;opacity:.5}.supported-types{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:1.5rem}.supported-types h4{color:#2c3e50;font-size:1rem;font-weight:500;margin:0 0 1rem}.type-grid{grid-gap:.75rem;display:grid;gap:.75rem}.type-category{display:flex;font-size:.9rem;gap:.5rem}.type-category strong{color:#495057;min-width:100px}.type-category span{color:#6c757d}@media (max-width:768px){.universal-upload{padding:1rem}.upload-zone{padding:2rem 1rem}.upload-actions{align-items:stretch;flex-direction:column}.clear-button,.upload-button{width:100%}.file-item{padding:.75rem}.file-meta{align-items:flex-start}.file-meta,.type-category{flex-direction:column;gap:.25rem}.type-category strong{min-width:auto}}.processing-status{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.processing-status.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;font-size:2rem}.status-header{margin-bottom:2rem;text-align:center}.status-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.status-header p{color:#6c757d;font-size:1rem;margin:0}.status-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:2rem;padding:2rem}.status-overview{align-items:center;display:flex;gap:1.5rem;margin-bottom:2rem}.status-icon{font-size:3rem;line-height:1}.status-details h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.status-details p{color:#6c757d;font-size:.9rem;margin:.25rem 0}.progress-section{margin-bottom:2rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-header span:first-child{color:#2c3e50;font-weight:500}.progress-header span:last-child{color:#667eea;font-weight:600}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.progress-fill{border-radius:4px;height:100%;transition:width .5s ease}.document-info h4{color:#2c3e50;font-size:1.1rem;font-weight:500;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.5rem 0}.pipeline-steps{margin-bottom:2rem}.pipeline-steps h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:1.5rem}.steps-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:1.5rem}.step.active{background:#f8f9ff;border-color:#667eea}.step.completed{background:#f8fff8;border-color:#27ae60}.step-icon{font-size:2rem;margin-bottom:.5rem}.step.active .step-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.step-label{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:.5rem}.step-description{color:#6c757d;font-size:.85rem;line-height:1.4}.activity-log{margin-bottom:2rem}.activity-log h3{color:#2c3e50;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.log-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;max-height:200px;overflow-y:auto;padding:1rem}.log-entry{border-bottom:1px solid #e9ecef;display:flex;font-size:.9rem;gap:1rem;padding:.5rem 0}.log-entry:last-child{border-bottom:none}.log-timestamp{color:#6c757d;font-family:monospace;min-width:80px}.log-message{color:#2c3e50;flex:1 1}.error-details{background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.error-details h3{color:#d63384;font-size:1.1rem;margin:0 0 1rem}.error-message{align-items:center;color:#d63384;display:flex;gap:.5rem}.error-icon{font-size:1.2rem}.status-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.retry-button,.view-results-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .3s ease}.view-results-button{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.view-results-button:hover{box-shadow:0 4px 15px #27ae604d;transform:translateY(-2px)}.retry-button{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.retry-button:hover{box-shadow:0 4px 15px #e74c3c4d;transform:translateY(-2px)}@media (max-width:768px){.processing-status{padding:1rem}.status-card{padding:1.5rem}.status-overview{flex-direction:column;gap:1rem;text-align:center}.info-grid,.steps-container{grid-template-columns:1fr}.status-actions{align-items:stretch;flex-direction:column}.log-container{max-height:150px}.log-entry{flex-direction:column;gap:.25rem}.log-timestamp{font-size:.8rem;min-width:auto}}.structured-data-viewer{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.no-documents{padding:4rem 2rem;text-align:center}.no-documents-content{margin:0 auto;max-width:400px}.no-documents-icon{font-size:4rem;margin-bottom:1rem;opacity:.3}.no-documents h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.no-documents p{color:#6c757d;line-height:1.6;margin-bottom:2rem}.upload-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .3s ease}.upload-button:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.viewer-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:2rem}.viewer-header h2{color:#2c3e50;font-size:1.8rem;font-weight:600;margin:0}.header-actions{display:flex;gap:1rem}.export-button,.new-upload-button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.export-button{background:#28a745;color:#fff}.export-button:hover{background:#218838;transform:translateY(-1px)}.new-upload-button{background:#667eea;color:#fff}.new-upload-button:hover{background:#5a6fd8;transform:translateY(-1px)}.viewer-content{display:flex;min-height:600px}.document-sidebar{background:#f8f9fa;border-right:1px solid #e9ecef;padding:1.5rem;width:300px}.document-sidebar h3{color:#2c3e50;font-size:1.1rem;font-weight:500;margin:0 0 1rem}.document-list{gap:.5rem}.document-item{border:1px solid #0000;padding:1rem;transition:all .2s ease}.document-item:hover{background:#e9ecef}.document-item.selected{background:#e3f2fd;border-color:#2196f3}.document-name{color:#2c3e50;font-size:.9rem;font-weight:500;margin-bottom:.5rem;word-break:break-word}.document-meta{align-items:center;color:#6c757d;display:flex;font-size:.8rem;justify-content:space-between}.quality-badge{border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;padding:.2rem .5rem;text-transform:uppercase}.document-content{flex:1 1;padding:2rem}.content-header{margin-bottom:2rem}.content-header h3{color:#2c3e50;font-size:1.4rem;font-weight:600;margin:0 0 1rem}.view-tabs{border-bottom:1px solid #e9ecef;display:flex;gap:.5rem;padding-bottom:1rem}.tab{background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.tab:hover{background:#f8f9fa;color:#2c3e50}.tab.active{background:#667eea;color:#fff}.content-body{margin-top:2rem}.overview-content{display:flex;flex-direction:column;gap:2rem}.document-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;text-align:center}.stat-number{color:#667eea;font-size:2rem;font-weight:600;margin-bottom:.5rem}.stat-label{color:#6c757d;font-size:.9rem;font-weight:500}.quality-metrics h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1rem}.quality-grid{display:flex;flex-direction:column;gap:1rem}.quality-item{align-items:center;display:flex;gap:1rem}.quality-label{color:#2c3e50;font-size:.9rem;font-weight:500;min-width:150px}.quality-bar{background:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.quality-fill{border-radius:4px;height:100%;transition:width .5s ease}.quality-score{color:#2c3e50;font-size:.9rem;font-weight:600;min-width:50px;text-align:right}.processing-flags{margin-top:1rem}.processing-flags h4{color:#2c3e50;font-size:1rem;margin:0 0 .5rem}.flags-list{display:flex;flex-wrap:wrap;gap:.5rem}.flag-item{background:#fff3cd;border:1px solid #ffeaa7;border-radius:12px;color:#856404;font-size:.8rem;padding:.3rem .7rem}.processing-info h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1rem}.info-grid{display:flex;flex-direction:column;gap:.5rem}.info-row{border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:.5rem 0}.info-label{color:#6c757d;font-size:.9rem}.info-value{color:#2c3e50;font-size:.9rem;font-weight:500}.sections-content h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem}.sections-list{display:flex;flex-direction:column;gap:1.5rem}.section-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.section-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.section-level{background:#667eea;border-radius:12px;color:#fff;font-size:.7rem;font-weight:500;padding:.2rem .5rem}.section-header h4{color:#2c3e50;flex:1 1;font-size:1.1rem;margin:0}.section-pages{color:#6c757d;font-size:.8rem}.section-content{color:#495057;font-size:.9rem;line-height:1.6}.tables-content h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem}.tables-list{display:flex;flex-direction:column;gap:2rem}.table-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.table-header h4{color:#2c3e50;font-size:1.1rem;margin:0}.table-page{color:#6c757d;font-size:.8rem}.table-preview table{border-collapse:collapse;font-size:.9rem;width:100%}.table-preview td,.table-preview th{border:1px solid #dee2e6;padding:.5rem;text-align:left}.table-preview th{background:#e9ecef;color:#2c3e50;font-weight:500}.table-more{color:#6c757d;font-size:.8rem;font-style:italic;margin-top:.5rem}.chunks-content h3{color:#2c3e50;font-size:1.2rem;margin:0 0 1.5rem}.chunks-list{display:flex;flex-direction:column;gap:1.5rem}.chunk-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.chunk-header{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.chunk-id{background:#667eea;color:#fff;font-weight:500}.chunk-id,.chunk-pages,.chunk-tokens{border-radius:12px;font-size:.7rem;padding:.2rem .5rem}.chunk-pages,.chunk-tokens{background:#e9ecef;color:#495057}.chunk-context{color:#6c757d;font-size:.8rem;font-style:italic;margin-bottom:1rem}.chunk-content{color:#495057;font-size:.9rem;line-height:1.6}@media (max-width:1024px){.viewer-content{flex-direction:column}.document-sidebar{width:100%}.document-list{flex-direction:row;gap:1rem;overflow-x:auto}.document-item{min-width:200px}}@media (max-width:768px){.viewer-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{justify-content:stretch;width:100%}.export-button,.new-upload-button{flex:1 1}.document-content{padding:1rem}.document-stats{grid-template-columns:repeat(2,1fr)}.quality-item{align-items:flex-start;flex-direction:column;gap:.5rem}.quality-label{min-width:auto}.view-tabs{flex-wrap:wrap}.chunk-header{flex-direction:column;gap:.5rem}.section-header,.table-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.document-intake-workflow{background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.workflow-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1.5rem 2rem}.header-content{align-items:center;display:flex;gap:2rem;margin:0 auto;max-width:1200px}.back-button{background:#fff3;font-size:.9rem;transition:all .2s ease}.back-button:hover{background:#ffffff4d;transform:translateX(-2px)}.header-info h1{font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.header-info p{font-size:1rem;margin:0 0 1rem;opacity:.9}.engagement-info{display:flex;font-size:.9rem;gap:2rem;opacity:.8}.progress-indicator{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;justify-content:center;margin:2rem auto;max-width:600px;padding:2rem}.progress-indicator,.step{align-items:center;display:flex}.step{flex-direction:column;opacity:.4;text-align:center;transition:all .3s ease}.step.active{color:#667eea;opacity:1}.step.completed{color:#27ae60;opacity:1}.step-number{align-items:center;background:#e9ecef;border-radius:50%;display:flex;font-weight:600;height:40px;justify-content:center;margin-bottom:.5rem;transition:all .3s ease;width:40px}.step.active .step-number{background:#667eea;color:#fff}.step.completed .step-number{background:#27ae60;color:#fff}.step-label{font-size:.9rem;font-weight:500}.step-connector{background:#e9ecef;height:2px;margin:20px 1rem 0;width:60px}.error-banner{background:#fee;border:1px solid #fcc;border-radius:6px;margin:1rem 2rem;padding:1rem}.error-content{align-items:center;color:#d63384;display:flex;gap:.5rem}.error-close{background:none;border:none;color:#d63384;cursor:pointer;font-size:1.2rem;margin-left:auto}.workflow-content{margin:0 auto;max-width:1200px;padding:2rem}.workflow-footer{background:#fff;border-top:1px solid #e9ecef;margin-top:4rem;padding:1rem 2rem;text-align:center}.footer-info{color:#6c757d;display:flex;font-size:.9rem;gap:2rem;justify-content:center}@media (max-width:768px){.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.engagement-info{flex-direction:column;gap:.5rem}.progress-indicator{margin:1rem;padding:1rem}.step-connector{width:40px}.workflow-content{padding:1rem}.footer-info{flex-direction:column;gap:.5rem}}.document-validation{background:#f5f7fa;min-height:100vh}.validation-header{align-items:center;background:linear-gradient(135deg,#34495e,#2c3e50);color:#fff;display:flex;justify-content:space-between;padding:1.5rem 2rem}.validation-header .header-left{align-items:center;display:flex;gap:1.5rem}.validation-header h1{font-size:1.6rem;margin:0}.validation-header p{margin:.25rem 0 0;opacity:.8}.readiness-banner{align-items:center;display:flex;justify-content:space-between;padding:1rem 2rem}.readiness-banner.ready{background:#d4edda;color:#155724}.readiness-banner.not-ready{background:#fff3cd;color:#856404}.readiness-info{align-items:center;display:flex;gap:.75rem}.readiness-icon{font-size:1.25rem}.missing-docs{font-size:.9rem;margin-left:.5rem;opacity:.8}.btn-move-planning{background:#2f80ed;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .2s ease,opacity .2s ease}.btn-move-planning:hover:not(:disabled){background:#2369c8}.btn-move-planning:disabled{cursor:not-allowed;opacity:.6}.error-banner{background:#f8d7da;color:#721c24}.error-banner button{color:inherit}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:1rem 2rem}.summary-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;padding:1rem 1.25rem}.summary-label{color:#6c7a89;font-size:.9rem;margin-bottom:.25rem}.summary-value{color:#2c3e50;font-size:1.6rem;font-weight:700}.summary-value.success{color:#27ae60}.summary-value.warning{color:#e67e22}.summary-value.danger{color:#e74c3c}.summary-subtext{color:#7f8c8d;font-size:.85rem}.doc-metrics{color:#6c7a89;display:flex;flex-wrap:wrap;font-size:.85rem;gap:.5rem 1rem;margin-top:.5rem}.doc-summary{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:0 0 1rem}.doc-summary-item{background:#f7f9fb;border:1px solid #e6ecf2;border-radius:8px;padding:.75rem}.doc-summary-item .label{color:#7f8c8d;font-size:.85rem}.doc-summary-item .value{color:#2c3e50;font-weight:700;margin-top:.25rem}.doc-summary-item.status .value{text-transform:capitalize}.major-sections{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:.5rem 0 1rem}.major-section-item{align-items:center;background:#f7f9fb;border:1px solid #e6ecf2;border-radius:8px;color:#2c3e50;display:flex;font-size:.95rem;gap:.5rem;padding:.5rem .75rem}.status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.status-dot.yes{background:#27ae60}.status-dot.no{background:#e67e22}.section-list{margin:.5rem 0 1rem}.section-list-header{color:#2c3e50;font-weight:700}.section-list-subheader{color:#7f8c8d;font-size:.82rem;margin-top:.15rem}.section-list-header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.35rem}.section-group{display:flex;flex-direction:column;gap:.35rem}.section-group-secondary{border-top:1px solid #ecf0f1;margin-top:.9rem;padding-top:.75rem}.section-subgroup-header{color:#6b7785;font-size:.82rem;font-weight:700;letter-spacing:.03em;margin-bottom:.15rem;text-transform:uppercase}.section-add-button{background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.25rem .6rem}.section-add-button:hover{background:#f1f5f9}.section-item{align-items:center;background:#f7f9fb;border:1px solid #e6ecf2;border-radius:6px;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.35rem;padding:.4rem .6rem}.section-item-primary{background:linear-gradient(180deg,#f8fbff,#f3f8fd);border-color:#dbe7f3}.section-item-secondary{background:#fafbfd}.section-main{flex:1 1;margin-right:.5rem;min-width:0}.section-title-row{align-items:center;display:flex;gap:.5rem;min-width:0}.section-title{color:#2c3e50;flex:1 1;min-width:0}.section-subtitle{color:#607080;font-size:.83rem;line-height:1.25;margin-top:.2rem}.section-meta{color:#7f8c8d;font-size:.78rem;margin-top:.25rem}.section-kind-badge{background:#eef5fc;border:1px solid #c8dbef;border-radius:999px;color:#36546f;font-size:.72rem;font-weight:700;padding:.08rem .45rem;white-space:nowrap}.section-kind-badge-secondary{background:#f3f5f8;border-color:#d9dee6;color:#5f6d7b}.section-page{color:#7f8c8d;font-size:.85rem;white-space:nowrap}.section-actions{align-items:center;display:flex;gap:.25rem}.section-actions button{background:#fff;border:1px solid #d0d7de;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:.8rem;padding:.25rem .4rem}.section-actions button:hover{background:#f0f2f5}.section-readonly-note{color:#7f8c8d;font-size:.78rem;white-space:nowrap}.workflow-action-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}.workflow-status-stack{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:.9rem}.workflow-run-meta{grid-gap:.55rem;display:grid;gap:.55rem;margin-bottom:.9rem}.workflow-stage-strip{display:flex;flex-wrap:wrap;gap:.5rem}.workflow-stage-pill{align-items:center;background:#f8fbfd;border:1px solid #e1e8ef;border-radius:999px;color:#456;display:inline-flex;font-size:.82rem;gap:.45rem;padding:.25rem .55rem}.section-edit-form{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:.75rem}.section-edit-form input{border:1px solid #d0d7de;border-radius:4px;font-size:.9rem;padding:.35rem .5rem}.section-edit-actions{display:flex;gap:.4rem}.section-edit-actions button{background:#fff;border:1px solid #d0d7de;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.35rem .6rem}.section-edit-actions button:hover{background:#f0f2f5}.validation-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1600px;padding:1.5rem 2rem}.documents-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.documents-section h3{color:#2c3e50;font-size:1.1rem;margin:0 0 1rem}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-card{align-items:center;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s}.document-card:hover{background:#f8f9ff;border-color:#3498db}.document-card.selected{background:#e8f4ff;border-color:#3498db}.doc-icon{font-size:2rem;text-align:center;width:50px}.doc-info{flex:1 1}.doc-info h4{color:#2c3e50;font-size:.95rem;margin:0 0 .25rem}.doc-meta{color:#7f8c8d;display:flex;font-size:.8rem;gap:1rem}.doc-checksum{color:#95a5a6;font-family:monospace;font-size:.75rem;margin-top:.25rem}.doc-status{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.validated-by{color:#95a5a6;font-size:.7rem}.controls-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;padding:1.5rem}.controls-panel.empty{align-items:center;color:#95a5a6;display:flex;justify-content:center;min-height:300px}.panel-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.panel-header-main{display:flex;flex-direction:column;gap:.25rem}.panel-header h3{color:#2c3e50;font-size:1.1rem;margin:0}.control-count{color:#7f8c8d;font-size:.85rem}.btn-refresh-controls{background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.4rem .75rem}.btn-refresh-controls:hover{background:#f0f2f5}.controls-list{flex:1 1;max-height:400px;overflow-y:auto}.no-controls{color:#95a5a6;padding:2rem;text-align:center}.control-item{border:1px solid #ecf0f1;border-radius:8px;margin-bottom:.75rem;padding:1rem}.control-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.control-id{color:#2c3e50;font-size:.9rem;font-weight:600}.control-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{border-radius:4px;font-size:.65rem;font-weight:600;padding:.15rem .5rem;text-transform:uppercase}.tag.nature-automated{background:#e3f2fd;color:#1565c0}.tag.nature-manual{background:#fff3e0;color:#ef6c00}.tag.nature-it_dependent_manual{background:#f3e5f5;color:#7b1fa2}.tag.nature-unknown{background:#eceff1;color:#607d8b}.tag.type-preventive{background:#e8f5e9;color:#2e7d32}.tag.type-detective{background:#fff8e1;color:#f9a825}.tag.type-corrective{background:#fce4ec;color:#c2185b}.tag.type-unknown{background:#eceff1;color:#607d8b}.tag.frequency{background:#e0f7fa;color:#00838f}.control-description{color:#34495e;font-size:.85rem;line-height:1.5;margin:.5rem 0}.control-source{color:#95a5a6;font-size:.75rem}.validation-actions{border-top:1px solid #ecf0f1;margin-top:1rem;padding-top:1rem}.validation-actions textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-size:.9rem;margin-bottom:.75rem;min-height:60px;padding:.75rem;resize:vertical;width:100%}.action-buttons{display:flex;gap:.75rem}.section-ai-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.btn-section-ai{background:#3742fa;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-section-ai:hover{background:#2f3ad8}.btn-section-ai:disabled{cursor:not-allowed;opacity:.7}.btn-map-description{background:#6b5b95;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-map-description:hover{background:#5b4a86}.btn-map-description:disabled{cursor:not-allowed;opacity:.7}.btn-validate{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-validate:hover{background:#219a52}.btn-reject{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-reject:hover{background:#c0392b}.btn-reprocess{background:#2980b9;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-reprocess:hover{background:#2471a3}.btn-reprocess:disabled{cursor:not-allowed;opacity:.7}.btn-refresh{background:#6c7a89;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:.75rem 1rem;transition:all .2s}.btn-refresh:hover{background:#5b6977}.reprocess-message{color:#2c3e50;font-size:.85rem;margin-top:.75rem}.required-legend{margin:0 auto 2rem;max-width:1600px;padding:0 2rem}.required-legend h4{color:#7f8c8d;font-size:.85rem;letter-spacing:1px;margin:0 0 .75rem;text-transform:uppercase}.required-legend .legend-items{display:flex;flex-wrap:wrap;gap:1.5rem}.required-legend .legend-item{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem}.legend-item .check{color:#27ae60}.legend-item .pending{color:#f39c12}.controls-review,.workflow-stack{margin:0 auto 2rem;max-width:1600px;padding:0 2rem 2rem}.workflow-stack{grid-gap:1rem;display:grid;gap:1rem}.workflow-group-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.workflow-group-header h3{color:#253649;font-size:1.1rem;margin:0 0 .2rem}.workflow-section-card{background:#fff;border:1px solid #e6edf2;border-radius:12px;overflow:hidden}.workflow-section-topbar{align-items:stretch;border-bottom:1px solid #eef3f7;padding:.95rem 1rem}.workflow-section-toggle,.workflow-section-topbar{display:flex;gap:1rem;justify-content:space-between}.workflow-section-toggle{align-items:center;background:none;border:none;cursor:pointer;flex:1 1;padding:0;text-align:left}.workflow-section-heading{min-width:0}.workflow-section-heading h4{color:#223142;font-size:1rem;margin:0 0 .2rem}.workflow-section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.workflow-section-body{grid-gap:.9rem;display:grid;gap:.9rem;padding:1rem}.workflow-subsection{border-top:1px solid #eef3f7;padding-top:.85rem}.workflow-subsection-toggle{align-items:center;background:none;border:none;color:#304253;cursor:pointer;display:flex;font-weight:600;gap:.75rem;padding:0;text-align:left;width:100%}.control-description-map-review,.personnel-review,.section-ai-review{margin:0 auto 2rem;max-width:1600px;padding:0 2rem 2rem}.personnel-review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.personnel-review-error{color:#c0392b;font-size:.85rem;margin-bottom:.75rem}.personnel-review-form{grid-gap:.75rem;background:#fff;border:1px solid #ecf0f1;border-radius:10px;display:grid;gap:.75rem;grid-template-columns:repeat(5,minmax(0,1fr)) auto;margin-bottom:1rem;padding:.75rem}.personnel-review-form input{border:1px solid #d0d7de;border-radius:6px;font-size:.85rem;padding:.4rem .5rem}.personnel-review-form button{background:#1f6feb;border:1px solid #1f6feb;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.45rem .75rem}.personnel-review-list{grid-gap:.75rem;display:grid;gap:.75rem}.personnel-review-row{grid-gap:.75rem;align-items:center;background:#fff;border:1px solid #ecf0f1;border-radius:10px;display:grid;gap:.75rem;grid-template-columns:1fr auto;padding:.75rem 1rem}.personnel-review-main{grid-gap:.25rem;display:grid;gap:.25rem}.personnel-review-name{color:#2c3e50;font-weight:600}.personnel-review-title{color:#34495e;font-size:.9rem}.personnel-review-meta,.personnel-review-source{color:#7f8c8d;font-size:.8rem}.personnel-review-actions{align-items:center;display:flex;gap:.5rem}.personnel-review-actions button{background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.8rem;padding:.35rem .6rem}.personnel-review-row input{border:1px solid #d0d7de;border-radius:6px;font-size:.85rem;padding:.35rem .45rem}.control-description-map-header,.section-ai-review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-ai-run-list{grid-gap:.75rem;display:grid;gap:.75rem;margin-bottom:1rem}.section-ai-run-item{grid-gap:.5rem;align-items:center;background:#fff;border:1px solid #ecf0f1;border-radius:10px;display:grid;gap:.5rem;grid-template-columns:1fr auto;padding:.75rem 1rem}.section-ai-run-main{display:flex;flex-direction:column;gap:.35rem}.section-ai-run-title{display:flex}.section-ai-run-title,.section-ai-run-toggle{align-items:baseline;flex-wrap:wrap;gap:.75rem}.section-ai-run-toggle{background:none;border:none;cursor:pointer;display:inline-flex;padding:0;text-align:left}.section-ai-run-type{color:#2c3e50;font-weight:600}.section-ai-run-pages{color:#7f8c8d;font-size:.85rem}.section-ai-run-status{color:#5d6d7e;font-size:.85rem}.section-ai-run-status.success{color:#1e8449}.section-ai-run-status.error{color:#c0392b;grid-column:1/-1}.section-ai-run-text{background:#f7f9fb;border:1px solid #ecf0f1;border-radius:8px;color:#2c3e50;font-size:.9rem;grid-column:1/-1;line-height:1.45;padding:.75rem;white-space:pre-wrap}.section-ai-run-text.error{color:#c0392b}.section-ai-run-content{grid-column:1/-1}.section-ai-run-content,.section-ai-run-tables{grid-gap:.75rem;display:grid;gap:.75rem}.section-ai-run-table-card{background:#fff;border:1px solid #e6edf2;border-radius:8px;padding:.75rem}.section-ai-run-table-header{align-items:baseline;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.section-ai-run-table-title{color:#2c3e50;font-weight:600}.section-ai-run-table-page{color:#7f8c8d;font-size:.85rem}.section-ai-run-table-wrap{overflow-x:auto}.section-ai-run-table{border-collapse:collapse;font-size:.85rem;width:100%}.section-ai-run-table td,.section-ai-run-table th{border:1px solid #e6edf2;padding:.4rem .5rem;text-align:left;vertical-align:top}.section-ai-run-table th{background:#f3f6f9;font-weight:600}.section-ai-run-table-empty{color:#7f8c8d;font-style:italic;text-align:center}.section-ai-run-table-notes{color:#7f8c8d;font-size:.8rem;margin-top:.5rem}.section-ai-review-items{background:#fff;border:1px solid #ecf0f1;border-radius:10px;padding:1rem}.section-ai-review-title{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.section-ai-review-list{grid-gap:.5rem;display:grid;gap:.5rem}.section-ai-review-item{grid-gap:.75rem;color:#2c3e50;display:grid;font-size:.85rem;gap:.75rem;grid-template-columns:70px 1fr 1.5fr}.section-ai-review-page{color:#2c3e50;font-weight:600}.section-ai-review-section{color:#34495e}.section-ai-review-flags{color:#c0392b}.intake-v4-review{background:#f8fbff;border:1px solid #dbe8f4;border-radius:12px;margin-top:1.25rem;padding:1rem}.intake-v4-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.intake-v4-header h4{margin:0}.intake-v4-stage-statuses{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:.75rem 0 1rem}.intake-v4-stage-item{align-items:center;background:#fff;border:1px solid #e6edf2;border-radius:8px;display:flex;gap:.5rem;justify-content:space-between;padding:.45rem .6rem}.intake-v4-stage-label{color:#34495e;font-size:.85rem}.intake-v4-batch-progress{margin:.4rem 0 .25rem}.intake-v4-escalations{background:#fff;border:1px solid #e6edf2;border-radius:8px;padding:.75rem}.intake-v4-escalation-row{grid-template-columns:120px 90px 1fr}.controls-review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.controls-review-header h4{color:#2c3e50;font-size:1rem;margin:0}.controls-review-toggle{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;gap:.5rem;padding:0;text-align:left}.controls-review-toggle h4{margin:0}.controls-review-toggle-icon{color:#7f8c8d;font-size:.9rem}.controls-review-subtext{color:#7f8c8d;font-size:.85rem}.controls-review-flag,.controls-review-unmapped,.controls-review-warning{color:#c0392b;font-weight:600}.controls-review-warning{font-size:.9rem;margin:.75rem 0}.controls-review-actions{align-items:center;display:flex;gap:.75rem}.control-description-grid-header,.control-description-grid-row{grid-template-columns:110px 1.4fr 1.5fr 90px 110px 150px}.btn-rerun-controls{background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.45rem .75rem}.btn-rerun-controls:disabled{cursor:not-allowed;opacity:.6}.controls-review-message{color:#2c3e50;font-size:.85rem;margin-bottom:1rem}.controls-review-empty{border-radius:8px;color:#95a5a6;padding:1rem}.controls-group,.controls-review-empty{background:#fff;border:1px solid #ecf0f1}.controls-group{border-radius:10px;margin-bottom:1rem;overflow:hidden}.controls-group-toggle{align-items:center;background:#f7f9fb;border:none;color:#2c3e50;cursor:pointer;display:flex;font-weight:600;justify-content:space-between;padding:.75rem 1rem;text-align:left;width:100%}.controls-group-count{color:#7f8c8d;font-size:.8rem}.controls-group-body{padding:.75rem 1rem 1rem}.controls-table-header,.controls-table-row{grid-gap:.75rem;align-items:start;display:grid;gap:.75rem;grid-template-columns:50px 110px 1.5fr 120px 1fr 140px 70px 90px 80px}.controls-table-header{color:#7f8c8d;font-size:.75rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.controls-table-row{border-top:1px solid #f0f2f5;color:#2c3e50;font-size:.85rem;padding:.5rem 0}.controls-table-row .cell{min-width:0;word-break:break-word}.controls-table-row .match-warning,.controls-table-row .not-detected{color:#c0392b;font-weight:600}.controls-table-row .mapping-note-neutral{color:#7f8c8d;font-weight:600}.control-description-grid-header,.control-description-grid-row{grid-template-columns:180px minmax(280px,1fr) minmax(320px,1.2fr) 110px 110px minmax(170px,.8fr)}.status-pill{align-items:center;background:#ecf0f1;border-radius:999px;color:#7f8c8d;display:inline-flex;font-size:.75rem;justify-content:center;padding:.2rem .5rem;text-transform:uppercase}.status-pill.running{background:#fef3c7;color:#b45309}.status-pill.success{background:#e8f5e9;color:#2e7d32}.status-pill.failed{background:#fdecea;color:#c0392b}.status-pill.warning{background:#fff7ed;color:#c2410c}.control-edit-button{background:#fff;border:1px solid #d0d7de;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:.8rem;height:-webkit-fit-content;height:fit-content;padding:.35rem .6rem}.control-edit-button:hover{background:#f0f2f5}.control-edit-modal{max-width:720px}.control-edit-form{display:flex;flex-direction:column;gap:.75rem}.control-edit-form label{color:#2c3e50;display:flex;flex-direction:column;font-size:.85rem;gap:.4rem}.control-edit-form input,.control-edit-form textarea{border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.6rem}.empty-state,.loading{color:#7f8c8d;padding:2rem;text-align:center}.btn-upload{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem}.btn-upload:hover{background:#2980b9}.btn-upload-more{background:#ecf0f1;border:2px dashed #bdc3c7;border-radius:6px;color:#2c3e50;cursor:pointer;margin-top:1rem;padding:.75rem;width:100%}.btn-upload-more:hover{background:#e8f4fd;border-color:#3498db}.modal-content{max-height:80vh;overflow-y:auto}.modal-content h2{margin:0 0 1rem}.file-list{list-style:none;margin:1rem 0;max-height:200px;overflow-y:auto;padding:0}.file-list li{background:#f8f9fa;border-radius:4px;margin-bottom:.5rem;padding:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;cursor:pointer;padding:.75rem 1.5rem}.modal-actions button.btn-primary{background:#3498db;border:none;color:#fff}.modal-actions button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1024px){.validation-content{grid-template-columns:1fr}.controls-list{max-height:300px}.controls-table-header{display:none}.controls-table-row{gap:.4rem;grid-template-columns:1fr}}.document-validation{--dv-bg:#f5f7fa;--dv-surface:#fff;--dv-surface-muted:#f7f9fb;--dv-surface-soft:#f8fbfd;--dv-border:#e6edf2;--dv-border-strong:#dbe7f3;--dv-text:#243447;--dv-text-soft:#6f7f8d;--dv-text-muted:#8c9aa5;--dv-shadow:0 2px 8px #00000014;background:var(--dv-bg);color:var(--dv-text)}.document-validation.theme-dark{--dv-bg:#0f1722;--dv-surface:#151f2c;--dv-surface-muted:#182332;--dv-surface-soft:#1b2838;--dv-border:#263548;--dv-border-strong:#314761;--dv-text:#e8eef6;--dv-text-soft:#aebdca;--dv-text-muted:#91a0ad;--dv-shadow:0 10px 24px #00000047}.document-validation,.document-validation button,.document-validation input,.document-validation select,.document-validation textarea{font-family:SF Pro Text,Aptos,Segoe UI,sans-serif}.document-validation .header-actions{align-items:center;display:flex;gap:.75rem}.document-validation .theme-toggle{background:#ffffff1a;border:1px solid #ffffff47;border-radius:999px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.45rem .8rem}.document-validation .theme-toggle:hover{background:#ffffff29}.document-validation .controls-group,.document-validation .controls-panel,.document-validation .controls-review-empty,.document-validation .documents-section,.document-validation .modal-content,.document-validation .personnel-review-row,.document-validation .section-item,.document-validation .workflow-section-card{background:var(--dv-surface);border-color:var(--dv-border);box-shadow:var(--dv-shadow)}.document-validation .section-item-primary{background:linear-gradient(180deg,var(--dv-surface-soft) 0,var(--dv-surface-muted) 100%);border-color:var(--dv-border-strong)}.document-validation .document-card{background:var(--dv-surface);border-color:var(--dv-border)}.document-validation .document-card:hover{background:var(--dv-surface-soft)}.document-validation .document-card.selected{background:#3498db1f}.document-validation .controls-review-toggle h4,.document-validation .doc-info h4,.document-validation .documents-section h3,.document-validation .modal-content h2,.document-validation .panel-header h3,.document-validation .section-list-header,.document-validation .section-title,.document-validation .workflow-group-header h3,.document-validation .workflow-section-heading h4{color:var(--dv-text)}.document-validation .control-count,.document-validation .controls-review-subtext,.document-validation .doc-checksum,.document-validation .doc-meta,.document-validation .personnel-review-meta,.document-validation .personnel-review-source,.document-validation .section-list-subheader,.document-validation .section-meta,.document-validation .section-page,.document-validation .section-subtitle{color:var(--dv-text-soft)}.document-validation .controls-review-empty,.document-validation .no-controls{color:var(--dv-text-muted)}.document-validation .panel-header,.document-validation .section-group-secondary,.document-validation .workflow-section-topbar,.document-validation .workflow-subsection{border-color:var(--dv-border)}.document-validation .workflow-stack{grid-gap:1rem;display:grid;gap:1rem;margin:0 auto 2rem;max-width:1600px;padding:0 2rem 2rem}.document-validation .workflow-group-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.document-validation .workflow-group-header h3{font-size:1.08rem;margin:0 0 .2rem}.document-validation .workflow-section-card{border:1px solid var(--dv-border);border-radius:12px;overflow:hidden}.document-validation .workflow-section-card>.workflow-section-toggle{padding:.95rem 1rem .7rem}.document-validation .workflow-section-card>.workflow-section-toggle+.workflow-section-body{padding-top:0}.document-validation .workflow-section-topbar{align-items:flex-start;border-bottom:1px solid var(--dv-border);display:flex;gap:1rem;justify-content:space-between;padding:.95rem 1rem}.document-validation .workflow-section-toggle{align-items:flex-start;background:none;border:none;cursor:pointer;display:flex;flex:1 1;gap:1rem;justify-content:space-between;padding:0;text-align:left}.document-validation .workflow-section-toggle:focus-visible{border-radius:6px;outline:2px solid var(--dv-border-strong);outline-offset:4px}.document-validation .workflow-section-heading{display:flex;flex-direction:column;gap:.18rem;min-width:0}.document-validation .workflow-section-heading h4{font-size:.98rem;line-height:1.25;margin:0}.document-validation .workflow-section-body{grid-gap:.9rem;background:var(--dv-surface);display:grid;gap:.9rem;padding:1rem}.document-validation .workflow-subsection{border-top:1px solid var(--dv-border);padding-top:.85rem}.document-validation .workflow-subsection-toggle{align-items:center;background:none;border:none;color:var(--dv-text);cursor:pointer;display:flex;font-weight:600;gap:.75rem;padding:0;text-align:left;width:100%}.document-validation .control-description-grid-header,.document-validation .control-description-grid-row{grid-template-columns:110px 1.4fr 1.5fr 90px 110px 150px}.document-validation.theme-dark .controls-group,.document-validation.theme-dark .controls-panel,.document-validation.theme-dark .controls-review-empty,.document-validation.theme-dark .documents-section,.document-validation.theme-dark .modal-content,.document-validation.theme-dark .personnel-review-form,.document-validation.theme-dark .personnel-review-row,.document-validation.theme-dark .section-ai-run-table-card,.document-validation.theme-dark .section-ai-run-text,.document-validation.theme-dark .section-item,.document-validation.theme-dark .workflow-section-card{background:var(--dv-surface);color:var(--dv-text)}.document-validation.theme-dark .controls-group-toggle,.document-validation.theme-dark .doc-icon,.document-validation.theme-dark .section-kind-badge,.document-validation.theme-dark .section-kind-badge-secondary,.document-validation.theme-dark .status-badge,.document-validation.theme-dark .status-pill,.document-validation.theme-dark .workflow-stage-pill{box-shadow:none}.document-validation.theme-dark input,.document-validation.theme-dark select,.document-validation.theme-dark textarea{background:var(--dv-surface-muted);border-color:var(--dv-border);color:var(--dv-text)}.document-validation.theme-dark .controls-table-header,.document-validation.theme-dark .section-ai-run-table th{color:var(--dv-text-soft)}.document-validation.theme-dark .section-ai-run-table th{background:var(--dv-surface-muted)}.document-validation.theme-dark .controls-table-header,.document-validation.theme-dark .controls-table-row,.document-validation.theme-dark .section-ai-run-table td,.document-validation.theme-dark .section-ai-run-table th{border-color:var(--dv-border)}.document-validation.theme-dark .btn-rerun-controls,.document-validation.theme-dark .btn-upload-more,.document-validation.theme-dark .control-edit-button,.document-validation.theme-dark .personnel-review-actions button,.document-validation.theme-dark .section-add-button{background:var(--dv-surface-muted);border-color:var(--dv-border);color:var(--dv-text)}.generic-pdf-extractor{background:#f4f6f8;color:#1a2a3a;display:grid;grid-template-columns:320px 1fr;min-height:100vh}.extractor-sidebar{background:#fff;border-right:1px solid #d8dee5;display:flex;flex-direction:column;gap:12px;padding:16px}.extractor-sidebar-header{align-items:center;display:flex;justify-content:space-between}.extractor-sidebar-header h2{font-size:1.1rem;margin:0}.extractor-sidebar-header button{background:#f7f9fb;border:1px solid #c7d2de;border-radius:8px;cursor:pointer;padding:6px 10px}.extractor-create-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto}.extractor-create-row input{border:1px solid #c7d2de;border-radius:8px;padding:8px 10px}.extractor-create-row button{background:#2b6cb0;border:1px solid #2b6cb0;border-radius:8px;color:#fff;cursor:pointer;padding:8px 10px}.extractor-engagement-list{display:flex;flex-direction:column;gap:8px;overflow:auto}.engagement-item{background:#fff;border:1px solid #d8dee5;border-radius:10px;cursor:pointer;padding:10px;text-align:left}.engagement-item.active{border-color:#2b6cb0;box-shadow:inset 0 0 0 1px #2b6cb0}.engagement-item .name{font-weight:600}.engagement-item .meta{color:#6b7b8b;font-size:.8rem}.extractor-main{display:flex;flex-direction:column;gap:14px;padding:20px}.extractor-main-header h1{font-size:1.4rem;margin:0}.extractor-main-title-row{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.extractor-cost{color:#1d4f80;font-size:.95rem;font-weight:600;white-space:nowrap}.extractor-main-header .sub{color:#6b7b8b;font-size:.9rem}.banner{border-radius:10px;padding:10px 12px}.banner.error{background:#ffe9ea;border:1px solid #f3b4bc;color:#8a2030}.banner.notice{background:#e7f4ff;border:1px solid #b7dcff;color:#1d4f80}.panel{background:#fff;border:1px solid #d8dee5;border-radius:12px;padding:14px}.panel h3{margin-top:0}.row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.row label{display:flex;flex-direction:column;font-size:.9rem;gap:6px}.row input[type=file],.row select{background:#fff;border:1px solid #c7d2de;border-radius:8px;padding:8px}.row button{background:#205e44;border:1px solid #205e44;border-radius:8px;color:#fff;cursor:pointer;padding:8px 12px}.extractor-create-row button:disabled,.row button:disabled{cursor:not-allowed;opacity:.65}.checkbox-row{align-items:center;flex-direction:row;gap:8px}.document-list{display:flex;flex-direction:column;gap:8px}.document-item{background:#fff;border:1px solid #d8dee5;border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.document-item.active{border-color:#205e44;box-shadow:inset 0 0 0 1px #205e44}.run-row{align-items:center;border-bottom:1px solid #eef2f5;display:flex;gap:12px;padding:8px 0}.run-row:last-child{border-bottom:none}.status{font-size:.8rem;letter-spacing:.4px;text-transform:uppercase}.status.completed{color:#1d6d42}.status.running{color:#9a5f00}.status.failed{color:#9b2431}.section-card{border:1px solid #e4eaf0;border-radius:10px;margin-bottom:10px;padding:10px}.section-head{display:flex;gap:8px;justify-content:space-between}.table-preview-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.table-preview-card{background:#fbfcfd;border:1px solid #e4eaf0;border-radius:8px;padding:8px}.table-preview-title{display:flex;font-weight:600;gap:8px;justify-content:space-between;margin-bottom:6px}.table-preview-scroll{overflow-x:auto}.table-preview-grid{border-collapse:collapse;min-width:520px;width:100%}.table-preview-grid td,.table-preview-grid th{border:1px solid #dfe6ee;font-size:.85rem;padding:6px 8px;text-align:left;vertical-align:top}.table-preview-grid th{background:#f1f5f9}.extractor-block{background:#fbfcfd}.extractor-block,.extractor-text-block{border:1px solid #e4eaf0;border-radius:8px;padding:8px}.extractor-text-block{background:#fff}.extractor-block-anchor{margin-bottom:6px;text-align:right}.extractor-subsection-block{padding:4px 2px}.extractor-subsection-heading{color:#1a2a3a;font-size:1rem;line-height:1.3;margin:0 0 4px}.extractor-block-title{display:flex;font-weight:600;gap:8px;justify-content:space-between;margin-bottom:6px}.extractor-json-pre,.extractor-text-pre{background:#f8fafc;border:1px solid #dde5ec;border-radius:6px;font-size:.8rem;line-height:1.4;margin:0;max-height:260px;overflow:auto;padding:8px;white-space:pre-wrap;word-break:break-word}.extractor-raw-details{margin-top:10px}.table-row-toggle{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:6px}.table-toggle-btn{background:#fff;border:1px solid #c5d1de;border-radius:6px;color:#1f3a56;cursor:pointer;font-size:.8rem;padding:4px 8px}.muted{color:#6b7b8b;font-size:.9rem}@media (max-width:1024px){.generic-pdf-extractor{grid-template-columns:1fr}}.engagement-manager{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100vh;padding-bottom:2rem}.manager-header{background:linear-gradient(135deg,#2c3e50,#1a252f);box-shadow:0 2px 10px #0003;color:#fff;justify-content:space-between;padding:1.5rem 2rem}.header-left,.manager-header{align-items:center;display:flex}.header-left{gap:1.5rem}.header-left h1{font-size:1.8rem;margin:0}.header-left p{font-size:.95rem;margin:.25rem 0 0;opacity:.8}.back-button{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.back-button:hover{background:#fff3}.btn-create{background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.btn-create:hover{background:#219a52;transform:translateY(-1px)}.error-banner{align-items:center;background:#e74c3c;color:#fff;display:flex;justify-content:space-between;padding:1rem 2rem}.error-banner button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem}.manager-content{margin:0 auto;max-width:1400px;padding:2rem}.empty-state,.loading{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:4rem 2rem;text-align:center}.empty-state h3{color:#2c3e50;margin:0 0 .5rem}.empty-state p{color:#7f8c8d;margin-bottom:1.5rem}.engagements-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.engagement-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;padding:1.5rem;transition:all .2s}.engagement-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.engagement-card.selected{border-color:#3498db}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.card-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.status-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.status-initialization{background:#ecf0f1;color:#7f8c8d}.status-intake{background:#e8f6ff;color:#3498db}.status-planning{background:#fff8e1;color:#f39c12}.status-fieldwork{background:#e8f5e9;color:#27ae60}.status-reporting{background:#f3e5f5;color:#9b59b6}.status-closed{background:#e0e0e0;color:#616161}.engagement-name{color:#7f8c8d;font-size:.95rem;margin:0 0 1rem}.card-details{color:#95a5a6;display:flex;font-size:.85rem;gap:1.5rem;margin-bottom:1rem}.phase-progress{border-bottom:1px solid #ecf0f1;border-top:1px solid #ecf0f1;margin:1rem 0;padding:.75rem 0}.phase-progress,.phase-step{align-items:center;display:flex}.phase-step{flex-direction:column;gap:.25rem;opacity:.4;transition:all .2s}.phase-step.completed{opacity:.7}.phase-step.current{opacity:1}.phase-step .phase-icon{font-size:1.2rem}.phase-step .phase-label{color:#7f8c8d;font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.phase-step.current .phase-label{color:#2c3e50;font-weight:600}.phase-connector{background:#ecf0f1;flex:1 1;height:2px;margin:0 .25rem}.phase-connector.completed{background:#27ae60}.card-actions{display:flex;gap:.75rem;margin-top:1rem}.btn-transition{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.btn-transition:hover{background:#2980b9}.btn-open{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.btn-open:hover{background:#e9ecef}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:500px;padding:2rem;width:90%}.modal-content h2{color:#2c3e50;margin:0 0 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;width:100%}.form-group input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions button{border-radius:6px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.form-actions button[type=button]{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.form-actions .btn-primary{background:#3498db;border:none;color:#fff}.form-actions .btn-primary:hover{background:#2980b9}.phase-legend{margin:2rem auto;max-width:1400px;padding:0 2rem}.phase-legend h4{color:#7f8c8d;font-size:.9rem;letter-spacing:1px;margin:0 0 1rem;text-transform:uppercase}.legend-items{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{align-items:center;background:#fff;border-radius:8px;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem}.legend-item .phase-icon{font-size:1.1rem}.legend-item .phase-name{color:#2c3e50;font-weight:600}.legend-item .phase-desc{color:#95a5a6;font-size:.8rem}.firm-info{background:#e8f4fd;border-radius:6px;color:#2c3e50;margin-bottom:1rem;padding:.75rem 1rem}.client-select-row{align-items:center;display:flex;gap:.5rem}.client-select-row select{flex:1 1}.btn-add-client{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem;white-space:nowrap}.btn-add-client:hover{background:#2980b9}.btn-add-client:disabled{background:#bdc3c7;cursor:not-allowed}.add-client-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem;padding:1rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1 1}.btn-save-client{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:.5rem;padding:.5rem 1rem;width:100%}.btn-save-client:hover{background:#219a52}.btn-save-client:disabled{background:#bdc3c7;cursor:not-allowed}@media (max-width:768px){.engagements-grid{grid-template-columns:1fr}.manager-header{gap:1rem;text-align:center}.header-left,.manager-header{flex-direction:column}.phase-step .phase-label{display:none}.client-select-row,.form-row{flex-direction:column}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.login-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;margin:1rem;max-width:400px;padding:2rem;width:100%}.login-form{display:flex;flex-direction:column;gap:1.5rem}.microsoft-login-button{background:#fff;border:1px solid #d0d7de;border-radius:8px;color:#1f2328;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.875rem;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;width:100%}.microsoft-login-button:hover:not(:disabled){border-color:#8c959f;box-shadow:0 4px 12px #1f23281f;transform:translateY(-1px)}.microsoft-login-button:disabled{cursor:not-allowed;opacity:.6}.login-divider{color:#667085;font-size:.9rem;margin-bottom:1rem;position:relative;text-align:center}.login-divider:before{border-top:1px solid #e1e8ed;content:"";left:0;position:absolute;right:0;top:50%}.login-divider span{background:#fff;padding:0 .75rem;position:relative}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#2c3e50;font-size:.9rem;font-weight:500}.form-group input{border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;padding:.75rem;text-align:center}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.875rem;transition:all .3s ease}.login-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.login-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:480px){.login-modal{margin:.5rem;padding:1.5rem}}.login-button:disabled{position:relative}.login-button:disabled:after{animation:spin 1s ease infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;bottom:0;content:"";height:16px;left:0;margin:auto;position:absolute;right:0;top:0;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.json-viewer-page{color:#243245;margin:0 auto;max-width:1400px;padding:20px}.json-toolbar{background:#f7f9fc;border:1px solid #d9e2ec;border-radius:10px;margin-bottom:16px;padding:16px}.json-toolbar h2{font-size:24px;margin:0 0 12px}.json-input-row{display:flex;gap:10px}.json-input-row input{border:1px solid #c6d3e1;border-radius:8px;flex:1 1;font-size:14px;min-width:0;padding:10px 12px}.json-input-row button{background:#2d7ff9;border:1px solid #2763c4;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:10px 14px}.json-input-row button:disabled{cursor:not-allowed;opacity:.7}.json-loaded-url{color:#4b5d73;font-size:13px;margin-top:10px}.json-error{color:#b42318;font-size:14px;margin-top:10px}.json-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.json-card{background:#fff;border:1px solid #d9e2ec;border-radius:10px;padding:12px}.json-priority-card{margin-bottom:12px}.json-card h3{font-size:18px;margin:0 0 10px}.json-count,.json-empty{color:#6a7d95;font-size:14px}.json-table-wrap{overflow:auto}.json-table{border-collapse:collapse;font-size:13px;width:100%}.json-table td,.json-table th{border:1px solid #e3e9ef;padding:8px;text-align:left;vertical-align:top}.json-table th{background:#f1f5f9;font-weight:600}.json-cell-mapped-text,.json-col-mapped-text{min-width:62rem;width:62rem}.json-mapped-text{font:inherit;line-height:1.4;margin:0;white-space:pre-wrap;word-break:break-word}.json-raw{background:#fff;border:1px solid #d9e2ec;border-radius:10px;margin-top:16px;padding:12px}.json-raw summary{cursor:pointer;font-weight:600}.json-raw pre{background:#0f172a;border-radius:8px;color:#e2e8f0;font-size:12px;margin-top:12px;max-height:50vh;overflow:auto;padding:12px}.App{background-color:#f8f9fa;margin:0;min-height:100vh;padding:0}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.da13ad82.css.map*/