:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5e7eb;background:#0d1421;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.layout{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#121d30;padding:28px 22px;border-right:1px solid #283449;display:flex;flex-direction:column;gap:32px}.brand{font-weight:800;letter-spacing:.06em;font-size:1.3rem}.brand span{display:block;margin-top:10px;font-size:.79rem;font-weight:400;line-height:1.5;letter-spacing:normal;color:#9caabf}nav{display:grid;gap:10px}nav button{border:0;text-align:left;background:transparent;color:#bcc8d9;padding:12px 14px;border-radius:9px}nav button:hover,nav button.active{background:#263750;color:#fff}.sidebar-note{font-size:.78rem;color:#8f9fb5;margin-top:auto}main{padding:38px clamp(20px,5vw,72px);max-width:1200px;width:100%;margin:0 auto}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.eyebrow{color:#93b5f8;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}h1{font-size:clamp(1.7rem,2.8vw,2.25rem);margin:5px 0}h2{font-size:1.16rem;margin:0 0 12px}h3{font-size:1rem}p{color:#b2bfd0;line-height:1.6}.status{color:#a6b8d5;border:1px solid #34445c;padding:8px 13px;border-radius:999px;font-size:.8rem}.panel{background:#182438;border:1px solid #2c3b52;border-radius:14px;padding:26px;margin:0 0 22px;box-shadow:0 3px 22px #0000001a}.row{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}input{background:#0e1929;border:1px solid #3b4d65;border-radius:9px;padding:12px 14px;color:#fff;min-width:250px;flex:1}input:focus-visible,button:focus-visible{outline:2px solid #80acff;outline-offset:3px}button:not(nav button){border:1px solid #3f65a1;border-radius:9px;background:#3465b4;color:#fff;padding:11px 17px}button.secondary{background:#202e43;border-color:#41546e}.project-list{display:grid;gap:10px}.project-item{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:#23334b!important;border-color:#344866!important}.project-item small{color:#b2ccf4}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.metrics article{border:1px solid #30445f;border-radius:10px;padding:20px;background:#101e30;display:grid;gap:13px}.metrics article span:first-child{font-size:.82rem;color:#91a5bd}.percent{font-size:1.3rem;font-weight:650;color:#e4eeff}.muted{font-size:.85rem;color:#889cb5}.error{padding:16px;border:1px solid #bc6678;background:#452b39;border-radius:9px;color:#fff;margin-bottom:20px}li{margin-bottom:9px;overflow-wrap:anywhere}@media (max-width:740px){.layout{grid-template-columns:1fr}.sidebar{gap:15px}nav{display:flex;flex-wrap:wrap}.sidebar-note{margin:0}main{padding:22px 16px}.metrics{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}.panel{padding:19px}}.project-summary{display:grid;gap:8px;text-align:left}.project-summary>strong{font-size:1.02rem}.summary-metrics{display:flex;gap:8px 18px;flex-wrap:wrap}.summary-metrics small{font-size:.78rem}.warn{color:#ffd0a6}.component-list{display:grid;gap:11px;margin-top:18px}.component-entry{border:1px solid #30445f;padding:16px;border-radius:10px;background:#101e30}.component-entry>summary{cursor:pointer;font-weight:600}.component-entry>summary:focus-visible{outline:2px solid #80acff;outline-offset:3px}.component-entry a,.inventory-repo a{color:#b4d0ff}.component-entry a:hover,.inventory-repo a:hover{text-decoration:underline}.policy-form{display:grid;gap:14px;max-width:580px;margin:18px 0}.policy-form label{display:grid;gap:7px;color:#b5c4d8;font-size:.86rem}.policy-form select{background:#0e1929;border:1px solid #3b4d65;border-radius:9px;padding:12px 14px;color:#fff}.policy-form input{min-width:0;width:100%}.checkbox-row{display:flex!important;flex-direction:row;align-items:center;gap:12px;cursor:pointer}.checkbox-row input{min-width:0;width:18px;height:18px;flex:none}
