/* Read-only project overview. Shared Studio controls and authority remain unchanged. */
.studio-overview-v2 { display:grid; gap:26px; min-width:0; }
.studio-overview-v2 .studio-heading { margin-bottom:0; gap:20px; }
.studio-overview-v2 .studio-heading h1 { overflow-wrap:anywhere; }
.studio-overview-v2 .studio-heading-actions { flex-wrap:wrap; }
.sov-project-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; color:var(--muted); font-size:12px; padding-bottom:6px; }
.sov-badge { display:inline-flex; align-items:center; min-height:27px; padding:4px 10px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:11px; line-height:1.5; font-weight:400; }
.sov-top-grid, .sov-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
.sov-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.sov-card > header { margin-bottom:21px; }
.sov-card h2, .sov-report h2 { font-size:20px; line-height:1.3; letter-spacing:-.022em; font-weight:500; }
.sov-card > header > p { color:var(--muted); font-size:13px; line-height:1.65; margin-top:8px; }
.sov-card-body { flex:1; min-width:0; }
.sov-card-intro { color:var(--muted); font-size:13px; line-height:1.7; margin:14px 0 4px; }
.sov-card-footer { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; justify-content:space-between; border-top:1px solid var(--line); margin-top:22px; padding-top:15px; }
.sov-card-footer > span { color:var(--muted); font-size:11px; }
.studio-overview-v2 .studio-text-link { min-height:38px; font-size:13px; line-height:1.5; }
.sov-version-line { display:flex; flex-wrap:wrap; align-items:center; gap:15px; }
.sov-version-line > strong { font-weight:500; font-size:32px; letter-spacing:-.035em; line-height:1.2; font-variant-numeric:tabular-nums; }
.sov-facts { margin:16px 0 0; display:grid; }
.sov-facts > div { display:grid; grid-template-columns:minmax(100px,.85fr) minmax(0,1fr); gap:18px; padding:11px 0; border-bottom:1px solid var(--line); }
.sov-facts > div:last-child { border:0; }
.sov-facts dt { color:var(--muted); font-size:12px; line-height:1.6; }
.sov-facts dd { color:var(--ink); font-size:12px; line-height:1.6; margin:0; text-align:right; overflow-wrap:anywhere; }
.sov-details { margin-top:20px; padding-top:15px; border-top:1px solid var(--line); }
.sov-details summary { font-size:13px; font-weight:500; min-height:38px; cursor:pointer; line-height:1.5; padding:8px 0; }
.sov-snapshot-list > div { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px 0; }
.sov-snapshot-list > div + div { border-top:1px solid var(--line); }
.sov-snapshot-list strong { display:block; font-size:13px; font-weight:500; }
.sov-snapshot-list small { display:block; margin-top:5px; color:var(--muted); font-size:11px; }
.sov-readiness-top { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:15px; }
.sov-readiness-top strong { font-size:24px; font-weight:500; letter-spacing:-.02em; }
.sov-readiness-top > span { color:var(--muted); font-size:12px; text-align:right; }
.sov-progress { width:100%; height:5px; display:block; border:0; background:var(--line); border-radius:999px; overflow:hidden; accent-color:var(--ink); }
.sov-progress::-webkit-progress-bar { background:var(--line); border-radius:999px; }
.sov-progress::-webkit-progress-value { background:var(--ink); border-radius:999px; }
.sov-progress::-moz-progress-bar { background:var(--ink); border-radius:999px; }
.sov-checks { margin-top:15px; }
.sov-checks > div { display:flex; align-items:center; gap:12px; padding:13px 0; }
.sov-checks > div + div { border-top:1px solid var(--line); }
.sov-check { width:28px; height:28px; display:grid; place-items:center; color:var(--muted); flex:none; }
.sov-check .studio-icon { width:18px; height:18px; }
.sov-check.is-complete { color:var(--ink); }
.sov-checks > div > span:nth-child(2) { flex:1; min-width:0; }
.sov-checks strong { display:block; font-size:13px; font-weight:500; }
.sov-checks small { display:block; font-size:11px; line-height:1.6; color:var(--muted); margin-top:4px; overflow-wrap:anywhere; }
.sov-checks .studio-text-link { flex:none; font-size:11px; }
.sov-report { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:30px 0; min-width:0; }
.sov-section-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.sov-eyebrow { display:block; color:var(--muted); font-size:12px; margin-bottom:9px; }
.sov-section-heading p { color:var(--muted); font-size:13px; line-height:1.7; margin-top:8px; max-width:570px; }
.sov-section-heading .sov-badge { flex:none; }
.sov-report-context { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; color:var(--muted); font-size:11px; margin:22px 0 6px; }
.sov-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 -24px; }
.sov-metrics > div { padding:17px 24px; min-width:0; border-right:1px solid var(--line); }
.sov-metrics > div:last-child { border:0; }
.sov-metrics span { display:block; color:var(--muted); font-size:12px; }
.sov-metrics strong { display:block; font-size:32px; font-weight:500; line-height:1.2; letter-spacing:-.035em; font-variant-numeric:tabular-nums; margin:9px 0 7px; }
.sov-metrics small { display:block; color:var(--muted); font-size:10px; line-height:1.6; }
.sov-report-detail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px; margin-top:25px; padding-top:22px; border-top:1px solid var(--line); }
.sov-report-detail h3 { font-size:14px; font-weight:500; line-height:1.4; margin-bottom:16px; }
.sov-report-detail .sov-facts { margin-top:0; }
.sov-source-bars { display:grid; gap:12px; }
.sov-source-bars > div { display:grid; grid-template-columns:115px minmax(0,1fr) 36px; align-items:center; gap:14px; font-size:12px; }
.sov-source-bars > div > span:first-child { color:var(--muted); }
.sov-source-bars strong { font-weight:500; text-align:right; font-variant-numeric:tabular-nums; }
.sov-bar { height:4px; background:var(--line); border-radius:999px; overflow:hidden; }
.sov-bar i { display:block; height:100%; background:var(--ink); border-radius:999px; }
.sov-report .sov-card-footer { border:0; padding-top:2px; margin-top:22px; }
.sov-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
.sov-gallery img { width:100%; height:92px; object-fit:cover; border-radius:9px; background:var(--subtle); }
.sov-content-empty { display:flex; align-items:center; gap:13px; border-radius:12px; background:var(--subtle); padding:21px 17px; font-size:13px; color:var(--muted); min-height:92px; }
.sov-mode-list { padding-top:10px; margin-top:12px; border-top:1px solid var(--line); }
.sov-mode-list > div { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 0; }
.sov-mode-list strong { font-weight:500; font-size:12px; }
.sov-mode-list span { font-size:11px; color:var(--muted); text-align:right; }
.sov-compact-list { margin-top:14px; padding-top:4px; border-top:1px solid var(--line); }
.sov-compact-list > div { padding:11px 0; }
.sov-compact-list strong { font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.sov-compact-list small { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.sov-inline-routes { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:20px; }
.sov-activity-card { margin-top:0; }
.sov-activity-list { margin:0; padding:0; list-style:none; }
.sov-activity-list li { display:flex; align-items:center; gap:18px; padding:17px 0; }
.sov-activity-list li + li { border-top:1px solid var(--line); }
.sov-activity-dot { width:7px; height:7px; border:1.5px solid var(--muted); border-radius:50%; flex:none; }
.sov-activity-list li > div { flex:1; min-width:0; }
.sov-activity-list strong { display:block; font-size:13px; font-weight:500; }
.sov-activity-list p { color:var(--muted); font-size:12px; margin-top:4px; line-height:1.7; overflow-wrap:anywhere; }
.sov-activity-list time { display:block; color:var(--muted); font-size:11px; margin-top:7px; }
.sov-activity-list .studio-text-link { flex:none; font-size:12px; }
@media (max-width:1100px) {
  .sov-top-grid, .sov-work-grid { gap:18px; }
  .sov-card { padding:21px; }
  .sov-metrics { margin:0 -16px; }
  .sov-metrics > div { padding-inline:16px; }
  .sov-metrics strong { font-size:28px; }
  .sov-report-detail { gap:26px; }
  .sov-source-bars > div { grid-template-columns:92px minmax(0,1fr) 32px; gap:11px; font-size:11px; }
  .sov-facts > div { gap:14px; }
}
@media (max-width:700px) {
  .studio-overview-v2 { gap:24px; }
  .studio-overview-v2 .studio-heading { gap:19px; }
  .studio-overview-v2 .studio-heading-actions { width:100%; padding-top:0; }
  .sov-project-meta { font-size:11px; gap:10px 16px; }
  .sov-top-grid, .sov-work-grid, .sov-report-detail { grid-template-columns:1fr; }
  .sov-card { padding:20px; border-radius:16px; }
  .sov-card > header { margin-bottom:19px; }
  .sov-card h2, .sov-report h2 { font-size:19px; }
  .sov-card-footer { margin-top:20px; padding-top:12px; }
  .studio-overview-v2 .studio-text-link, .sov-details summary { min-height:48px; }
  .sov-card-footer .studio-text-link { font-size:13px; }
  .sov-version-line { gap:12px; }
  .sov-version-line > strong { font-size:29px; }
  .sov-facts > div { grid-template-columns:minmax(100px,.85fr) minmax(0,1fr); gap:13px; padding:10px 0; }
  .sov-facts dt, .sov-facts dd { font-size:12px; }
  .sov-checks > div { gap:9px; }
  .sov-checks strong { font-size:12px; }
  .sov-checks .studio-text-link { font-size:11px; }
  .sov-checks .studio-text-link .studio-icon { width:15px; height:15px; }
  .sov-report { padding:26px 0; }
  .sov-section-heading { gap:16px; }
  .sov-section-heading p { font-size:12px; }
  .sov-section-heading .sov-badge { font-size:10px; }
  .sov-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
  .sov-metrics > div { padding:18px 15px; }
  .sov-metrics > div:nth-child(odd) { padding-left:0; }
  .sov-metrics > div:nth-child(even) { border-right:0; }
  .sov-metrics > div:nth-child(n+3) { border-top:1px solid var(--line); }
  .sov-metrics strong { font-size:29px; }
  .sov-metrics span { font-size:11px; }
  .sov-report-detail { gap:27px; margin-top:17px; }
  .sov-report-context { font-size:10px; }
  .sov-source-bars > div { grid-template-columns:115px minmax(0,1fr) 35px; font-size:12px; }
  .sov-gallery img { height:77px; }
  .sov-mode-list > div { gap:18px; }
  .sov-activity-list li { gap:12px; padding:14px 0; }
  .sov-activity-list strong { font-size:12px; }
  .sov-activity-list p { font-size:11px; }
}
