:root {
  --ink: #172126;
  --muted: #718087;
  --line: #e4e9e7;
  --paper: #f7f9f7;
  --card: #ffffff;
  --green: #4f8a71;
  --blue: #5075a2;
  --orange: #b27645;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); }
.shell { max-width: 1120px; margin: 0 auto; padding: 54px 28px 38px; }
.topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 38px; }
.eyebrow { margin: 0 0 12px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-family: Georgia, serif; font-size: clamp(42px, 7vw, 72px); font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.subtitle { margin-bottom: 0; color: var(--muted); font-size: 16px; }
.refresh { border: 1px solid var(--line); border-radius: 999px; padding: 10px 15px; color: var(--ink); background: white; cursor: pointer; font: inherit; }
.top-actions { display: flex; gap: 8px; align-items: center; }
.top-actions a { text-decoration: none; }
.change-filter { color: var(--muted); font-size: 12px; }
.change-filter select { display: inline-block; min-width: 145px; margin: 0 0 0 6px; padding: 9px 28px 9px 10px; }
.refresh span { margin-left: 7px; color: var(--green); font-size: 18px; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 34px; }
.metric { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.metric .label { color: var(--muted); font-size: 12px; }
.metric .value { margin-top: 8px; font-family: Georgia, serif; font-size: 32px; }
.metric .hint { margin-top: 4px; color: var(--muted); font-size: 12px; }
.freshness-panel { margin: -18px 0 34px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: #f1f5f2; font-size: 12px; line-height: 1.6; }
.freshness-panel strong { color: var(--ink); }
.freshness-panel .freshness-stale { color: #925050; }
.freshness-panel .freshness-refreshed { color: var(--green); }
.xrc-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: -18px 0 34px; padding: 17px 20px; border: 1px solid var(--line); border-left: 4px solid var(--muted); border-radius: 14px; background: var(--card); }
.xrc-status h2 { margin-bottom: 4px; }
.xrc-status .eyebrow { margin-bottom: 6px; }
.xrc-status-value { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 12px; text-align: right; }
.xrc-status-value strong { color: var(--ink); font-size: 14px; }
.xrc-ok { border-left-color: var(--green); }
.xrc-degraded, .xrc-error { border-left-color: #b05d5d; }
@media (max-width: 720px) { .xrc-status { align-items: flex-start; flex-direction: column; } .xrc-status-value { text-align: left; } }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin: 0 0 14px; }
.section-heading .eyebrow { margin-bottom: 7px; }
.section-heading h2 { margin-bottom: 0; }
.subteam-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 34px; }
.subteam-card { min-height: 218px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--card); text-align: left; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.subteam-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23, 33, 38, .08); }
.subteam-card.github { border-top: 3px solid var(--blue); }
.subteam-card.onshape { border-top: 3px solid var(--orange); }
.subteam-card.subteam-assembly { border-top-color: #4f8a71; }
.subteam-card.subteam-awards { border-top-color: #8667a8; }
.subteam-card.subteam-branding { border-top-color: #c56b87; }
.subteam-card.subteam-cad { border-top-color: #b27645; }
.subteam-card.subteam-code { border-top-color: #4d8c9a; }
.subteam-card.subteam-comp { border-top-color: #b28a43; }
.subteam-card.subteam-outreach { border-top-color: #6f78b5; }
.subteam-card.subteam-safety { border-top-color: #b05d5d; }
.subteam-card.subteam-unparented { border-top-color: #8b9693; }
.subteam-top { display: flex; align-items: center; justify-content: space-between; }
.subteam-top .source { color: var(--ink); font-size: 14px; }
.arrow { color: var(--muted); font-size: 20px; }
.subteam-card p { max-width: 230px; min-height: 36px; margin: 17px 0 12px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.subteam-count { font-family: Georgia, serif; font-size: 36px; line-height: 1; }
.subteam-count span { color: var(--muted); font-family: inherit; font-size: 14px; }
.subteam-items { margin-top: 14px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.subteam-items div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.subteam-items strong { margin-right: 4px; color: var(--ink); }
.card-status { color: var(--green); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.workspace { border: 1px solid var(--line); border-radius: 20px; background: var(--card); overflow: hidden; }
.recent-section { margin-top: 36px; }
.change-context { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.context-chip { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: var(--card); font-size: 12px; }
.context-chip strong { color: var(--ink); margin-right: 4px; }
.subteam-tag { display: inline-block; margin-right: 5px; padding: 2px 6px; border-radius: 999px; color: var(--ink); background: #edf3f0; font-size: 10px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.subteam-tag.subteam-assembly, .context-chip.subteam-assembly { background: #e5f1eb; }
.subteam-tag.subteam-awards, .context-chip.subteam-awards { background: #eee8f5; }
.subteam-tag.subteam-branding, .context-chip.subteam-branding { background: #f8e8ed; }
.subteam-tag.subteam-cad, .context-chip.subteam-cad { background: #f8ece2; }
.subteam-tag.subteam-code, .context-chip.subteam-code { background: #e5f1f3; }
.subteam-tag.subteam-comp, .context-chip.subteam-comp { background: #f5efdf; }
.subteam-tag.subteam-outreach, .context-chip.subteam-outreach { background: #e9ebf7; }
.subteam-tag.subteam-safety, .context-chip.subteam-safety { background: #f7e5e5; }
.subteam-tag.subteam-unparented, .context-chip.subteam-unparented { background: #edf0ef; }
.recent-list { border: 1px solid var(--line); border-radius: 16px; padding: 8px 24px; background: var(--card); }
.recent-row { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.recent-row:last-child { border-bottom: 0; }
.recent-row summary { display: grid; grid-template-columns: 190px minmax(0, 1fr) 180px; align-items: center; gap: 18px; cursor: pointer; list-style: none; }
.recent-row summary::-webkit-details-marker { display: none; }
.recent-time { color: var(--muted); font-size: 12px; }
.recent-row strong { margin-right: 6px; }
.recent-main { min-width: 0; }
.recent-status { justify-self: end; color: var(--muted); font-size: 12px; text-align: right; }
.recent-status .status { margin-left: 6px; }
.recent-details { margin: 12px 0 2px 208px; padding: 12px 14px; border-left: 2px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.5; }
.toolbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 24px; border-bottom: 1px solid var(--line); }
h2 { margin-bottom: 4px; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.muted { margin-bottom: 0; color: var(--muted); font-size: 13px; }
.loading-state { padding: 1.5rem 0; color: var(--muted); }
.filters { display: flex; gap: 10px; }
label { color: var(--muted); font-size: 12px; }
select { display: block; min-width: 130px; margin-top: 6px; padding: 9px 28px 9px 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font: inherit; font-size: 13px; }
.items { padding: 8px 24px 20px; }
.item { border-bottom: 1px solid var(--line); }
.item:last-child { border-bottom: 0; }
.item-summary { display: grid; grid-template-columns: 100px 1fr auto; align-items: center; gap: 18px; padding: 18px 0; cursor: pointer; list-style: none; }
.item-summary::-webkit-details-marker { display: none; }
.item[open] .item-summary { padding-bottom: 12px; }
.item-details { margin: 0 0 18px 118px; padding: 14px 16px; border-left: 2px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.5; }
.detail-meta { display: flex; gap: 16px; margin-top: 10px; font-size: 11px; }
.detail-meta a { color: var(--green); font-weight: 700; text-decoration: none; }
.source { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.source::before { width: 8px; height: 8px; border-radius: 50%; background: var(--green); content: ""; }
.source.github::before { background: var(--blue); }
.source.onshape::before { background: var(--orange); }
.item h3 { margin: 0 0 5px; font-size: 15px; font-weight: 650; }
.meta { color: var(--muted); font-size: 12px; }
.item-right { text-align: right; }
.status { display: inline-block; padding: 5px 9px; border-radius: 999px; color: #477560; background: #edf6f0; font-size: 11px; font-weight: 700; }
.status.in-progress { color: #9b6738; background: #fbf1e8; }
.id { margin-top: 8px; color: var(--muted); font-size: 11px; }
footer { padding-top: 20px; color: var(--muted); font-size: 12px; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--green); }
.empty { padding: 50px 0; color: var(--muted); text-align: center; }
.audit-summary { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.audit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.audit-card { min-height: 250px; padding: 22px; border: 1px solid var(--line); border-top: 3px solid var(--muted); border-radius: 16px; background: var(--card); }
.audit-card.audit-ok { border-top-color: var(--green); }
.audit-card.audit-disabled { border-top-color: var(--muted); }
.audit-card.audit-error { border-top-color: #b05d5d; }
.audit-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.audit-card h2 { margin-bottom: 0; }
.audit-badge { padding: 5px 8px; border-radius: 999px; color: #477560; background: #edf6f0; font-size: 11px; font-weight: 800; }
.audit-error .audit-badge { color: #925050; background: #f7e5e5; }
.audit-disabled .audit-badge { color: var(--muted); background: #edf0ef; }
.audit-count { margin: 24px 0 4px; font-family: Georgia, serif; font-size: 38px; }
.audit-count span { color: var(--muted); font-family: inherit; font-size: 15px; }
.audit-samples { display: flex; flex-wrap: wrap; gap: 6px; min-height: 26px; margin-top: 6px; }
.audit-samples code { padding: 4px 7px; border-radius: 6px; color: var(--ink); background: #edf0ef; font-size: 11px; }
.audit-success-text, .audit-error-text { margin-top: 22px; font-size: 12px; }
.audit-success-text { color: var(--green); }
.audit-disabled-text { color: var(--muted); }
.audit-error-text { color: #925050; overflow-wrap: anywhere; }
@media (max-width: 720px) { .audit-grid { grid-template-columns: 1fr; } .audit-summary { align-items: start; flex-direction: column; gap: 4px; } }
@media (max-width: 720px) { .summary-grid, .subteam-grid { grid-template-columns: repeat(2, 1fr); } .subteam-grid { grid-template-columns: 1fr; } .section-heading { align-items: start; flex-direction: column; gap: 8px; } .toolbar { align-items: stretch; flex-direction: column; } .filters { flex-wrap: wrap; } .item-summary { grid-template-columns: 1fr auto; gap: 8px; } .item-summary .source { grid-column: 1 / -1; } .item-details { margin-left: 0; } .recent-row summary { grid-template-columns: 1fr; gap: 5px; } .recent-details { margin-left: 0; } }
