:root{color-scheme:light;--bg:#f6f8fb;--panel:#ffffff;--ink:#121820;--muted:#536070;--line:#d8dee8;--blue:#2563eb;--green:#047857;--amber:#b45309;--red:#b91c1c}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}main{margin:0 auto;max-width:1180px;padding:32px 24px 56px}.topbar{border-bottom:1px solid var(--line);background:rgba(255,255,255,.86)}.topbar-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1180px;padding:16px 24px}.brand{font-weight:750}.nav{display:flex;gap:18px;font-size:14px;color:var(--muted)}.nav,.session-nav{align-items:center}.session-nav{display:inline-flex;gap:10px}.session-email{color:#273244;font-size:13px;font-weight:650;max-width:min(230px,34vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);padding:56px 0 32px}.eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:clamp(40px,5vw,66px);line-height:.98;margin-top:12px}h2{font-size:24px;margin-bottom:14px}h3{font-size:17px;margin-bottom:8px}p{color:var(--muted);line-height:1.55}.lead{font-size:18px;margin-top:18px;max-width:780px}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.panel{align-self:start;min-width:0}.card{min-height:150px}.status-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.status-item{align-items:center;display:flex;gap:10px}.dot{border-radius:999px;display:inline-flex;height:10px;width:10px}.dot.green{background:var(--green)}.dot.amber{background:var(--amber)}.dot.blue{background:var(--blue)}.dot.red{background:var(--red)}.section{padding:28px 0}.code{background:#eef2f7;border:1px solid var(--line);border-radius:6px;color:#243042;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;padding:2px 7px}.auth-form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:7px;gap:7px}.field span{color:#2b3442;font-size:13px;font-weight:700}.field input{background:#ffffff;border:1px solid var(--line);border-radius:7px;color:var(--ink);font:inherit;min-height:42px;padding:9px 11px;width:100%}.field input:focus{border-color:var(--blue);outline:3px solid rgba(37,99,235,.18)}.form-actions{display:flex;flex-wrap:wrap;gap:10px}button{background:var(--blue);border:1px solid var(--blue);border-radius:7px;color:#ffffff;cursor:pointer;font:inherit;font-weight:700;min-height:40px;padding:8px 13px}button:disabled{cursor:not-allowed;opacity:.58}.ghost-button,.nav-button{background:#ffffff;border-color:var(--line);color:#273244}.nav-button{font-size:13px;min-height:30px;padding:4px 9px}.form-error,.form-status{border-radius:7px;font-size:14px;padding:9px 11px}.form-status{background:#ecfdf5;color:var(--green)}.form-error{background:#fef2f2;color:var(--red)}.admin-shell{display:grid;grid-gap:24px;gap:24px}.admin-header{padding:28px 0 8px}.admin-header h1{font-size:clamp(34px,4vw,56px);line-height:1.02}.metric-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:#ffffff;border:1px solid var(--line);border-radius:8px;min-height:112px;padding:18px}.metric-label{color:var(--muted);display:block;font-size:13px;font-weight:700;margin-bottom:12px}.metric-card strong{color:var(--ink);display:block;font-size:clamp(24px,3vw,34px);line-height:1.05;overflow-wrap:anywhere}.metric-note,.section-count{color:var(--muted);display:block;font-size:12px;line-height:1.4;margin-top:8px}.admin-grid{display:grid;grid-gap:16px;gap:16px}.two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.section-heading h2{margin:0}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.filter-tab{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;color:#273244;display:inline-flex;gap:10px;min-height:38px;padding:8px 10px}.filter-tab.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.filter-tab span{font-size:13px;font-weight:750}.filter-tab strong{font-size:13px}.table-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.search-field{display:grid;grid-gap:6px;gap:6px;min-width:min(360px,100%)}.search-field span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.search-field input,.search-field select{background:#ffffff;border:1px solid var(--line);border-radius:7px;color:var(--ink);font:inherit;min-height:40px;padding:8px 10px;width:100%}.search-field input:focus,.search-field select:focus{border-color:var(--blue);outline:3px solid rgba(37,99,235,.18)}.compact-field{min-width:min(220px,100%)}.ghost-link,.page-link{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:7px;color:#273244;display:inline-flex;font-size:14px;font-weight:750;min-height:40px;padding:8px 12px}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px}.page-link.disabled{color:var(--muted);opacity:.58}.page-status{color:var(--muted);font-size:14px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;font-size:14px;min-width:680px;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}.data-table th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.table-link{color:#1d4ed8;font-weight:750}.subtle{color:var(--muted);display:block;font-size:13px;line-height:1.45;margin-top:4px}.badge{background:#eef2f7;border:1px solid var(--line);border-radius:999px;color:#273244;display:inline-flex;font-size:12px;font-weight:800;line-height:1;padding:5px 8px;text-transform:capitalize;white-space:nowrap}.badge.active,.badge.approved,.badge.completed,.badge.green,.badge.succeed{background:#ecfdf5;border-color:#a7f3d0;color:var(--green)}.badge.running,.badge.submitted,.badge.under_review,.badge.warning{background:#fffbeb;border-color:#fde68a;color:var(--amber)}.badge.cancelled,.badge.declined,.badge.error,.badge.failed{background:#fef2f2;border-color:#fecaca;color:var(--red)}.badge.info,.badge.matched,.badge.neutral,.badge.open{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.badge.github_only,.badge.sheet_only{background:#fffbeb;border-color:#fde68a;color:var(--amber)}.source-counts{display:grid;grid-gap:10px;gap:10px}.source-count{align-items:center;border-bottom:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:10px 0}.source-count span{font-weight:750}.source-count small{color:var(--muted);grid-column:1/-1}.status-item strong{color:var(--ink);margin-left:auto}.evidence-list{display:grid;grid-gap:12px;gap:12px;min-width:0}.evidence-item{border-bottom:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;min-width:0;padding:0 0 14px}.evidence-item a,.evidence-item h3,.evidence-item p,.evidence-item>*,.evidence-meta dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.evidence-item:last-child{border-bottom:0;padding-bottom:0}.evidence-meta{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.evidence-meta div{min-width:0}.evidence-meta dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.evidence-meta dd{margin:4px 0 0;overflow-wrap:anywhere}.issue-heading{display:flex;flex-wrap:wrap;gap:6px}.user-management{display:grid;grid-gap:14px;gap:14px}.user-access-form{margin-bottom:0}.role-list{display:flex;flex-wrap:wrap}.role-chip,.role-list{align-items:center;gap:7px}.role-chip{background:#f8fafc;border:1px solid var(--line);border-radius:7px;color:#273244;display:inline-flex;max-width:100%;min-height:30px;overflow-wrap:anywhere;padding:4px 6px 4px 9px}.inline-danger{background:#ffffff;border-color:#fecaca;color:var(--red);font-size:12px;min-height:26px;padding:4px 7px}.pending-grants{display:grid;grid-gap:10px;gap:10px}@media (max-width:860px){.grid,.hero,.metric-grid,.two-column{grid-template-columns:1fr}.topbar-inner{flex-direction:column;gap:12px}.nav,.topbar-inner{align-items:flex-start}.nav{flex-wrap:wrap}}