/* Goal100 Activities pages (website/activities). Uses college.css for the shared sv-* look; these are additions. */
.ac-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:center}
@media (max-width:820px){.ac-top{grid-template-columns:minmax(0,1fr)}.ac-top .sv-anim{max-width:420px}}
.ac-top .sv-anim{margin:0}
.ac-top .sv-anim svg{width:100%;height:auto;display:block}
.ac-top ul.sv-sum{list-style:none;padding:0;margin:.6em 0 0;display:flex;flex-direction:column;gap:6px}
/* hub tabs */
.ac-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.ac-tabs button{min-height:48px;padding:6px 14px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:800 .98rem var(--body);cursor:pointer}
.ac-tabs button[aria-selected="true"]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.ac-panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}
.ac-panel[hidden]{display:none}
.ac-panel h3{margin:0 0 6px}
.ac-panel .grid{margin-top:10px}
/* small cards */
.ac-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px;list-style:none;padding:0;margin:0}
.ac-mini li{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.ac-mini li b{display:block}
/* finder */
.ac-finder fieldset{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 12px;background:var(--card)}
.ac-finder legend{font-weight:800;padding:0 6px}
.ac-count{font-weight:800;margin:6px 0}
.ac-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}
.ac-res .sv-card .tag.ext{background:var(--ext-soft);color:var(--ext)}
/* calendar */
.cc-count{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;list-style:none;padding:0;margin:0}
.cc-count li{background:var(--card);border:1px solid var(--line);border-left:8px solid var(--brand);border-radius:16px;padding:12px 14px}
.cc-count li.music{border-left-color:var(--gold)}
.cc-count li.past{border-left-color:var(--ink2);opacity:.8}
.cc-count li[hidden]{display:none}
.cc-count .d{display:block;font-family:var(--display);font-size:1.7rem;font-weight:800;line-height:1.05;color:var(--brand)}
.cc-count li.music .d{color:var(--gold-deep)}
.cc-count .w{display:block;font-weight:700}
.cc-count small{color:var(--ink2);display:block;margin-top:4px}
/* forms and tools */
.ac-tool{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px}
.ac-tool .grid{gap:10px}
.ac-tool label{font-weight:700}
.ac-out{background:var(--brand-soft);border-radius:14px;padding:12px 14px;margin-top:10px}
.ac-out b.big{font-family:var(--display);font-size:1.6rem;display:block;line-height:1.1}
.ac-meter{height:16px;border-radius:999px;background:var(--bg2);overflow:hidden;margin:6px 0}
.ac-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--good),var(--gold));border-radius:999px;transition:width .4s}
@media (prefers-reduced-motion:reduce){.ac-meter i{transition:none}}
.ac-log{width:100%;border-collapse:collapse;font-size:.94rem}
.ac-log th,.ac-log td{padding:8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;text-transform:none;letter-spacing:normal}
.ac-log button{min-height:36px;border-radius:10px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:700 .85rem var(--body);cursor:pointer;padding:4px 10px}
@media (max-width:620px){
 .ac-log thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .ac-log tr{display:block;border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:6px 10px;background:var(--card)}
 .ac-log td{display:block;border:0;padding:4px 0}
 .ac-log td[data-label]::before{content:attr(data-label)": ";font-weight:800;color:var(--ink2)}
}
.ac-core{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px}
.ac-core label{display:flex;flex-direction:column;gap:4px;font-weight:700}
.ac-core input{max-width:120px}
.ac-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.ac-check li label{display:flex;flex-direction:row;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font-weight:400}
.ac-check input{width:24px;min-height:24px;height:24px;flex:none;margin-top:1px;accent-color:var(--good)}
.ac-check li label:has(input:checked){background:var(--good-soft);border-color:var(--good)}
.ac-path{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;list-style:none;padding:0;margin:0;counter-reset:f}
.ac-path li{counter-increment:f;background:var(--card);border:1px solid var(--line);border-top:6px solid var(--teal);border-radius:14px;padding:10px 12px}
.ac-path li::before{content:"Step " counter(f);display:block;font-size:.78rem;font-weight:800;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em}
.ac-note{font-size:.9rem;color:var(--ink2)}
@media print{header.top,footer.foot,.note,.cc-nav,.sv-jump,.ac-tabs,.sv-anim,.ac-noprint{display:none!important}.ac-panel[hidden]{display:block!important}}
.ac-finder .chip{flex-direction:row;font-weight:700}
.ac-finder .chip input{width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:var(--brand)}
.ac-finder .chip:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
[data-cal-filter] .chip[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-soft)}
.ac-tool label{display:flex;flex-direction:column;gap:6px}
.sv-table.narrow{min-width:0}
