*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f7fa;color:#333;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;margin-bottom:40px}.header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:10px}.header p{color:#7f8c8d;font-size:1.1rem}.upload-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #00000012;margin-bottom:30px}.drop-zone{border:3px dashed #bdc3c7;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f8f9fa}.drop-zone:hover,.drop-zone.drag-over{border-color:#3498db;background-color:#e8f4f8}.drop-zone-content .upload-icon{font-size:3rem;margin-bottom:15px;display:block}.drop-zone-content p{margin:10px 0;font-size:1.1rem}.file-types{color:#7f8c8d;font-size:.9rem!important}.selected-files{margin-top:30px}.selected-files h3{color:#2c3e50;margin-bottom:15px}.file-list{background-color:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:20px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:6px;margin-bottom:8px;box-shadow:0 1px 3px #0000001a}.file-item:last-child{margin-bottom:0}.file-info{display:flex;flex-direction:column}.file-name{font-weight:500;color:#2c3e50}.file-size{font-size:.9rem;color:#7f8c8d}.remove-btn{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1.2rem;transition:background-color .2s}.remove-btn:hover:not(:disabled){background:#c0392b}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.upload-btn{background:#3498db;color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1.1rem;cursor:pointer;transition:background-color .3s;display:flex;align-items:center;gap:10px}.upload-btn:hover:not(:disabled){background:#2980b9}.upload-btn:disabled{background:#bdc3c7;cursor:not-allowed}.btn-primary{background:#27ae60;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background:#229954}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;transition:background-color .2s;margin-right:10px}.btn-secondary:hover{background:#7f8c8d}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:15px;margin-bottom:20px}.error-content{display:flex;justify-content:space-between;align-items:center}.error-content span{color:#721c24}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#721c24;padding:0 5px}.summary-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #00000012;margin-top:30px}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.summary-header h2{color:#2c3e50;font-size:1.8rem}.summary-actions{display:flex;gap:10px}.loading-spinner{display:inline-block;animation:spin 1s linear infinite}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.loading-content{background:#fff;padding:40px;border-radius:12px;text-align:center;box-shadow:0 10px 25px #0003}.loading-spinner-large{font-size:3rem;animation:spin 1s linear infinite;margin-bottom:20px}.loading-subtitle{color:#7f8c8d;font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.report-title{font-size:24px;font-weight:700;color:#2c3e50;text-align:center;margin:20px 0;border-bottom:2px solid #3498db;padding-bottom:10px}.project-info{background-color:#f8f9fa;padding:15px;border-left:4px solid #3498db;margin:15px 0;font-size:14px}.section-header{display:flex;justify-content:space-between;align-items:center;background-color:#e8f4f8;padding:12px 15px;margin:20px 0 10px;border-left:4px solid #2980b9;font-weight:700}.section-title{color:#2c3e50;font-size:18px;margin:20px 0 10px;padding-bottom:5px;border-bottom:1px solid #bdc3c7}.rating{color:#f39c12;font-weight:700;font-size:16px}.summary-item{margin:10px 0;padding:8px 12px;background-color:#f9f9f9;border-radius:4px}.main-bullet{margin:8px 0 8px 20px;padding-left:10px;position:relative}.sub-bullet{margin:5px 0 5px 40px;padding-left:10px;color:#555;font-size:14px}.alert{padding:6px 12px;border-radius:4px;font-weight:700;text-transform:uppercase;font-size:12px}.alert-None{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-Low{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-Medium{background-color:#ffeaa7;color:#856404;border:1px solid #fdcb6e}.alert-High{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.overall-rating{background-color:#e8f5e8;border:2px solid #28a745;border-radius:8px;padding:15px;margin:20px 0;text-align:center;font-size:16px}.rating-score{color:#28a745;font-size:20px;font-weight:700}.rating-text{color:#6c757d;font-style:italic}.summary-container{line-height:1.6}.summary-container p{margin:10px 0;color:#333}@media (max-width: 768px){.container{padding:15px}.header h1{font-size:2rem}.upload-section,.summary-section{padding:20px}.drop-zone{padding:30px 20px}.summary-header{flex-direction:column;align-items:flex-start;gap:15px}.summary-actions{width:100%;justify-content:flex-end}}@media print{.upload-section,.summary-header,.error-message{display:none}.summary-section{box-shadow:none;border:none}.section-header,.project-info,.summary-item{break-inside:avoid}.report-title{break-after:avoid}}
