.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.provenance{color:#8ba0b8;font-size:.8rem;margin:-7px 0 16px;padding:10px 12px;border:1px solid #23415b;background:#071524;border-radius:12px}.provenance.demo{color:#ffca62}.module-card{padding:15px;border:1px solid #1b324b;background:#091524;border-radius:15px;min-height:160px;display:flex;flex-direction:column;gap:10px}.module-top,.registry-title{display:flex;justify-content:space-between;gap:10px}.module-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#102b3c;color:#31d7ee;font-weight:900}.module-card h3,.registry-title h3{margin:0}.module-card p{font-size:.74rem;color:#8ba0b8;margin:0}.module-meta{margin-top:auto;display:flex;justify-content:space-between;gap:8px;font-size:.68rem;color:#8ba0b8}.source-state.connected{color:#4fe3a2}.source-state.demo,.source-status.not_connected{color:#ffca62}.registry-block{margin-top:18px;padding-top:16px;border-top:1px solid #1b314a}.source-registry{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}.source-row{background:#071321;border:1px solid #192f45;border-radius:12px;padding:11px}.source-row b,.source-row small{display:block}.source-row small{color:#8ba0b8;font-size:.65rem;line-height:1.35;margin-top:7px}.source-status{font-size:.6rem;font-weight:900}.source-status.blocked{color:#ff6b7a}.lifecycle{display:flex;justify-content:center;gap:10px;margin-top:14px;color:#8ba0b8;font-size:.67rem;font-weight:900}.lifecycle span{border:1px solid #28415a;border-radius:99px;padding:6px}.lifecycle span:last-child{color:#4fe3a2}.lifecycle i{font-style:normal}.learning-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.learning-grid>div,.validation-progress{padding:13px;background:#091524;border:1px solid #1b324b;border-radius:13px}.learning-grid span,.learning-grid b,.learning-grid small,.validation-progress b,.validation-progress small{display:block}.learning-grid span,.learning-grid small,.validation-progress small{color:#8ba0b8;font-size:.7rem}.learning-grid b{margin:8px 0 4px}.validation-progress{display:grid;grid-template-columns:1fr 35%;align-items:center;gap:18px;margin-top:12px}.validation-progress progress{width:100%;accent-color:#4fe3a2}@media(max-width:1050px){.module-grid{grid-template-columns:1fr 1fr}.source-registry{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.module-grid,.source-registry,.learning-grid{grid-template-columns:1fr}.registry-title{display:block}.validation-progress{grid-template-columns:1fr}.lifecycle{gap:4px}.lifecycle span{font-size:.58rem}}
