*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3b82f6;--primary-dark: #2563eb;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--gray-50);color:var(--gray-900);line-height:1.6}code{font-family:Monaco,Courier New,monospace;background:var(--gray-100);padding:2px 6px;border-radius:4px;font-size:.9em}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 0;box-shadow:0 4px 6px #0000001a}.header-content{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.logo{color:#fff}h1{font-size:2rem;font-weight:700}.subtitle{font-size:1rem;opacity:.9;margin-left:48px}.container{max-width:1000px;margin:0 auto;padding:2rem 1rem;flex:1}.card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--gray-700)}.input{width:100%;padding:.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:1rem;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary)}.input:disabled{background:var(--gray-100);cursor:not-allowed}.button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.button-primary{background:var(--primary);color:#fff;width:100%}.button-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.alert{padding:1rem;border-radius:8px;margin-top:1rem;display:flex;align-items:center;gap:.75rem}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.status-section,.results-section{margin-top:2rem}h2{font-size:1.5rem;margin-bottom:1rem;color:var(--gray-800)}h3{font-size:1.25rem;margin-bottom:1rem;color:var(--gray-800);display:flex;align-items:center;gap:.5rem}.status-card{background:var(--gray-50);border-radius:8px;padding:1.5rem}.status-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray-200)}.status-row:last-child{border-bottom:none}.label{font-weight:600;color:var(--gray-600)}.status{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:6px;font-weight:600;text-transform:uppercase;font-size:.875rem}.status-pending{background:#fef3c7;color:#92400e}.status-processing{background:#dbeafe;color:#1e40af}.status-complete{background:#d1fae5;color:#065f46}.status-failed{background:#fee2e2;color:#991b1b}.link{color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:.25rem}.link:hover{text-decoration:underline}.risk-card{text-align:center;padding:2rem}.risk-score{margin-top:1rem}.score{font-size:4rem;font-weight:700;line-height:1}.risk-label{font-size:1.25rem;font-weight:600;text-transform:uppercase;margin-top:.5rem;letter-spacing:.05em}.text-green-600{color:#059669}.text-yellow-600{color:#d97706}.text-orange-600{color:#ea580c}.text-red-600{color:#dc2626}.indicators{display:flex;flex-direction:column;gap:1rem}.indicator{padding:1rem;border-radius:8px;border-left:4px solid}.severity-low{background:#ecfdf5;border-color:#10b981}.severity-medium{background:#fef3c7;border-color:#f59e0b}.severity-high{background:#fee2e2;border-color:#ef4444}.severity-critical{background:#fce7f3;border-color:#ec4899}.indicator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.indicator-type{font-weight:600;text-transform:capitalize}.indicator-severity{text-transform:uppercase;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:4px;background:#0000001a}.indicator-description{color:var(--gray-700);margin-bottom:.5rem}.indicator-evidence{display:block;font-size:.875rem;margin-top:.5rem;word-break:break-all}.screenshot{width:100%;border-radius:8px;border:1px solid var(--gray-200);box-shadow:0 2px 8px #0000001a}.stat{font-size:.875rem;color:var(--gray-600);margin-bottom:1rem}.network-log{max-height:400px;overflow-y:auto;background:var(--gray-50);border-radius:8px;padding:1rem}.network-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--gray-200);font-size:.875rem}.network-item:last-child{border-bottom:none}.method{padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem;text-transform:uppercase;min-width:60px;text-align:center}.method-get{background:#dbeafe;color:#1e40af}.method-post{background:#d1fae5;color:#065f46}.method-put{background:#fef3c7;color:#92400e}.network-url{flex:1;word-break:break-all;color:var(--gray-700)}.status-code{font-weight:600;color:var(--gray-600)}.more{text-align:center;color:var(--gray-600);font-size:.875rem;margin-top:1rem}.console-log{max-height:300px;overflow-y:auto;background:var(--gray-900);color:var(--gray-100);border-radius:8px;padding:1rem;font-family:Monaco,Courier New,monospace}.console-item{padding:.5rem 0;font-size:.875rem;display:flex;gap:.75rem}.console-type{font-weight:700;text-transform:uppercase;font-size:.75rem;min-width:50px}.type-error .console-type{color:#ef4444}.type-warn .console-type{color:#f59e0b}.type-info .console-type{color:#3b82f6}.type-log .console-type{color:#10b981}.console-text{flex:1;word-break:break-all}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metadata-item{display:flex;flex-direction:column;gap:.25rem}.metadata-item .label{font-size:.875rem;color:var(--gray-600);font-weight:600}.metadata-item .value{color:var(--gray-900);font-weight:500;word-break:break-all}.footer{background:var(--gray-800);color:var(--gray-300);text-align:center;padding:2rem 1rem;font-size:.875rem}@media (max-width: 768px){h1{font-size:1.5rem}.subtitle{margin-left:0;margin-top:.5rem}.header-content{flex-direction:column;align-items:flex-start}.status-row{flex-direction:column;align-items:flex-start;gap:.5rem}.metadata-grid{grid-template-columns:1fr}}
