/* Compact homepage treatment */
main:has(.hero){padding-top:24px;background:linear-gradient(180deg,#f7f9fd 0%,#f1f4f9 100%)}
main:has(.hero) .topbar{margin-bottom:18px}
main:has(.hero) .hero{grid-template-columns:minmax(0,1.8fr) minmax(250px,.72fr);gap:14px}
main:has(.hero) .project-banner{padding:22px 25px;border-radius:16px;box-shadow:0 5px 18px #203a6810}
main:has(.hero) .project-banner:after{display:none}
main:has(.hero) .project-banner h2{margin-top:10px;font-size:23px}
main:has(.hero) .project-meta{margin-top:18px}
main:has(.hero) .countdown{padding:21px;border-radius:16px;box-shadow:0 5px 18px #203a6818}
main:has(.hero) .countdown strong{font-size:46px}
main:has(.hero) .metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
main:has(.hero) .metric{min-height:126px;padding:16px 18px;border-radius:14px;box-shadow:0 4px 14px #203a6809}
main:has(.hero) .metric strong{font-size:25px}
main:has(.hero) .columns{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:14px}
main:has(.hero) .panel{padding:19px 21px;border-radius:15px;box-shadow:0 4px 14px #203a6809}
main:has(.hero) .panel-head{margin-bottom:10px}
main:has(.hero) .activity-list{gap:0}
main:has(.hero) .activity{padding:8px 0}
main:has(.hero) .activity b{font-size:13px}
main:has(.hero) .task{padding:10px 2px}
main:has(.hero) .columns{display:block!important}
main:has(.hero) .columns>section:first-child{display:none!important}
main:has(.hero) .columns>aside{width:100%!important;max-width:none!important}
main:has(.hero) .columns>aside .panel-head{align-items:end}
main:has(.hero) .columns>aside .activity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
main:has(.hero) .columns>aside .activity{min-height:66px;padding:10px 0;border-top:1px solid #edf0f5}
main:has(.hero) .columns>aside .activity:nth-child(-n+3){border-top:0}
main:has(.hero) .columns>aside .activity-dot{margin-top:6px;background:#3159e7;box-shadow:0 0 0 4px #3159e714}
main:has(.hero) .columns>aside{background:linear-gradient(135deg,#fff,#f8faff)}
main:has(.hero) .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
main:has(.hero) .metric:last-child{background:#eef4ff;border-color:#d5e1ff}
main:has(.hero) .home-activity-only{display:block!important}
main:has(.hero) .home-activity-only>aside{display:block!important;width:100%!important;max-width:none!important}
main:has(.hero) .home-activity-only>aside .activity-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
@media(max-width:1050px){main:has(.hero) .hero,main:has(.hero) .columns{grid-template-columns:1fr}main:has(.hero) .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){main:has(.hero) .metrics{grid-template-columns:1fr}main:has(.hero) .columns>aside .activity-list{grid-template-columns:1fr}}
.sop-textarea{min-height:560px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.7;background:#fbfcff}
.sop-editor .editor-actions{align-items:center}
.sop-status{margin-top:16px}
.sop-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#3159e7;font-weight:750}
.sop-flow span{padding:10px 14px;border:1px solid #d9e3ff;border-radius:10px;background:#f4f7ff}
.sop-flow b{color:#9aabc9}

/* Shared visual baseline: remove decorative noise and keep every action area scannable. */
.brand-mark{overflow:hidden;background:#fff!important;box-shadow:0 4px 12px #00000024}.brand-mark img{width:100%;height:100%;object-fit:cover}.panel,.editor-card,.library-card,.metric,.project-banner{box-shadow:0 5px 16px #203a6808}.section-intro{padding-bottom:14px;border-bottom:1px solid #e5eaf2}.mode-banner{box-shadow:none}.library-card,.editor-card{border-radius:14px}.file-row{background:#fff}.metric{min-width:0}.metric strong{overflow-wrap:anywhere}.project-banner{background:#fff!important}.project-banner h2{max-width:920px}.project-meta{gap:28px}.topbar{padding-bottom:2px}

/* Homepage course summary: one compact row rather than an empty two-column banner. */
main:has(.hero) .hero{display:block;margin-bottom:14px}
main:has(.hero) .project-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;min-height:0;padding:20px 24px}
main:has(.hero) .course-summary-copy{min-width:0}
main:has(.hero) .course-summary .badge{color:#1768a8;background:#e8f4ff}
main:has(.hero) .project-banner h2{margin:9px 0 4px;font-size:24px;line-height:1.3}
main:has(.hero) .project-banner p{font-size:13px}
main:has(.hero) .project-meta{display:grid;grid-template-columns:repeat(3,minmax(104px,1fr));gap:0;margin:0;border-left:1px solid #e5eaf2}
main:has(.hero) .project-meta>div{padding:2px 18px;border-right:1px solid #e5eaf2}
main:has(.hero) .project-meta>div:last-child{border-right:0}
main:has(.hero) .project-meta b{margin-top:3px;font-size:18px;white-space:nowrap}
@media(max-width:900px){main:has(.hero) .project-banner{grid-template-columns:1fr;gap:16px}main:has(.hero) .project-meta{border-left:0}main:has(.hero) .project-meta>div:first-child{padding-left:0}}
@media(max-width:560px){main:has(.hero) .project-banner{padding:18px}main:has(.hero) .project-meta{grid-template-columns:repeat(3,1fr)}main:has(.hero) .project-meta>div{padding:0 10px}main:has(.hero) .project-meta>div:first-child{padding-left:0}main:has(.hero) .project-meta b{font-size:15px}}
