.add-project-form{display:flex;gap:10px;align-items:center;width:100%}.github-url-input{flex-grow:1;padding:12px 15px;font-size:1rem;border:1px solid #cbd5e0;border-radius:6px;background-color:#edf2f7;color:#4a5568}.github-url-input::placeholder{color:#a0aec0}.add-project-button{padding:12px 15px;background-color:#4a5568;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s;flex-shrink:0}.add-project-button:hover{background-color:#2d3748}.add-project-button:disabled{background-color:#a0aec0;cursor:not-allowed}.form-error,.form-success{width:100%;margin-top:8px;font-size:.9rem;text-align:left}.form-error{color:#c53030}.form-success{color:#2f855a}.project-card-link{text-decoration:none;color:inherit;display:block}.project-card{background-color:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px #00000012,0 4px 6px #0000000d;border-color:#cbd5e0}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.project-name{font-size:1.4rem;font-weight:600;color:#2d3748;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:80%}.vulnerability-badge{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:16px;font-weight:600;font-size:.9rem;padding:0 12px}.severity-none{background-color:#e2e8f0;color:#718096}.severity-low{background-color:#c6f6d5;color:#2f855a}.severity-medium{background-color:#feebc8;color:#dd6b20}.severity-high{background-color:#fed7d7;color:#e53e3e}.repo-section{display:flex;align-items:center;background-color:#f7fafc;padding:10px 14px;border-radius:8px;font-size:.95rem;border:1px solid #edf2f7}.repo-link{color:#4299e1;text-decoration:none;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.repo-link:hover{text-decoration:underline}.project-details{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;align-items:center;gap:8px}.icon{font-size:1.1rem;color:#718096;display:inline-flex;align-items:center;justify-content:center}.repo-icon{margin-right:8px}.detail-label{font-size:.85rem;color:#718096;font-weight:500}.detail-value{font-size:.95rem;color:#2d3748;font-weight:600;margin-left:auto}.project-list{display:grid;gap:20px;grid-template-columns:1fr}.homepage-container{display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:0 20px 20px}.top-content-section{flex-grow:.5;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px 0;width:100%}.homepage-header{width:100%;margin-bottom:30px}.homepage-header h1{font-size:2.2rem;font-weight:600;color:#2d3748}.add-project-section{width:100%;margin:0 auto}.section-divider{border:none;border-top:1px solid #cbd5e0;margin:30px 0}.recent-projects-section{width:100%;padding-top:0;margin-top:-5px}.recent-projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recent-projects-header h2{font-size:1.5rem;font-weight:600;color:#2d3748}.view-all-button{background:none;border:1px solid #718096;color:#718096;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;text-decoration:none;transition:background-color .2s ease,color .2s ease}.view-all-button:hover{background-color:#edf2f7;color:#4a5568}.project-list-scrollable-container{max-height:400px;overflow-y:auto;padding-right:10px;padding-bottom:20px}.project-list-scrollable-container::-webkit-scrollbar{width:8px}.project-list-scrollable-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.project-list-scrollable-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}.project-list-scrollable-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.loading-text,.no-projects-text{text-align:center;padding:20px;color:#718096;font-style:italic}.error-message{color:#e53e3e;background-color:#fff5f5;border:1px solid #f56565;padding:10px;border-radius:4px;margin-top:5px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:20px;width:100%;max-width:400px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:500;font-size:.9rem;color:#4a5568;text-align:left}.form-group input{padding:12px 15px;border:1px solid #cbd5e0;border-radius:6px;font-size:1rem;background-color:#f7fafc}.form-group input:focus{outline:none;border-color:#5a67d8;box-shadow:0 0 0 2px #5a67d833}.submit-button{padding:12px 15px;background-color:#5a67d8;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:10px}.submit-button:hover{background-color:#434190}.submit-button:disabled{background-color:#a0aec0;cursor:not-allowed}.error-message{color:#e53e3e;background-color:#fff5f5;border:1px solid #f56565;padding:10px;border-radius:4px;font-size:.9rem;text-align:center}.auth-switch-link{margin-top:20px;text-align:center;font-size:.9rem;color:#4a5568}.auth-switch-link a{color:#5a67d8;font-weight:500;text-decoration:none}.auth-switch-link a:hover{text-decoration:underline}.auth-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:20px;background-color:#f4f7f6}.auth-form-container{background-color:#fff;padding:30px 40px;border-radius:8px;box-shadow:0 4px 12px #00000014;width:100%;max-width:480px;text-align:center}.auth-title{font-size:1.8rem;font-weight:600;color:#2d3748;margin-bottom:10px}.auth-subtitle{font-size:1rem;color:#718096;margin-bottom:30px}.verification-content{text-align:center;padding:20px 0}.verification-message{font-size:1.1rem;margin-bottom:12px}.verification-instructions{margin-bottom:24px;color:#4a5568}.verification-icon{font-size:3rem;margin:24px 0}.verification-note{font-size:.9rem;color:#718096;margin-bottom:24px}.resend-link{color:#3182ce;text-decoration:none}.resend-link:hover{text-decoration:underline}.back-to-login{display:inline-block;background-color:#3182ce;color:#fff;padding:8px 16px;border-radius:4px;text-decoration:none;transition:background-color .2s}.back-to-login:hover{background-color:#2c5282}.project-detail-page{max-width:1200px;margin:0 auto;padding:20px}.page-header{display:flex;align-items:center;margin-bottom:24px}.back-link{color:#3182ce;text-decoration:none;margin-right:16px;font-size:.9rem;display:inline-flex;align-items:center}.back-link:hover{text-decoration:underline}.page-header h1{margin:0;font-size:1.8rem;color:#2d3748}.project-overview{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;margin-bottom:32px;display:flex;justify-content:space-between}.project-info{flex:1}.project-info h2{margin-top:0;margin-bottom:16px;font-size:1.4rem;color:#2d3748}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column}.info-label{font-size:.85rem;color:#718096;margin-bottom:4px}.repo-url{color:#3182ce;text-decoration:none;word-break:break-all;font-size:.95rem}.repo-url:hover{text-decoration:underline}.project-actions{display:flex;flex-direction:column;justify-content:flex-start;margin-left:32px}.scan-now-btn{background-color:#3182ce;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-weight:500;cursor:pointer;transition:background-color .2s}.scan-now-btn:hover{background-color:#2c5282}.scans-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px}.scans-section h2{margin-top:0;margin-bottom:16px;font-size:1.4rem;color:#2d3748}.no-scans-message{padding:16px;text-align:center;color:#718096;background-color:#f7fafc;border-radius:4px}.scans-table-wrapper{overflow-x:auto}.scans-table{width:100%;border-collapse:collapse}.scans-table th,.scans-table td{padding:12px 16px;text-align:left}.scans-table th{background-color:#f7fafc;font-weight:600;color:#4a5568}.scans-table tr{border-bottom:1px solid #e2e8f0}.scans-table tr:hover{background-color:#f7fafc}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.status-success{background-color:#c6f6d5;color:#2f855a}.status-pending{background-color:#bee3f8;color:#2b6cb0}.status-error{background-color:#fed7d7;color:#e53e3e}.status-unknown{background-color:#e2e8f0;color:#718096}.severity-none{color:#718096}.severity-low{color:#2f855a;font-weight:500}.severity-medium{color:#dd6b20;font-weight:500}.severity-high{color:#e53e3e;font-weight:600}.view-details-btn{background-color:#4299e1;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:.85rem;cursor:pointer}.view-details-btn:disabled{background-color:#e2e8f0;color:#a0aec0;cursor:not-allowed}.view-details-btn:hover{background-color:#3182ce}.view-details-btn:disabled:hover{background-color:#e2e8f0}.error-container{text-align:center;padding:40px}.error-message{color:#e53e3e;margin-bottom:16px}.back-button{display:inline-block;background-color:#3182ce;color:#fff;text-decoration:none;padding:8px 16px;border-radius:4px}.scan-summary-card{background-color:#fff;padding:20px;border-radius:6px;box-shadow:0 2px 4px #0000000d;margin-bottom:25px;border:1px solid #e0e0e0}.summary-title{font-size:1.3rem;font-weight:600;color:#343a40;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.summary-item{background-color:#f8f9fa;padding:10px;border-radius:4px;border:1px solid #e9ecef}.summary-label{display:block;font-size:.85rem;color:#6c757d;margin-bottom:4px;font-weight:500}.summary-value{font-size:1rem;color:#212529;font-weight:600;word-break:break-all}.vulnerability-counts{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.vulnerability-counts h3{font-size:1rem;font-weight:600;margin-bottom:8px}.vulnerability-counts ul{list-style:none;padding-left:0}.vulnerability-counts li{font-size:.9rem;color:#495057;margin-bottom:4px}.summary-actions{margin-top:20px;text-align:center}.download-pdf-button{background-color:#3182ce;color:#fff;border:none;border-radius:4px;padding:10px 16px;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;display:flex;align-items:center;justify-content:center;width:100%;max-width:250px;margin:0 auto}.download-pdf-button:hover{background-color:#2c5282;transform:translateY(-1px)}.download-pdf-button:active{transform:translateY(0)}.download-pdf-button:disabled{background-color:#a0aec0;cursor:not-allowed}.download-pdf-button:before{content:"📄";margin-right:8px}.vulnerability-item-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:20px;box-shadow:0 1px 3px #0000000a;overflow:hidden}.file-info-header{background-color:#f8f9fa;padding:12px 15px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.file-name{font-size:1.1rem;font-weight:600;color:#007bff;margin:0}.file-meta{font-size:.85rem;color:#6c757d}.view-file-link{font-size:.85rem;color:#007bff;text-decoration:none;font-weight:500}.view-file-link:hover{text-decoration:underline}.vulnerability-details{padding:15px}.vulnerability-name{font-size:1.05rem;font-weight:700;color:#dc3545;background-color:#fee2e2;border:1px solid #f5c6cb;padding:8px 12px;border-radius:4px;margin-bottom:10px;display:inline-block}.detail-item{margin-bottom:8px;font-size:.95rem;line-height:1.5}.detail-label{font-weight:600;color:#495057;margin-right:5px}.code-snippet-container{margin-top:10px;margin-bottom:10px}.code-snippet{background-color:#282c34;color:#abb2bf;padding:10px 15px;border-radius:4px;overflow-x:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.85em;white-space:pre}.suggestion-container{margin-top:15px;padding:12px;background-color:#e6f7ff;border:1px solid #b3e0ff;border-radius:4px}.suggestion-title{font-size:1rem;font-weight:600;color:#004085;margin-top:0;margin-bottom:8px}.suggestion-text{font-size:.9rem;color:#004085;line-height:1.6;white-space:pre-wrap}.markdown-content{line-height:1.5}.markdown-content p{margin:.5em 0}.markdown-content ul,.markdown-content ol{margin-top:.5em;margin-bottom:.5em;padding-left:1.5em}.markdown-content code{background-color:#f0f0f0;padding:.2em .4em;border-radius:3px;font-family:monospace;font-size:.9em}.markdown-content pre{background-color:#f5f5f5;padding:1em;border-radius:5px;overflow-x:auto}.markdown-content a{color:#3182ce;text-decoration:none}.markdown-content a:hover{text-decoration:underline}.vulnerability-list-container{margin-top:20px}.vulnerability-list-title{font-size:1.5rem;font-weight:600;color:#343a40;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #dee2e6}.no-vulnerabilities{text-align:center;padding:20px;font-size:1.1rem;color:#6c757d;background-color:#fff;border:1px solid #e0e0e0;border-radius:5px}.scan-report-page{padding:20px 10px;max-width:98%;margin:0 auto;background-color:#f8f9fa}.scan-report-header{display:flex;align-items:center;margin-bottom:24px}.scan-report-header h1{margin:0;font-size:1.8rem;color:#2d3748}.back-button{display:inline-flex;align-items:center;background-color:#3182ce;color:#fff;border:none;border-radius:4px;padding:8px 16px;margin-right:16px;font-size:.9rem;cursor:pointer;transition:background-color .2s}.back-button:hover{background-color:#2c5282}.scan-report-content{display:flex;gap:24px;height:calc(100vh - 150px)}.scan-summary-column{flex:1;min-width:300px;overflow-y:auto;padding-right:10px}.vulnerabilities-column{flex:2;overflow-y:auto;padding-right:10px;border-left:1px solid #e2e8f0;padding-left:20px}.vulnerabilities-column::-webkit-scrollbar{width:8px}.vulnerabilities-column::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.vulnerabilities-column::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.vulnerabilities-column::-webkit-scrollbar-thumb:hover{background:#a0aec0}.vulnerabilities-title{font-size:1.4rem;color:#2d3748;margin-top:0;margin-bottom:16px}.loading-container{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.1rem;color:#718096}.error-message-inline{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center}@media (max-width: 768px){.scan-report-content{flex-direction:column}.scan-summary-column,.vulnerabilities-column{width:100%}}.navbar{background-color:#fff;padding:1rem 1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.navbar-brand .brand-link{font-size:1.5rem;font-weight:700;color:#333;display:flex;align-items:center}.shield-icon{margin-right:.5rem;color:#5a67d8}.navbar-menu{display:flex;align-items:center}.navbar-item{margin-left:1rem;padding:.5rem .75rem;color:#555;border-radius:4px;transition:background-color .2s ease}.navbar-item:hover{background-color:#f0f0f0;color:#333}.logout-button{background-color:#e53e3e;color:#fff;border:none}.logout-button:hover{background-color:#c53030}.user-display{background-color:#e2e8f0;padding:.5rem 1rem;border-radius:4px;color:#4a5568;margin-right:1rem;font-weight:500}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1;padding:20px;max-width:95%;margin:0 auto;width:100%}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;background-color:#f4f7f6;color:#333}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit}input,button{font-size:1rem;padding:.5em .75em;border-radius:4px;border:1px solid #ccc}
