:root{font-family:Trebuchet MS,Segoe UI,sans-serif;color-scheme:light;color:#0b1f2a;background:radial-gradient(circle at top,#eef7ff,#f8fafc 60%)}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{-webkit-user-select:none;user-select:none;cursor:default}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#0b1f2a;color:#fff;-webkit-user-select:none;user-select:none}.brand{font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:10px}.nav{-webkit-user-select:none;user-select:none}.brand,.user-pill{cursor:default}.nav a{cursor:pointer}.brand-logo{width:32px;height:32px}.nav a{margin-right:16px;color:#c7e2ff}.user-pill{display:flex;align-items:center;gap:12px}.content{padding:24px}.page{display:grid;gap:16px}.page-header{display:flex;justify-content:space-between;align-items:center}.grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.posture-operator-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}.posture-primary,.posture-side{display:grid;gap:16px}.posture-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header-actions{display:flex;align-items:center;gap:8px}.stack{display:flex;flex-direction:column;gap:10px;align-items:stretch}.stack>button{width:100%}.topbar .ghost{color:#fff;border-color:#ffffff59}.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 10px 30px #0f172a14;-webkit-user-select:none;user-select:none}.card input,.card textarea,.card select{-webkit-user-select:text;user-select:text}.alert-card{border-left:4px solid #f59e0b}.alert-row{padding:8px 0;border-bottom:1px solid #e2e8f0}.row{display:flex;gap:12px;align-items:center}.muted{color:#5d6b76;font-size:.9rem}.error{color:#b91c1c}.success{color:#166534}.primary{background:#2563eb;border:none;color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer;display:inline-block;text-align:center;transition:transform .12s ease,box-shadow .16s ease}.primary.small{padding:6px 10px;font-size:.85rem}.ghost{background:transparent;border:1px solid #cbd5f5;color:#0b1f2a;padding:8px 12px;border-radius:8px;cursor:pointer;transition:transform .12s ease,box-shadow .16s ease}.tabs button{margin-left:8px;border:none;background:#e2e8f0;padding:8px 12px;border-radius:8px;cursor:pointer}.tabs .active{background:#0ea5e9;color:#fff}.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;background:#e2e8f0}.provider-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.7rem;background:#e2e8f0;color:#1f2937;margin-left:8px}.status-connected{background:#dcfce7;color:#166534}.status-not_connected{background:#fee2e2;color:#991b1b}.status-needs_reauth{background:#fef9c3;color:#854d0e}.status-error{background:#fee2e2;color:#991b1b}.status-degraded{background:#fde68a;color:#92400e}.status-success{background:#dcfce7;color:#166534}.status-fail{background:#fee2e2;color:#991b1b}.status-info{background:#e0f2fe;color:#075985}.warning{background:#fef9c3;color:#854d0e;padding:8px 10px;border-radius:8px;margin-top:8px}.health-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.health-header-actions{display:flex;align-items:center;gap:12px}.icon-button{border:none;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#0b1f2a;transition:transform .12s ease,box-shadow .16s ease}button:active,.icon-button:active{transform:scale(.98)}button.clicked{animation:button-click .22s ease-out}@keyframes button-click{0%{transform:scale(1);box-shadow:0 0 #2563eb33}50%{transform:scale(.97);box-shadow:0 0 0 6px #2563eb26}to{transform:scale(1);box-shadow:0 0 #2563eb00}}.health-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.health-table{display:grid;gap:8px}.health-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(220px,1.6fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(180px,1.2fr) minmax(180px,1.1fr);gap:10px;padding:10px;border-radius:10px;background:#f8fafc;align-items:start}.health-row.header{background:#e2e8f0;font-weight:600}.mono{font-family:Courier New,monospace;font-size:.8rem;word-break:break-word;white-space:normal}.ghost.small{padding:4px 8px;font-size:.75rem}.hint{font-size:.85rem;color:#0b1f2a;word-break:break-word;white-space:normal}.health-row span{word-break:break-word;white-space:normal}.severity{padding:4px 8px;border-radius:999px;font-size:.75rem;text-transform:uppercase;width:96px;display:inline-flex;justify-content:center;align-items:center}.severity-critical{background:#fecaca;color:#7f1d1d}.severity-high{background:#fde68a;color:#92400e}.severity-medium{background:#bfdbfe;color:#1e3a8a}.severity-low{background:#dcfce7;color:#166534}.score-gauge{display:grid;gap:8px}.score-value{font-size:2.4rem;font-weight:700}.score-track{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.sparkline{width:100%;height:180px}.sparkline-label{fill:#5d6b76;font-size:11px}.sparkline-grid{stroke:#e2e8f0;stroke-width:1}.sparkline-axis{stroke:#94a3b8;stroke-width:1}.sparkline-line{stroke:#2563eb}.sparkline-point{fill:#2563eb;stroke:#fff;stroke-width:1.5}.sparkline-point-label{font-weight:600}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#e0f2fe,#f8fafc 70%)}.login-card{background:#fff;padding:32px 56px;border-radius:16px;box-shadow:0 20px 40px #0f172a1f;min-width:701px;margin-top:20px;width:min(701px,94vw);display:grid;gap:14px}.login-brand{display:grid;justify-items:center;gap:12px}.login-brand h1{margin:0;text-align:center;font-size:2rem}.login-logo{width:64px;height:64px}.login-card form{margin-top:24px;display:grid;gap:14px}.login-card label{display:block;font-weight:600;font-size:1rem}.login-card input{height:48px;padding:12px 16px;font-size:1rem;border-radius:8px;border:1px solid #cbd5f5}.login-card button{height:48px;padding:0 16px;font-size:1rem}.login-card input[type=password]{margin-bottom:18px}.form-grid{display:grid;gap:12px;margin-bottom:12px}.form-grid label{display:grid;gap:6px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{padding:10px 12px;border-radius:8px;border:1px solid #cbd5f5;font-weight:400}.owner-search{padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;min-width:260px}.owner-table{width:100%;border-collapse:collapse;font-size:.92rem}.owner-table th,.owner-table td{padding:12px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:top}.owner-table th{font-weight:600;color:#0b1f2a}.owner-actions{display:grid;gap:6px}.owner-create{display:grid;gap:16px}.owner-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.owner-users{display:grid;gap:12px}.owner-users-header{display:flex;align-items:center;justify-content:space-between}.owner-users-grid{display:grid;gap:10px}.owner-user-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;align-items:center}.owner-user-row input,.owner-user-row select{padding:10px 12px;border-radius:8px;border:1px solid #cbd5f5}.owner-hint{font-size:.9rem}.owner-actions-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.score-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e0f2fe;color:#0b1f2a;font-weight:700;min-width:52px;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center}.modal{background:#fff;padding:24px;border-radius:12px;width:min(520px,90vw);display:grid;gap:12px}.modal.health-modal{width:min(1400px,98vw);max-height:90vh;overflow:auto}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.impact-summary{margin:12px 0;padding:10px 12px;background:#f8fafc;border-radius:10px}.baseline-progress{margin-top:10px;display:grid;gap:6px}.progress-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);width:0%;transition:width .4s ease}.progress-fill.indeterminate{width:35%;animation:progress-indeterminate 1.6s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-120%)}50%{transform:translate(60%)}to{transform:translate(180%)}}.quick-wins{margin:12px 0 16px;display:grid;gap:8px}.quick-wins-table{width:100%;border-collapse:collapse;font-size:.9rem}.quick-wins-table th,.quick-wins-table td{padding:8px;border-bottom:1px solid #e2e8f0;text-align:left}.quick-wins-table th{color:#0b1f2a;font-weight:600}.fix-actions{display:flex;align-items:center;gap:8px}.portal-block{display:grid;gap:6px;margin-bottom:12px}.portal-cell{display:grid;gap:4px}.metric-block{padding:10px 0;border-bottom:1px solid #e2e8f0;display:grid;gap:4px}.metric-block:last-child{border-bottom:none;padding-bottom:0}.metric-card{display:flex;flex-direction:column}.metric-card-body{display:grid;gap:6px}.metric-card-footer{margin-top:auto;padding-top:16px}.metric-card-footer .ghost{display:inline-block}.metric-cta{margin-top:16px}.metric-cta .ghost{display:inline-block}.fix-row,.risk-row,.passed-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.passed-row{grid-template-columns:1fr auto auto auto auto}.fix-row-details{grid-column:1 / -1;padding:4px 0 12px;border-bottom:1px solid #e2e8f0;display:grid;gap:6px}.top-risks-table{width:100%;border-collapse:collapse}.top-risks-table td{padding:10px 0;border-bottom:1px solid #e2e8f0;vertical-align:top}.top-risks-table tr:last-child td{border-bottom:none}.top-risks-status{width:90px;text-align:center;vertical-align:middle}.top-risks-table .severity{width:84px;padding:3px 6px}.grid .exec-reports-card{grid-column:4;grid-row:1}.grid .exec-trend-card{grid-column:3;grid-row:1}@media (max-width: 720px){.content{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tabs button{margin-left:0}.card-header{flex-direction:column;align-items:flex-start}.card-header-actions{flex-wrap:wrap;justify-content:flex-start}.impact-summary{font-size:.92rem}.quick-wins-table{font-size:.82rem;display:block;overflow-x:auto;white-space:nowrap}.quick-wins-table thead,.quick-wins-table tbody,.quick-wins-table tr{display:table;width:100%;table-layout:fixed}.top-risks-table{display:block;overflow-x:auto}.top-risks-table tbody,.top-risks-table tr{display:table;width:100%;table-layout:fixed}.health-table{overflow-x:auto}.topbar{flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px}.brand{justify-content:center}.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.nav a{margin-right:0}.user-pill{justify-content:center;flex-wrap:wrap}.fix-row,.risk-row,.passed-row{grid-template-columns:1fr}}@media (max-width: 1100px){.posture-operator-layout,.posture-metrics-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .exec-reports-card,.grid .exec-trend-card{grid-column:auto;grid-row:auto}}@media (max-width: 720px){.grid{grid-template-columns:1fr}.grid .exec-reports-card,.grid .exec-trend-card{grid-column:auto;grid-row:auto}}.severity-manual{background:#dbeafe;color:#1e40af;width:auto;padding:4px 10px}.attestation-status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.attestation-not-started{background:#f1f5f9;color:#64748b}.attestation-in-progress{background:#fef9c3;color:#854d0e}.attestation-attested{background:#dcfce7;color:#166534}.manual-controls-section{margin-top:8px}.manual-controls-heading{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:12px 0 6px;border-top:2px solid #e2e8f0;margin-top:8px}.manual-attestation-card{padding:10px 0;border-bottom:1px solid #e2e8f0;display:grid;gap:6px}.manual-attestation-card:last-child{border-bottom:none}.manual-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.manual-card-title{flex:1;min-width:0}.manual-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.manual-card-description{font-size:.875rem;padding:2px 0}.manual-card-attested-info{background:#f8fdf9;border:1px solid #bbf7d0;border-radius:6px;padding:8px 12px;display:grid;gap:4px}.manual-card-extra-summary{margin-top:4px;display:grid;gap:2px}.manual-card-form{display:grid;gap:10px;padding:10px 0 4px}.manual-form-field{display:grid;gap:4px}.manual-form-field label{font-size:.8rem;font-weight:600;color:#374151}.required{color:#dc2626}.manual-input{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;background:#fff;width:100%;max-width:480px;color:#0b1f2a;outline:none;transition:border-color .15s}.manual-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.manual-form-error{font-size:.8rem;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:6px 10px}.manual-form-actions{display:flex;gap:8px}.primary.small,.ghost.small{padding:5px 12px;font-size:.8rem}
