*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;background:#f3f2f1;color:#201f1e;font-size:14px}
.top{background:#0078d4;color:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.top .brand{font-size:18px;font-weight:600}
.top .sub{font-size:12px;opacity:.85}
main{max-width:880px;margin:0 auto;padding:20px}
h1{font-size:24px;margin:8px 0 4px}
h2{font-size:16px;color:#0078d4;margin:0 0 10px}
h3{font-size:14px;margin:16px 0 6px}
.card{background:#fff;border:1px solid #edebe9;border-radius:6px;padding:18px 20px;margin:14px 0}
.card.err{border-color:#d13438;color:#a4262c}
.muted{color:#605e5c}
.small{font-size:12px}
code{background:#f3f2f1;padding:1px 6px;border-radius:3px;word-break:break-all}
label{display:block;font-weight:600;margin-top:10px}
input,select{width:100%;padding:8px 10px;border:1px solid #c8c6c4;border-radius:4px;font-size:14px;margin-top:4px;background:#fff}
.btn{background:#fff;border:1px solid #0078d4;color:#0078d4;padding:8px 16px;border-radius:4px;font-weight:600;cursor:pointer}
.btn.primary{background:#0078d4;color:#fff}
a.btn{text-decoration:none;display:inline-block}
button.link{background:none;border:0;padding:0;color:#0078d4;text-decoration:underline;cursor:pointer;font:inherit}
.login-card{max-width:460px;margin:40px auto}
.top-action{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.75);border-radius:4px;padding:7px 12px;cursor:pointer;text-decoration:none}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{padding:8px 0 8px 30px;position:relative;border-left:2px solid #edebe9;margin-left:10px}
.timeline li::before{content:'';position:absolute;left:-9px;top:10px;width:14px;height:14px;border-radius:50%;background:#c8c6c4;border:2px solid #fff}
.timeline li.done::before{background:#107c10}
.timeline li.current::before{background:#0078d4;box-shadow:0 0 0 3px #deecf9}
.timeline li.current{font-weight:600}
.timeline .at{color:#605e5c;font-size:12px;font-weight:400;margin-left:6px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{background:#f5f9fc;border-left:4px solid #0078d4;padding:10px 12px;border-radius:4px}
.kpi .v{font-size:22px;font-weight:600}
.kpi .k{font-size:11px;text-transform:uppercase;color:#605e5c}
.ok{color:#107c10}.bad{color:#a4262c}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.project-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #edebe9}
.project-row:first-child{border-top:0}.project-name{font-weight:600;margin-bottom:3px}.btn:disabled{opacity:.55;cursor:not-allowed}
.project-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid #edebe9;font-size:12px}th{color:#605e5c}
.status,.severity{display:inline-block;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:700;text-transform:uppercase;background:#edebe9}
.status-completed{background:#dff6dd;color:#107c10}.status-failed,.status-completed_with_errors{background:#fde7e9;color:#a4262c}
.severity-critical{background:#a4262c;color:#fff}.severity-high{background:#fed9cc;color:#8e210b}.severity-medium{background:#fff4ce;color:#835c00}.severity-low{background:#deecf9;color:#004578}
.finding{border:1px solid #edebe9;border-left:4px solid #d83b01;border-radius:4px;padding:12px;margin:10px 0}.finding p{margin:7px 0 0}.finding-heading{display:flex;align-items:center;gap:8px}.recommendation{color:#004578}
.user-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edebe9}.invite-form{margin-top:14px;padding-top:5px}
.strong{font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inline-select{display:flex;align-items:center;gap:8px;font-weight:600;margin:0}.inline-select select{width:auto;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.chip{background:#f3f2f1;border:1px solid #edebe9;border-radius:14px;padding:3px 10px;font-size:12px}
.notice{border-left:4px solid #0078d4;background:#f5f9fc;padding:9px 12px;border-radius:4px;font-size:13px}.notice.bad{border-color:#a4262c;background:#fde7e9}.notice.ok{border-color:#107c10;background:#dff6dd}
.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}
.method-card{border:1px solid #c8c6c4;border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:6px;background:#fff}
.method-card.selected{border:2px solid #0078d4;box-shadow:0 0 0 3px #deecf9}
.method-card h3{margin:4px 0 0;font-size:15px;text-transform:uppercase;letter-spacing:.02em;color:#201f1e}
.method-card .purpose{font-weight:600;margin:0}.method-card p{margin:0}.method-card ul{list-style:none;padding:0;margin:4px 0}
.method-card .btn{margin-top:auto}.check::before{content:'\2713 ';color:#107c10;font-weight:700}
.badge{align-self:flex-start;background:#deecf9;color:#004578;border-radius:10px;padding:2px 9px;font-size:10px;font-weight:700;text-transform:uppercase}
.method-panel details{margin:8px 0}.method-panel summary{cursor:pointer;padding:4px 0}.unsupported{margin-top:10px}
.upload-form input[type=file]{padding:6px;border-style:dashed}
.collect-box{border:1px solid #c7e0f4;background:#f5f9fc;border-radius:6px;padding:10px 14px;margin:10px 0}.collect-box h3{margin:2px 0 6px}
.progress{height:8px;background:#edebe9;border-radius:4px;overflow:hidden;margin:6px 0}.progress i{display:block;height:100%;width:0;background:#0078d4}
.status-success,.status-ready{background:#dff6dd;color:#107c10}.status-partial,.status-partial_coverage{background:#fff4ce;color:#835c00}
.status-not_licensed,.status-not_configured,.status-not_applicable,.status-customer_excluded,.status-skipped{background:#edebe9;color:#605e5c}
.status-permission_required,.status-role_required,.status-rbac_required,.status-auth_mode_not_supported,.status-api_not_supported,.status-authentication_failed,.status-api_error{background:#f3f2f1;color:#323130;border:1px solid #c8c6c4}
@media (max-width:600px){main{padding:12px}.card{padding:15px}.project-row{align-items:flex-start;flex-direction:column}.project-actions{width:100%;flex-direction:column}.project-row .btn{width:100%}}
