@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5}.dashboard-root{background:#f5f7fb;min-height:100vh}.dashboard-shell{max-width:1460px;margin:0 auto;padding:28px 32px 48px}.dashboard-body{flex-direction:column;gap:22px;padding:0;display:flex}.topbar{background:0 0;border-bottom:none;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:6px;padding:0 0 22px;display:flex}.topbar-copy{max-width:860px}.topbar-title{color:#1f2937;letter-spacing:-.04em;font-size:30px;font-weight:800;line-height:1.1}.topbar-sub{color:#475569;margin-top:12px;font-size:18px;line-height:1.45}.topbar-meta{color:#64748b;margin-top:12px;font-size:14px}.topbar-right{flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.tab-label{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-top:14px;font-size:11px;font-weight:700}.state-tabs{background:0 0;gap:10px;padding:0;display:flex}.tab-btn{color:#1f2937;cursor:pointer;background:#f8fafc;border:1px solid #cfd8e3;border-radius:14px;padding:12px 18px;font-size:17px;font-weight:700;transition:all .15s}.tab-btn:hover{background:#fff;border-color:#94a3b8}.tab-btn.active{box-shadow:none;background:#fff;border-color:#111827}.refresh-btn{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #cfd8e3;border-radius:14px;padding:12px 18px;font-size:17px;font-weight:700;transition:all .15s}.refresh-btn:hover{background:#f8fafc;border-color:#94a3b8}.refresh-btn:disabled{opacity:.45;cursor:not-allowed}.row-2{grid-template-columns:minmax(0,1.45fr) minmax(360px,.7fr);gap:22px;display:grid}.row-equal{align-items:stretch}.row-equal>.card{height:560px;min-height:0}.card{box-shadow:none;background:#fff;border:1px solid #cfd8e3;border-radius:20px;height:fit-content;padding:24px}.card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card-title{color:#1f2937;letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1.2}.card-subtitle{color:#64748b;margin-top:6px;font-size:14px;line-height:1.45}.metrics-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric-card{background:#fff;border:1px solid #cfd8e3;border-radius:18px;padding:22px 20px}.metric-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:12px;font-size:12px;font-weight:700}.metric-value{letter-spacing:-.05em;font-size:42px;font-weight:800;line-height:1}.metric-delta{color:#64748b;margin-top:12px;font-size:15px;line-height:1.4}.c-success{color:#1f8f4e}.c-warning{color:#b7791f}.c-danger{color:#d0342c}.c-info{color:#2563eb}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.badge-success{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#b91c1c;background:#fee2e2}.badge-info{color:#1d4ed8;background:#dbeafe}.score-layout{align-items:center;gap:26px;display:flex}.score-legend{flex-direction:column;flex:1;gap:12px;display:flex}.legend-row{justify-content:space-between;align-items:center;font-size:15px;display:flex}.legend-label{color:#475569;align-items:center;gap:10px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-value{color:#1f2937;font-weight:700}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.svc-card{background:#fbfdff;border:1px solid #dbe3ee;border-radius:14px;padding:14px}.svc-name{color:#334155;margin-bottom:10px;font-size:14px;font-weight:700}.svc-bar-track{background:#d9e2ec;border-radius:999px;height:7px;margin-bottom:8px;overflow:hidden}.svc-bar-fill{border-radius:999px;height:100%}.svc-meta{justify-content:space-between;font-size:12px;font-weight:600;display:flex}.findings-card{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.findings-table-wrap{flex:1;min-height:0;padding:0 4px 14px 0;overflow-y:auto}.findings-table{border-collapse:separate;border-spacing:0;width:100%}.findings-table thead tr{border-bottom:1px solid #dbe3ee}.findings-table th{text-transform:none;letter-spacing:0;color:#64748b;text-align:left;white-space:nowrap;padding:0 14px 14px 0;font-size:15px;font-weight:700}.findings-table th:last-child{text-align:right;padding-right:0}.findings-table tbody tr{cursor:pointer;border-bottom:1px solid #dbe3ee;transition:background .12s}.findings-table tbody tr:hover{background:#f8fafc}.findings-table tbody tr:last-child{border-bottom:1px solid #dbe3ee}.findings-table td{vertical-align:top;color:#1f2937;padding:18px 14px 18px 0;font-size:15px}.findings-table td:last-child{text-align:right;padding-right:0}.ft-title{color:#1f2937;margin-bottom:4px;font-size:17px;font-weight:800;line-height:1.2}.ft-desc{color:#64748b;max-width:420px;font-size:15px;line-height:1.35}.ft-asset,.ft-age{color:#475569;font-size:15px}.sev-pill{letter-spacing:0;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block}.sev-critical{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.sev-high{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.sev-medium{color:#a16207;background:#fef3c7;border:1px solid #fcd34d}.sev-low{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.status-open,.status-monitoring,.status-resolved{font-size:15px;font-weight:700}.status-open{color:#dc2626}.status-monitoring{color:#b45309}.status-resolved{color:#16a34a}.actions-card{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.actions-stack{flex-direction:column;flex:1;gap:14px;min-height:0;padding-bottom:14px;padding-right:4px;display:flex;overflow-y:auto}.action-card{background:#fff;border:1px solid #cfd8e3;border-radius:16px;padding:18px;transition:border-color .15s,background .15s}.action-card:hover{border-color:#94a3b8}.action-card-title{color:#1f2937;margin-bottom:8px;font-size:18px;font-weight:800;line-height:1.25}.action-card-owner{color:#64748b;margin-bottom:10px;font-size:15px}.action-card-desc{color:#334155;margin-top:12px;margin-bottom:12px;font-size:15px;line-height:1.45}.action-card-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;display:flex}.action-effort-label{color:#64748b;font-size:14px}.skeleton{background:#e5ebf3;border-radius:14px;animation:1.35s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.state-card{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:5rem 2rem;display:flex}.state-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.5rem;font-size:24px;font-weight:700;display:flex}.state-icon-success{color:#16a34a;background:#dcfce7}.state-icon-error{color:#dc2626;background:#fee2e2}.state-title{color:#1f2937;font-size:22px;font-weight:800}.state-desc{color:#64748b;max-width:460px;font-size:16px;line-height:1.6}.error-code{color:#64748b;background:#f8fafc;border-radius:6px;margin-top:6px;padding:6px 12px;font-family:SF Mono,monospace;font-size:12px}.retry-btn{cursor:pointer;background:#fff;border:1px solid #cfd8e3;border-radius:10px;margin-top:1rem;padding:10px 18px;font-size:15px;font-weight:700}.retry-btn:hover{background:#f8fafc}.findings-table-wrap::-webkit-scrollbar{width:10px}.actions-stack::-webkit-scrollbar{width:10px}.findings-table-wrap::-webkit-scrollbar-track{background:0 0}.actions-stack::-webkit-scrollbar-track{background:0 0}.findings-table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.actions-stack::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.findings-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b8}.actions-stack::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (width<=1024px){.dashboard-shell{padding:20px 20px 32px}.row-2{grid-template-columns:1fr}.row-equal>.card{height:auto}.topbar{flex-direction:column;align-items:stretch}.topbar-right{flex-wrap:wrap;justify-content:flex-start}}@media (width<=640px){.metrics-rail,.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell{padding:16px 16px 28px}.topbar-title{font-size:24px}.topbar-sub{font-size:16px}.tab-btn,.refresh-btn{font-size:15px}}
