#camp-enrollment { --ce-bg:#fff; --ce-ink:#253244; --ce-line:#8a9bab; color:var(--ce-ink); }
html.theme--dark #camp-enrollment { --ce-bg:#182a37; --ce-ink:#eef5fa; --ce-line:#94aec0; }
#camp-enrollment .camp-card { margin:1.5rem 0; padding:1.2rem; border:1px solid var(--ce-line); border-radius:8px; background:var(--ce-bg); }
#camp-enrollment .camp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1rem; }
#camp-enrollment .camp-contact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; }
#camp-enrollment .camp-contact-person { padding:1rem; border:1px solid var(--ce-line); border-radius:6px; min-width:0; }
#camp-enrollment .camp-contact-person img { display:block; width:224px; height:224px; max-width:100%; object-fit:contain; background:#fff; margin:.8rem auto; }
#camp-enrollment .camp-contact-regions { line-height:1.8; }
#camp-enrollment .camp-privacy { margin:.8rem 0; }
#camp-enrollment .camp-privacy summary { cursor:pointer; min-height:44px; display:list-item; padding:.5rem 0; }
#camp-enrollment .camp-form-status { padding:.75rem; border-left:3px solid var(--ce-line); }
#camp-enrollment .camp-refresh { display:inline-block; padding:.5rem; min-height:24px; text-decoration:underline; }
#camp-enrollment label { display:block; }
#camp-enrollment :is(input,select,button) { box-sizing:border-box; font:inherit; color:var(--ce-ink); background:var(--ce-bg); border:1px solid var(--ce-line); border-radius:4px; min-height:44px; padding:.65rem; max-width:100%; }
#camp-enrollment :is(input,select) { width:100%; }
#camp-enrollment input[type=checkbox] { width:22px; min-height:22px; vertical-align:middle; }
#camp-enrollment button { margin:.6rem .6rem .6rem 0; cursor:pointer; }
#camp-enrollment button:disabled { opacity:.55; cursor:not-allowed; }
#camp-enrollment .privacy { white-space:pre-wrap; padding:1rem; border-left:3px solid var(--ce-line); }
#camp-enrollment :is(.activity,.review-card) { padding:1rem 0; border-bottom:1px solid var(--ce-line); }
#camp-enrollment :is(p,dd,h3) { overflow-wrap:anywhere; }
#camp-enrollment dl { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:.5rem; }
#camp-enrollment dd { margin:0; }
#camp-enrollment :is(a,.section__title) { color:var(--x-skin-primary,#285a83); }
html.theme--dark #camp-enrollment :is(a,.section__title) { color:#a8d9ff; }
#camp-enrollment :focus-visible { outline:3px solid var(--ce-ink); outline-offset:3px; }
#camp-status { padding:.75rem; border:1px solid var(--ce-line); }
#camp-enrollment .check { display:flex; align-items:flex-start; gap:.6rem; }
#camp-enrollment .check input { flex:none; margin-top:.2rem; }
#camp-enrollment .camp-steps { padding-left:1.4rem; }
#camp-enrollment .camp-steps li { padding:.25rem 0; }
#camp-enrollment .camp-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
#camp-enrollment .camp-actions [aria-current=page] { font-weight:bold; text-decoration:underline; }
#camp-enrollment .roster-search { margin-top:1rem; max-width:600px; }
#camp-enrollment .roster-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--ce-line); }
#camp-enrollment .roster-table { border-collapse:collapse; width:100%; min-width:1050px; background:var(--ce-bg); }
#camp-enrollment .roster-table :is(th,td) { text-align:left; padding:.8rem; border-bottom:1px solid var(--ce-line); overflow-wrap:anywhere; white-space:normal; min-width:90px; max-width:240px; }
#camp-enrollment .roster-table th { color:var(--ce-ink); background:var(--ce-bg); }
#camp-enrollment .roster-table tr:nth-child(even) { background:color-mix(in srgb,var(--ce-line) 8%,var(--ce-bg)); }
#camp-enrollment a.camp-entry-button { display:inline-block; box-sizing:border-box; min-height:44px; max-width:100%; padding:.7rem 1rem; border:1px solid currentColor; border-radius:6px; line-height:1.5; overflow-wrap:anywhere; }
#camp-enrollment .camp-main-nav { margin:0 0 1rem; padding:1rem; border:1px solid var(--ce-line); border-radius:8px; background:var(--ce-bg); align-items:stretch; }
#camp-enrollment .camp-main-nav a { display:inline-flex; align-items:center; justify-content:center; min-width:min(100%,7rem); font-weight:600; text-decoration:none; text-align:center; }
#camp-enrollment .camp-main-nav [aria-current=page] { box-shadow:inset 0 -3px currentColor; }
#camp-enrollment :is(a,button).camp-primary,
html.theme--dark #camp-enrollment :is(a,button).camp-primary { color:var(--ce-bg); background:var(--ce-ink); border-color:var(--ce-ink); font-weight:700; }
#camp-enrollment :is(a.camp-entry-button,button):hover:not(:disabled) { box-shadow:0 0 0 2px var(--ce-line); }
@media(max-width:480px) { #camp-enrollment .camp-main-nav a { flex:1 1 100%; } }
/* Page-local only: native search and brand bubbles must not cover private forms. */
body:has(#camp-enrollment) :is(.xinxingshe-back-to-top,.omnibar-toggle) { display:none!important; }
@media(max-width:480px) { #camp-enrollment .camp-card { padding:.8rem; } #camp-enrollment dl { grid-template-columns:1fr; } }
