*{box-sizing:border-box}body{color:#191916;background:#f4f2ed;margin:0;font-family:Aptos,Segoe UI,ui-sans-serif,system-ui,sans-serif}button,input{font:inherit}.app-shell{grid-template-columns:minmax(320px,380px) minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fffdf8;border-right:1px solid #d4d0c6;padding:1rem}.sidebar h1{margin:0 0 1rem;font-size:1rem}.sidebar-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.sidebar-header h1{margin:0}.scan-button{color:#fff;cursor:pointer;background:#255f85;border:1px solid #255f85;border-radius:6px;min-height:2rem;padding:0 .7rem}.scan-button:disabled{cursor:wait;background:#b8c5d0;border-color:#b8c5d0}.scan-status{color:#666;margin:0 0 .75rem;font-size:.84rem}.content{padding:1rem}.tabs{gap:1rem;display:grid}.tab-group{gap:.45rem;display:grid}.tab-group-header{justify-content:space-between;align-items:baseline;gap:.75rem;padding:0 .15rem;display:flex}.tab-group-header h2{color:#3e3b35;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem}.tab-group-header span{color:#787164;font-size:.76rem}.tab{text-align:left;cursor:pointer;background:#fffdf8;border:1px solid #d8d3c7;border-radius:8px;width:100%;padding:.65rem .7rem}.tab.active{background:#edf6f8;border-color:#255f85;box-shadow:inset 3px 0 #255f85}.tab strong,.tab span{display:block}.tab span,.muted,.info-card span,.row span,.finding span{color:#666;font-size:.84rem}.project-detail{gap:1rem;display:grid}.detail-header,.panel,.info-card{background:#fffdf8;border:1px solid #d4d0c6;border-radius:8px}.detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.detail-header h1{margin:0;font-size:1.4rem}.detail-header p{color:#666;margin:.25rem 0 0}.confidence,.tag{background:#fafafa;border:1px solid #d8d8d8;border-radius:999px;padding:.16rem .5rem;font-size:.78rem}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.info-card{padding:.8rem}.info-card strong{margin-bottom:.25rem;display:block}.panel{padding:1rem}.panel h2{margin:0 0 .75rem;font-size:1rem}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.capability-group h3{margin:0 0 .4rem;font-size:.85rem}.tag-row{flex-wrap:wrap;gap:.35rem;display:flex}.fact-list{gap:.45rem;display:grid}.fact{border-top:1px solid #ece7dc;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);align-items:baseline;gap:.65rem;padding:.45rem 0;display:grid}.fact:first-child{border-top:0}.fact strong{color:#30302b;font-size:.84rem}.fact span{color:#555148;overflow-wrap:anywhere;font-size:.84rem}.row,.finding{border-top:1px solid #ededed;gap:.2rem;padding:.6rem 0;display:grid}.row:first-child,.finding:first-child{border-top:0}.finding-high strong{color:#a11313}.finding-medium strong{color:#8a5c00}.error{color:#a11313}.login-form{background:#fff;border:1px solid #d8d8d8;border-radius:8px;gap:.75rem;width:min(360px,100vw - 2rem);margin:16vh auto 0;padding:1rem;display:grid}.login-form h1{margin:0;font-size:1.2rem}.login-form input{border:1px solid #cfcfcf;border-radius:6px;padding:.6rem}.login-form button{color:#fff;cursor:pointer;background:#1769aa;border:0;border-radius:6px;padding:.65rem}@media (width<=850px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d8d8d8;border-right:0}.summary-grid,.capability-grid{grid-template-columns:1fr}.fact{grid-template-columns:1fr;gap:.15rem}}
