:root{--text:#1f2328;--text-muted:#57606a;--bg:#f6f7f9;--panel-bg:#fff;--border:#d8dce1;--code-bg:#f0f1f3;--accent:#0969da;--green-bg:#dafbe1;--green-text:#116329;--red-bg:#ffebe9;--red-text:#a40e26;--yellow-bg:#fff8c5;--yellow-text:#7a5b00;--orange-bg:#fff1e5;--orange-text:#9a4a00;--blue-bg:#ddf4ff;--blue-text:#0a5c9e;--purple-bg:#f3e8fd;--purple-text:#6639ba;color:var(--text);background:var(--bg);font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2,h3{margin:0 0 4px;font-weight:600}p{margin:0}a{color:var(--accent)}.app{max-width:900px;margin:0 auto;padding:24px 16px 64px}.app-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.app-header h1{font-size:22px}.subtitle{color:var(--text-muted);font-size:13px}.app-main{flex-direction:column;gap:20px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab-btn{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:600}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.history{flex-direction:column;gap:16px;display:flex}.back-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:13px}.history-list{flex-direction:column;gap:8px;display:flex}.history-item{text-align:left;width:100%;font:inherit;background:var(--panel-bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.history-item:hover{border-color:var(--accent)}.history-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.history-item-title{font-weight:600}.history-item-commit{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.history-item-date{color:var(--text-muted);font-size:12px}.pagination{justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex}.pagination button{font:inherit;border:1px solid var(--border);background:var(--panel-bg);cursor:pointer;border-radius:6px;padding:6px 12px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.login-btn{color:#fff;white-space:nowrap;background:#24292f;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.login-btn-header{flex-shrink:0}.auth-status{flex-shrink:0;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.avatar{border-radius:50%;width:24px;height:24px}.dashboard-panel{text-align:center;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:center;gap:12px;max-width:420px;margin:80px auto 0;padding:32px 24px;display:flex}.review-form{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-muted);font-size:12px;font-weight:600}input[type=text],select,textarea{font:inherit;border:1px solid var(--border);background:var(--panel-bg);color:var(--text);border-radius:6px;padding:8px 10px}textarea{resize:vertical}.advanced-toggle{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:13px}.advanced-panel{background:var(--code-bg);border-radius:6px;flex-direction:column;gap:12px;padding:12px;display:flex}.checkbox-row{flex-wrap:wrap;gap:12px;display:flex}.checkbox-item{align-items:center;gap:6px;font-size:13px;display:flex}.submit-btn{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:10px 20px;font-weight:600}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.loading-panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:16px;font-weight:500;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;padding:16px}.panel-error{background:var(--red-bg);border-color:var(--red-text)}.panel-error h3{color:var(--red-text)}.panel-auth{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.empty-note{color:var(--text-muted);font-size:13px}.result{flex-direction:column;gap:16px;display:flex}.result-header{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.commit-message{margin-top:4px;font-weight:500}.commit-sha{color:var(--text-muted);margin-top:2px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.diff-stats{margin-top:8px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.additions{color:var(--green-text);font-weight:600}.deletions{color:var(--red-text);font-weight:600}.verdict-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:13px;font-weight:700}.verdict-passed{background:var(--green-bg);color:var(--green-text)}.verdict-issues{background:var(--red-bg);color:var(--red-text)}.verdict-error{background:var(--yellow-bg);color:var(--yellow-text)}.changes-list{flex-direction:column;gap:4px;margin:10px 0 0;padding-left:20px;display:flex}.comments-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.comment-count{color:var(--text-muted);font-weight:400}.comments-controls{gap:12px;font-size:13px;display:flex}.comments-controls select{margin-left:6px;padding:4px 6px}.comments-list{flex-direction:column;gap:12px;display:flex}.comment-card{border:1px solid var(--border);border-left:4px solid var(--border);background:var(--panel-bg);border-radius:6px;padding:12px}.comment-card.severity-critical{border-left-color:var(--red-text)}.comment-card.severity-major{border-left-color:var(--orange-text)}.comment-card.severity-minor{border-left-color:var(--yellow-text)}.comment-card.severity-info{border-left-color:var(--blue-text)}.comment-badges{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-severity-critical{background:var(--red-bg);color:var(--red-text)}.badge-severity-major{background:var(--orange-bg);color:var(--orange-text)}.badge-severity-minor{background:var(--yellow-bg);color:var(--yellow-text)}.badge-severity-info{background:var(--blue-bg);color:var(--blue-text)}.badge-source-ai{background:var(--purple-bg);color:var(--purple-text);text-transform:none}.badge-source-sca{background:var(--code-bg);color:var(--text-muted);text-transform:none}.badge-cwe{background:var(--code-bg);color:var(--text);text-transform:none}.badge-cvss{background:var(--red-bg);color:var(--red-text);text-transform:none}.comment-location{color:var(--text-muted);margin-bottom:6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.comment-text{white-space:pre-wrap}.cvss-details{margin-top:8px;font-size:12px}.cvss-details summary{cursor:pointer;color:var(--accent)}.cvss-details code{background:var(--code-bg);word-break:break-all;border-radius:4px;margin-top:6px;padding:6px 8px;font-family:ui-monospace,Consolas,monospace;display:block}.vuln-link{margin-top:8px;font-size:12px;font-weight:600;display:inline-block}
