.compliance-scanner{position:relative;z-index:1;padding:2rem 2.5rem 3rem;width:100%}.scanner-header{margin-bottom:2rem}.scanner-header h1{font-family:var(--font-heading),sans-serif;font-size:2.2rem;background:linear-gradient(135deg,#fff 30%,#ff6b35);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.5rem 0}.scanner-header p{color:var(--color-text-muted);font-size:.95rem;max-width:600px}.tool-tag.pro{display:inline-block;padding:.25rem .65rem;border-radius:10px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:#ff6b351a;color:#ff6b35;border:1px solid rgba(255,107,53,.15)}.scan-form-card,.scan-progress,.scan-results,.scan-history{background:#1a1a2480;backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:2rem;margin-bottom:1.5rem}.scan-form-card h2,.scan-progress h2,.scan-results h2,.scan-history h2{font-family:var(--font-heading),sans-serif;font-size:1.2rem;color:var(--color-text);margin:0 0 1.25rem}.form-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;margin-bottom:1.25rem}.form-group label{display:block;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.4rem;font-weight:500}.form-group input,.form-group select{width:100%;padding:.7rem 1rem;background:#0a0a0f99;border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--color-text);font-size:.9rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 12px #ff6b3526}.form-group select{cursor:pointer;min-width:180px}.form-group select option{background:#1a1a24;color:#fff}.upload-section{margin-bottom:1.25rem}.upload-label{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem}.upload-label span:first-child{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:500}.upload-hint{font-size:.72rem;color:#ffffff4d}.upload-zone{border:2px dashed rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem;transition:border-color .3s,background .3s;cursor:pointer}.upload-zone.dragover{border-color:var(--color-accent);background:#ff6b350d}.upload-zone p{margin:0}.browse-link{background:none;border:none;color:var(--color-accent);cursor:pointer;text-decoration:underline;font-family:inherit;font-size:inherit}.uploaded-files{margin-top:.5rem}.file-item{display:flex;justify-content:space-between;padding:.4rem .8rem;background:#ffffff08;border-radius:8px;margin-bottom:.3rem;font-size:.82rem;color:var(--color-text-muted)}.file-size{color:#ffffff4d}.scan-btn{width:100%;padding:.9rem;border:none;border-radius:14px;background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.scan-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #ff6b354d}.scan-btn:disabled{opacity:.6;cursor:not-allowed}.scan-error{margin-top:.75rem;padding:.75rem 1rem;background:#ff44441a;border:1px solid rgba(255,68,68,.2);border-radius:10px;color:#ff6b6b;font-size:.85rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.status-pill{padding:.3rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.compliance-scanner .status-pending{background:#ffd1661a;color:#ffd166}.compliance-scanner .status-scanning{background:#38bdf81a;color:#38bdf8}.compliance-scanner .status-analyzing{background:#a78bfa1a;color:#a78bfa}.compliance-scanner .status-completed{background:#06d6a01a;color:#06d6a0}.compliance-scanner .status-failed{background:#ff44441a;color:#f44}.progress-steps{max-height:300px;overflow-y:auto}.step-item{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem 0;font-size:.85rem;color:var(--color-text-muted);border-bottom:1px solid rgba(255,255,255,.03)}.step-icon{flex-shrink:0}.results-hero{display:flex;gap:2.5rem;align-items:center;margin-bottom:1.75rem;padding-bottom:1.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.score-ring{position:relative;width:120px;height:120px;flex-shrink:0}.score-svg{width:100%;height:100%;transform:rotate(-90deg)}.score-track{fill:none;stroke:#ffffff0f;stroke-width:6}.score-fill{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}.score-a .score-fill{stroke:#06d6a0;filter:drop-shadow(0 0 6px rgba(6,214,160,.4))}.score-b .score-fill{stroke:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.4))}.score-c .score-fill{stroke:#ffd166;filter:drop-shadow(0 0 6px rgba(255,209,102,.4))}.score-d .score-fill{stroke:#ff8c42;filter:drop-shadow(0 0 6px rgba(255,140,66,.4))}.score-f .score-fill{stroke:#f44;filter:drop-shadow(0 0 6px rgba(255,68,68,.4))}.score-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value{font-family:var(--font-heading),sans-serif;font-size:2.2rem;font-weight:700;color:var(--color-text);line-height:1}.score-grade{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:.15rem}.results-meta{flex:1}.results-meta h2{font-family:var(--font-heading),sans-serif;font-size:1.4rem;margin:0 0 .5rem;color:var(--color-text)}.results-tags{display:flex;gap:.5rem;margin-bottom:.75rem}.result-tag{padding:.2rem .6rem;border-radius:8px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#a78bfa1a;color:#a78bfa}.grade-tag-a{background:#06d6a01a;color:#06d6a0}.grade-tag-b{background:#38bdf81a;color:#38bdf8}.grade-tag-c{background:#ffd1661a;color:#ffd166}.grade-tag-d{background:#ff8c421a;color:#ff8c42}.grade-tag-f{background:#ff44441a;color:#f44}.results-summary{color:var(--color-text-muted);font-size:.88rem;margin:0;line-height:1.6}.results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.75rem}.stat-card{text-align:center;padding:1rem .5rem;border-radius:14px;background:#0a0a0f66;border:1px solid rgba(255,255,255,.04)}.stat-num{display:block;font-family:var(--font-heading),sans-serif;font-size:1.6rem;font-weight:700;line-height:1}.stat-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;margin-top:.3rem;color:var(--color-text-muted)}.stat-pass .stat-num{color:#06d6a0}.stat-warn .stat-num{color:#ffd166}.stat-fail .stat-num{color:#f44}.stat-info .stat-num{color:#38bdf8}.accordion-group{border:1px solid rgba(255,255,255,.05);border-radius:16px;margin-bottom:.75rem;overflow:hidden;background:#0a0a0f4d;transition:border-color .3s}.accordion-group:hover{border-color:#ffffff1a}.accordion-group.cat-fail{border-left:3px solid #ff4444}.accordion-group.cat-warn{border-left:3px solid #ffd166}.accordion-group.cat-pass{border-left:3px solid #06d6a0}.accordion-trigger{width:100%;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:none;border:none;color:var(--color-text);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:background .2s}.accordion-trigger:hover{background:#ffffff05}.accordion-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:#ffffff0d;flex-shrink:0;color:var(--color-text-muted)}.accordion-title{flex:1}.accordion-stats{font-size:.72rem;color:var(--color-text-muted);font-weight:500}.accordion-chevron{display:flex;color:var(--color-text-muted);transition:transform .3s}.accordion-group[data-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-panel{padding:0 1.25rem .75rem}.check-row{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.04)}.check-row:first-child{border-top:1px solid rgba(255,255,255,.06)}.check-row-main{display:flex;align-items:center;gap:.6rem}.check-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-pass{background:#06d6a0;box-shadow:0 0 6px #06d6a066}.dot-warn{background:#ffd166;box-shadow:0 0 6px #ffd16666}.dot-fail{background:#f44;box-shadow:0 0 6px #f446}.dot-info{background:#38bdf8;box-shadow:0 0 6px #38bdf866}.check-name{flex:1;font-weight:600;color:var(--color-text);font-size:.84rem}.check-severity{font-size:.58rem;padding:.15rem .45rem;border-radius:6px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.severity-critical{background:#ff444426;color:#f44}.severity-high{background:#ff8c4226;color:#ff8c42}.severity-medium{background:#ffd16626;color:#ffd166}.severity-low{background:#38bdf826;color:#38bdf8}.severity-info{background:#94a3b826;color:#94a3b8}.check-description{font-size:.8rem;color:var(--color-text-muted);line-height:1.55;margin-top:.35rem;padding-left:1.4rem}.check-details{margin-top:.5rem;padding-left:1.4rem}.check-details summary{font-size:.75rem;color:var(--color-accent);cursor:pointer;font-weight:500;padding:.25rem 0;user-select:none;transition:color .2s;list-style:none}.check-details summary::-webkit-details-marker{display:none}.check-details summary:before{content:"+ ";font-weight:700}.check-details[open] summary:before{content:"- "}.check-details summary:hover{color:#ff8c42}.check-rec-content{font-size:.78rem;color:var(--color-text-muted);line-height:1.55;padding:.5rem .75rem;margin-top:.35rem;background:#ff6b350a;border-left:2px solid rgba(255,107,53,.2);border-radius:0 8px 8px 0;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.recs-section{margin-top:1.75rem}.section-heading{font-family:var(--font-heading),sans-serif;font-size:1rem;color:var(--color-text);margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}.section-count{font-size:.65rem;padding:.15rem .5rem;border-radius:10px;background:#ff6b351a;color:#ff6b35;font-weight:600}.rec-item{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;background:#0a0a0f4d;border-radius:12px;margin-bottom:.5rem;border:1px solid rgba(255,255,255,.04);transition:border-color .2s,background .2s;animation:fadeIn .3s ease both}.rec-item:hover{border-color:#ffffff14;background:#0a0a0f80}.rec-number{width:24px;height:24px;border-radius:8px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--color-text-muted);flex-shrink:0;margin-top:.1rem}.rec-content{flex:1}.rec-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rec-top strong{font-size:.85rem;color:var(--color-text)}.rec-priority{flex-shrink:0;font-size:.58rem;padding:.15rem .45rem;border-radius:6px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.priority-critical{background:#ff444426;color:#f44}.priority-high{background:#ff8c4226;color:#ff8c42}.priority-medium{background:#ffd16626;color:#ffd166}.priority-low{background:#38bdf826;color:#38bdf8}.rec-content p{font-size:.8rem;color:var(--color-text-muted);margin:.3rem 0 0;line-height:1.55}.history-empty{color:var(--color-text-muted);font-size:.85rem;text-align:center;padding:2rem}.history-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0a0a0f4d;border-radius:12px;margin-bottom:.5rem;transition:background .2s}.history-item:hover{background:#0a0a0f80}.history-domain{flex:1;font-weight:600;color:var(--color-text);font-size:.9rem}.history-meta{display:flex;gap:.5rem;align-items:center}.history-framework{font-size:.65rem;padding:.15rem .5rem;border-radius:6px;background:#a78bfa1a;color:#a78bfa;font-weight:600}.history-status{font-size:.65rem;padding:.15rem .5rem;border-radius:6px;font-weight:600;text-transform:capitalize}.status-completed{background:#06d6a01a;color:#06d6a0}.status-failed{background:#ff44441a;color:#f44}.status-scanning,.status-analyzing,.status-pending{background:#38bdf81a;color:#38bdf8}.history-score{font-size:.8rem;font-weight:600;color:var(--color-text)}.history-date{font-size:.75rem;color:var(--color-text-muted)}.history-actions{display:flex;gap:.4rem}.history-actions button{padding:.3rem .6rem;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;color:var(--color-text-muted);font-size:.72rem;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.history-actions .view-btn:hover{background:#ff6b351a;color:var(--color-accent);border-color:#ff6b3533}.history-actions .delete-btn:hover{background:#ff44441a;color:#f44;border-color:#f443}@media(max-width:768px){.compliance-scanner{padding:1.25rem 1rem 2rem}.form-row{grid-template-columns:1fr}.results-hero{flex-direction:column;text-align:center;gap:1.5rem}.results-tags{justify-content:center}.results-stats{grid-template-columns:repeat(2,1fr)}.history-item{flex-direction:column;align-items:flex-start}.history-meta{flex-wrap:wrap}}
