:root{--primary:#2b5797;--primary-hover:#1d3f6f;--primary-light:#2b579712;--primary-faint:#2b57970a;--surface:#fdfbf7;--surface-variant:#f5f5f5;--background:#f4f5f7;--summary-panel:#f8f9fc;--text-primary:#212121;--text-secondary:#757575;--text-muted:#9e9e9e;--success:#2e7d32;--error:#d32f2f;--warning:#f57c00;--score-high:#2e7d32;--score-medium:#f57c00;--score-low:#d32f2f;--badge-accepted:#e8f5e9;--badge-accepted-text:#2e7d32;--badge-low-priority:#fff3e0;--badge-low-priority-text:#e65100;--badge-down-ranked:#fce4ec;--badge-down-ranked-text:#c62828;--badge-pending:#e3f2fd;--badge-pending-text:#1565c0;--badge-rejected:#f5f5f5;--badge-rejected-text:#757575;--badge-duplicate:#f3e5f5;--badge-duplicate-text:#7b1fa2;--border:#c4c4c4;--border-light:#e0e0e0;--border-focus:#2b5797;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--ctl-h:1.75rem;--ctl-pad-x:.625rem;--label-gap:.25rem;--content-max-w:96rem;--sidebar-w:14rem;--radius:4px;--radius-panel:6px;--radius-badge:10px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--text-primary);background:var(--background);font-size:14px;line-height:1.5}h1{font-size:24px;font-weight:600}h2{font-size:20px;font-weight:600}h3{font-size:18px;font-weight:600}h4{font-size:16px;font-weight:600}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding-left:2px;font-size:11px;font-weight:600;line-height:1.1}input[type=text],input[type=url],input[type=date],input[type=number],select,textarea{height:var(--ctl-h);padding:0 var(--ctl-pad-x);font-family:var(--font-family);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--primary-light)}textarea{height:auto;min-height:4rem;padding:var(--sp-2) var(--ctl-pad-x);resize:vertical}button{height:var(--ctl-h);padding:0 var(--sp-4);font-family:var(--font-family);border-radius:var(--radius);cursor:pointer;border:none;font-size:14px;font-weight:600;transition:background-color .15s,opacity .15s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface-variant);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border-light)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#256b29}.field{row-gap:var(--label-gap);grid-template-rows:auto auto;align-self:start;min-width:0;display:grid}.badge{border-radius:var(--radius-badge);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-accepted{background:var(--badge-accepted);color:var(--badge-accepted-text)}.badge-accepted_low_priority{background:var(--badge-low-priority);color:var(--badge-low-priority-text)}.badge-down_ranked{background:var(--badge-down-ranked);color:var(--badge-down-ranked-text)}.badge-pending_triage{background:var(--badge-pending);color:var(--badge-pending-text)}.badge-rejected_audit{background:var(--badge-rejected);color:var(--badge-rejected-text)}.badge-duplicate{background:var(--badge-duplicate);color:var(--badge-duplicate-text)}.score-bar{background:var(--border-light);vertical-align:middle;width:60px;height:4px;margin-left:var(--sp-2);border-radius:2px;display:inline-block;overflow:hidden}.score-bar__fill{border-radius:2px;height:100%;transition:width .3s}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-panel);padding:var(--sp-4)}.card-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:var(--sp-3);font-size:11px;font-weight:600}.stat-value{color:var(--text-primary);font-size:28px;font-weight:700;line-height:1.1}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-top:var(--sp-1);font-size:11px;font-weight:600}.empty-state{text-align:center;padding:var(--sp-6) var(--sp-4);color:var(--text-muted)}.table{border-collapse:collapse;width:100%}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:2px solid var(--border-light);background:var(--surface-variant);font-size:11px;font-weight:600}.table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-light);vertical-align:top}.table tr:hover td{background:var(--primary-faint)}.table tr.clickable{cursor:pointer}.page-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.page-header h1{font-size:20px;font-weight:600}.toolbar{align-items:center;gap:var(--sp-2);display:flex}.msg-success{padding:var(--sp-2) var(--sp-3);background:var(--badge-accepted);color:var(--badge-accepted-text);border-radius:var(--radius);font-size:14px}.msg-error{padding:var(--sp-2) var(--sp-3);background:var(--badge-down-ranked);color:var(--badge-down-ranked-text);border-radius:var(--radius);font-size:14px}.pagination{justify-content:center;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);color:var(--text-secondary);font-size:14px;display:flex}.shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--primary);color:#fff;z-index:100;flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar__brand{padding:var(--sp-4);border-bottom:1px solid #ffffff1f}.sidebar__brand-title{letter-spacing:.02em;font-size:15px;font-weight:700;line-height:1.2}.sidebar__brand-sub{text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-top:2px;font-size:11px;font-weight:500}.sidebar__nav{padding:var(--sp-3) 0;flex-direction:column;flex:1;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);color:#ffffffb3;border-left:3px solid #0000;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar__link:hover{color:#fff;background:#ffffff14;text-decoration:none}.sidebar__link.active{color:#fff;background:#ffffff1f;border-left-color:#ffffffb3;font-weight:600}.sidebar__icon{text-align:center;opacity:.8;flex-shrink:0;width:16px;font-size:15px}.sidebar__footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid #ffffff1f;font-size:12px}.main{margin-left:var(--sidebar-w);padding:var(--sp-5) var(--sp-6);max-width:var(--content-max-w);flex:1;height:100vh;overflow-y:auto}.status-dot{width:8px;height:8px;margin-right:var(--sp-2);border-radius:50%;display:inline-block}.status-dot.ok{background:#4caf50}.status-dot.degraded{background:var(--warning)}.status-dot.offline{background:var(--error)}
