:root{--bg-primary:#0f1117;--bg-secondary:#1a1d27;--bg-card:#1e2130;--bg-hover:#252838;--border:#2a2d3e;--text-primary:#e4e6f0;--text-secondary:#8b8fa3;--text-muted:#5a5e73;--accent:#6366f1;--accent-hover:#818cf8;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:10;width:220px;height:100vh;padding:20px 0;position:fixed;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 20px 20px}.sidebar-logo h1{background:linear-gradient(135deg, var(--accent), #a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:700}.sidebar-logo p{color:var(--text-muted);margin-top:2px;font-size:11px}.nav-item{color:var(--text-secondary);cursor:pointer;border-right:3px solid #0000;align-items:center;gap:10px;padding:10px 20px;font-size:13px;transition:all .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-hover);color:var(--accent);border-right-color:var(--accent)}.main{flex:1;min-height:100vh;margin-left:220px;padding:24px}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:600}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:13px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h3{font-size:15px;font-weight:600}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.stat-card .label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.stat-card .value{margin:6px 0 2px;font-size:28px;font-weight:700}.stat-card .sub{color:var(--text-muted);font-size:12px}.score-ring{border:4px solid var(--border);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto;display:flex}.score-ring .number{font-size:28px;font-weight:700}.score-ring .label{color:var(--text-secondary);font-size:10px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--border);padding:8px 12px}tr:hover td{background:var(--bg-hover)}.badge{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.badge.critical{color:#ef4444;background:#ef444426}.badge.high{color:#f59e0b;background:#f59e0b26}.badge.medium{color:#3b82f6;background:#3b82f626}.badge.low{color:#9ca3af;background:#6b728026}.badge.success,.badge.done{color:#22c55e;background:#22c55e26}.badge.pending{color:#f59e0b;background:#f59e0b26}.badge.error{color:#ef4444;background:#ef444426}.btn{border-radius:var(--radius-sm);cursor:pointer;color:#fff;border:none;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger)}.btn-sm{padding:4px 10px;font-size:12px}.loading{color:var(--text-muted);justify-content:center;align-items:center;padding:40px;display:flex}.issues-list{flex-direction:column;gap:8px;display:flex}.issue-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.issue-row:last-child{border-bottom:none}.issue-url{color:var(--text-muted);font-size:12px}@media (width<=1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{display:none}.main{margin-left:0}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
