/* V4.16 additive visual refinement. Click targets and form controls remain intact. */
.nameTag{border:0!important;background:transparent!important;padding:2px 0!important;box-shadow:none!important;color:var(--tagColor,#344b60);font-size:20px;font-weight:700;line-height:1.55;white-space:normal}
.nameTag::before{display:none!important}
.classPill{border:1.5px solid currentColor!important;background:#f4effa!important;box-shadow:none!important;padding:3px 10px!important;border-radius:9px;font-size:23px;font-weight:800;line-height:1.4}
.classPill[data-band=blue]{color:#235b96;background:#eaf2fb!important}.classPill[data-band=orange]{color:#a34c17;background:#fff0e3!important}
.slot>div:last-child{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 16px}.matrix .cellBtn{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.matrix td{min-width:116px}.matrix .nameTag{font-size:19px}
.communityHome{margin-bottom:14px}


.communityVideos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:16px}.communityVideo iframe{width:100%;aspect-ratio:16/9;border:0}.communityVideo p{white-space:pre-wrap;overflow-wrap:anywhere}.communityForm{display:grid;gap:12px}.communityForm label{display:grid;gap:5px}.communityForm input[type=checkbox]{width:auto}.communityForm .dialogActions{position:sticky;bottom:0;background:white;padding:12px 0}details.panel>summary{font-weight:700;cursor:pointer;margin-bottom:18px}
#communityPrint{display:none}
@media(max-width:650px){.nameTag{font-size:19px}.classPill{font-size:22px}.communityForm{min-width:0}}
@media print{body:has(#communityPrint)>*:not(#communityPrint){display:none!important}#communityPrint{display:block!important;font:12pt sans-serif;color:#111;padding:12mm}#communityPrint h1{font-size:20pt}#communityPrint h2{font-size:15pt;break-after:avoid}#communityPrint table{width:100%;border-collapse:collapse;margin-bottom:7mm}#communityPrint th,#communityPrint td{padding:2mm 3mm;text-align:left;border-bottom:1px solid #bbb}#communityPrint tr{break-inside:avoid}#communityPrint thead{display:table-header-group}}
.aside{min-width:0}.nav{max-width:100%}.communityHome{min-width:0}.announcementTicker{max-width:100%}
@media(max-width:980px){.appShell{grid-template-columns:minmax(0,1fr)}}
@media print{body:has(#communityPrint),#communityPrint{background:#fff!important}}
/* Keep medium-bright name colors readable in selection and print views too. */
.batchPerson>span,[data-batch-remove]{font-size:19px;font-weight:700}.batchPerson small{font-size:12px;color:#596574}
@media print{#communityPrint td:last-child{font-size:14pt;font-weight:700}}

/* Test proposal: soft class labels and frameless names, scoped to the daily cards. */
.scheduleGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.scheduleGrid>.slot{min-height:138px;padding:16px;align-content:start}
.scheduleGrid .slotTop{align-items:center;margin-bottom:14px;min-height:44px}
.scheduleGrid .classPill{color:#537ea0!important;background:#eff4f8!important;border:1px solid #d5e0e9!important;border-radius:10px;padding:4px 12px!important;font-size:26px;font-weight:650;line-height:1.35}
.scheduleGrid .classPill[data-band=orange]{color:#b17b50!important;background:#fbf2e9!important;border-color:#ead8c7!important}
.scheduleGrid .classPill[data-band=other]{color:#9172a7!important;background:#f5f0f8!important;border-color:#e2d6eb!important}
.scheduleGrid .nameTag{font-size:22px;font-weight:650;line-height:1.6;margin:0;padding:0!important;border:0!important;background:transparent!important}
.scheduleGrid>.slot>div:last-child{gap:5px 14px;min-height:36px}
@media(max-width:1100px){.scheduleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.scheduleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.scheduleGrid>.slot{min-height:132px;padding:12px}.scheduleGrid .classPill{font-size:24px;padding:4px 10px!important}.scheduleGrid .nameTag{font-size:20px}.scheduleGrid .hint{font-size:11px}.scheduleGrid .slotTop{gap:4px;margin-bottom:12px}}
@media(max-width:340px){.scheduleGrid{grid-template-columns:minmax(0,1fr)}}
/* Fixed-service search multi-select. Other activity pickers are unchanged. */
.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.fixedPicker{margin:14px 0}.fixedPickerToggle{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}
.fixedPickerPanel{margin-top:8px;border:1px solid #dce5e0;border-radius:12px;padding:10px;background:#fff}.fixedPickerPanel[hidden]{display:none}.fixedPickerPanel input{width:100%;font-size:16px}
.fixedPickerOptions{max-height:min(36dvh,280px);overflow-y:auto;overscroll-behavior:contain;margin-top:6px}.fixedPickerOption{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 6px;background:transparent;border:0;border-bottom:1px solid #f0f2f0;text-align:left;cursor:pointer}.fixedPickerOption:hover,.fixedPickerOption:focus-visible{background:#edf5ef}.fixedPickerOption[aria-selected=true]{background:#f2f6f1}.fixedPickerOption small{margin-left:auto;color:#657469;font-size:12px}.fixedPickerCheck{width:18px;color:#426b55}.fixedPicker .nameTag{font-size:20px;font-weight:650}
.fixedPickerSelected{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0;min-height:36px}.fixedSelectedPerson{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:5px 0;background:transparent;border:0;cursor:pointer}.fixedSelectedPerson>span:last-of-type{font-size:20px;color:#76847d}.fixedSelectedPerson small{font-size:11px;color:#6b756c}.fixedSelectedPerson:focus-visible,.fixedPickerToggle:focus-visible{outline:2px solid #537e69;outline-offset:3px}#slotCancelReason{display:block;width:100%;margin-top:8px}#slotSaveError{color:#963c4c;white-space:pre-wrap}#slotReload[hidden]{display:none}
/* Two columns on phones, with the class left and names stacked on the right. */
@media(max-width:650px){
 .scheduleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .scheduleGrid>.slot{display:flex;align-items:center;position:relative;gap:7px;min-height:80px;padding:13px 8px 10px}
 .scheduleGrid .slotTop{flex:0 0 42px;min-height:0;margin:0;display:flex}
 .scheduleGrid .classPill{min-width:0;width:42px;padding:4px 3px!important;font-size:20px;border-radius:8px;flex-shrink:0}
 .scheduleGrid .classPill[data-band=other]{font-size:16px}
 .scheduleGrid .slotTop .hint{position:absolute;right:5px;top:3px;font-size:10px}.scheduleGrid .editWord{display:none}
 .scheduleGrid>.slot>.slotNames{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:0}
 .scheduleGrid .slotNames .nameTag{display:block;font-size:18px;font-weight:650;line-height:1.55;white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%}
 .scheduleGrid .slotNames .empty{font-size:11px;padding:0;line-height:1.6}
 .fixedPickerOptions{max-height:min(32dvh,240px)}.fixedPicker .nameTag{font-size:19px}.fixedPickerToggle{font-size:16px}
}
@media(max-width:360px){.scheduleGrid>.slot{gap:5px}.scheduleGrid .slotTop{flex-basis:38px}.scheduleGrid .classPill{width:38px;font-size:18px;padding:4px 2px!important}.scheduleGrid .classPill[data-band=other]{font-size:14px}}
.participationSelect{min-width:210px;font-size:15px}.participationHint{display:block;color:#6c7c71;font-size:12px;margin-top:6px}#participationError{color:#9a4051;white-space:pre-wrap}.unifiedRoster .nameTag{font-size:20px}.announcementOnly{max-width:1000px}.announcementOnly .communityVideos{display:none}@media(max-width:650px){.unifiedRoster .controls{gap:10px}.unifiedRoster .tableScroll{overflow-x:auto}.participationSelect{min-width:185px}.unifiedRoster .nameTag{font-size:19px}}

.participationGroup th{background:#f2f6f4;padding:12px!important}.inactiveGroup th{background:#f1f1f3;color:#68717c}#rosterAddPanel[hidden]{display:none}
.unifiedRoster>.panelHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.unifiedRoster>.panelHead>.chip{grid-column:1/-1;justify-self:end}.unifiedRoster>.panelHead>.panelTitle{min-width:0;font-size:18px}.unifiedRoster>.panelHead>.btn{white-space:nowrap}

/* BEGIN compact announcement */
/* Compact homepage only: existing announcement records and management remain unchanged. */
.main:has(.communityHome){background:#fff9f3}
.communityHome,.communityVideoSection{padding:14px 16px;margin-bottom:14px;min-width:0}
.communityHome>.panelHead,.communityVideoSection>.panelHead{align-items:center;margin-bottom:9px;gap:8px}
.communityHome>.panelHead>.panelTitle,.communityVideoSection>.panelHead>.panelTitle{font-size:16px;font-weight:650;line-height:1.5;color:#b56d7d}
.announcementTools{display:flex;align-items:center;gap:7px}.announcementTools>.btn{font-size:12px;min-height:32px}
.communityHome .announcementTicker{display:flex;align-items:center;overflow:hidden;max-width:100%;height:48px;margin:0;padding:0;background:#fff7f0;border:1px solid #eeddd5;border-radius:11px;color:#6d4f57}
.announcementExpand{border:0;background:transparent;flex:1;min-width:0;overflow:hidden;height:46px;padding:0 12px;text-align:left;color:inherit;font:inherit;cursor:pointer}
.announcementTrack{display:flex;align-items:center;width:max-content;animation:none;will-change:auto}
.announcementGroup{display:inline-flex;align-items:center;gap:32px;padding-right:32px;flex:none}
.announcementItem{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-size:15px;line-height:1.5;flex:none}
.announcementItem strong{font-weight:650}.announcementText{font-weight:400}
.announcementTicker:not(.is-rotating) .announcementCopy{display:none}
.announcementTicker.is-rotating .announcementTrack{animation:sf-compact-news var(--news-duration,42s) linear infinite}
.announcementTicker.paused .announcementTrack,.announcementTicker.is-expanded .announcementTrack,.announcementTicker:has(:focus-visible) .announcementTrack{animation-play-state:paused}
.announcementControl{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;padding:7px;border:0;border-radius:9px;color:#b56d7d;background:transparent;cursor:pointer}
.announcementControl:hover{background:#fff0eb}.announcementChevron{margin-right:5px}.announcementControl svg{width:20px;height:20px}
.announcementDetails{padding-top:10px}.announcementDetails[hidden]{display:none!important}.announcementDetails article{padding:12px 2px;border-bottom:1px solid #f0e7e2;overflow-wrap:anywhere}
.announcementDetails h3{font-size:16px;color:#6d4f57;font-weight:650}.announcementDetails p{font-size:15px;line-height:1.9;white-space:pre-wrap;margin-top:5px;color:#6d4f57}
.announcementDetails time,.communityVideo time{display:block;font-size:12px;color:#837079;margin-top:7px}.announcementDetails>.linkButton{font-size:13px;margin-top:6px;color:#b56d7d}
.communityVideoSection .communityVideos{margin-top:0;gap:14px}.communityVideoSection .communityVideo h3{font-size:16px}
@keyframes sf-compact-news{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){.communityHome,.communityVideoSection{padding:12px}.communityHome>.panelHead{flex-direction:row;flex-wrap:wrap;align-items:center}.communityHome>.panelHead>.panelTitle,.communityVideoSection>.panelHead>.panelTitle{font-size:15px}.announcementTools{margin-left:auto;gap:3px}.announcementTools>.btn{font-size:11px;padding:6px 8px}.communityHome .announcementTicker{height:48px}.announcementItem{font-size:15px}.announcementDetails p{font-size:15px}.announcementExpand{padding-left:10px}}
@media(prefers-reduced-motion:reduce){.announcementTicker.is-rotating .announcementTrack{animation:none!important;transform:none!important}.announcementCopy{display:none!important}}

/* END compact announcement */
/* BEGIN desktop home refinement */
/* Desktop refinement: original brand mark, route order and role guards remain unchanged. */
.aside .nav .navBtn{gap:10px;align-items:center}
.nav .navBtn .navIcon{display:inline-grid;place-items:center;width:20px;height:20px;min-width:20px;flex:none;color:#66758a;line-height:0}
.nav .navIcon>svg{display:block;width:20px;height:20px;stroke-width:1.8}
.nav .navBtn.active,.nav .navBtn.active .navIcon{color:#b56d7d}
.main:has(.communityHome) .head h1{color:#283445}
.main:has(.communityHome) .sub,.main:has(.communityHome) .muted{color:#637084}
.homeServiceBanner{height:auto;padding:12px 22px;gap:18px;align-items:center;margin-bottom:16px}
.homeServiceInfo{min-width:0}.homeServiceBanner strong{font-size:20px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.homeServiceBanner p{font-size:13px;line-height:1.4;margin-top:4px;color:#77675f}
.homeServiceBanner .yearChiefLabel{font-size:12px!important;line-height:1.4!important;margin-top:4px!important;color:#705f59!important}
.homeServiceBanner .bannerEdit{margin-top:4px;min-height:28px;padding:4px 9px;font-size:12px}
.homeServiceBanner>.btn{align-self:center;flex-shrink:0}
.communityHome{padding-top:10px;padding-bottom:10px}.communityHome>.panelHead{margin-bottom:7px}
.homeTermPicker{max-width:460px;min-width:0;gap:6px}
.termViewingRow{display:flex;gap:7px;align-items:center;min-width:0}.termViewingRow>label{flex:none;color:#35465b;font-size:12px;white-space:nowrap}
.termViewingRow>.select{flex:1;min-width:0;color:#35465b;max-width:100%;font-size:13px}
.termPublishedRow{display:flex;align-items:center;gap:5px 6px;flex-wrap:wrap;font-size:12px;line-height:1.6;color:#536777}
.termPublishedLabel{white-space:nowrap}.publicTermChip{display:inline-block;border:1px solid #dcebdc;background:#edf5e9;color:#426447;border-radius:999px;padding:2px 8px;white-space:nowrap;font-weight:550;font-size:12px}
.noPublicTerm{color:#657282;font-size:12px}.termViewDifference{font-size:12px;line-height:1.5;color:#86616d;margin:0}
@media(max-width:650px){.homeServiceBanner{flex-direction:column;align-items:flex-start;padding:14px 16px;gap:12px}.homeServiceBanner strong{font-size:17px;line-height:1.5}.homeServiceBanner>.btn{align-self:flex-start}.homeTermPicker{max-width:100%;width:100%}.termViewingRow{flex-direction:column;align-items:stretch;gap:5px}.termViewingRow>.select{width:100%}.termPublishedRow{align-items:flex-start}.communityHome{padding-top:10px;padding-bottom:10px}}

/* END desktop home refinement */
/* BEGIN home info */
.homeServiceDetails{margin-top:12px;max-width:640px;width:100%;gap:0}
.homeServiceDetails h2{font-size:13px;font-weight:650;color:#536479;margin:0 0 8px;line-height:1.5}
.serviceInfoRows{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:1.6;color:#536479}
.homeServiceDetails .termViewingRow,.homeServiceDetails .termPublishedRow,.homeChiefRow{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;min-width:0}
.homeServiceDetails .termViewingRow>label,.homeServiceDetails .termViewingRow>span:first-child,.homeServiceDetails .termPublishedLabel,.homeChiefRow>span:first-child{width:112px;flex:none;font-size:13px;color:#536479}
.homeServiceDetails .termViewingRow>.select{width:280px;max-width:100%;flex:0 1 280px;font-size:13px}
.homeServiceDetails .termReadOnly{color:#35465b;font-size:13px}
.homeChiefRow .yearChiefLabel{color:#35465b;font-size:14px;font-weight:550}
.homeChiefRow .chiefEdit{font-size:12px;min-height:28px;padding:4px 9px;margin:0}
.homeServiceDetails .termViewDifference{font-size:12px;color:#86616d;margin:0}
#bannerForm .noticeField:has(#bannerTitle),#bannerForm .noticeField:has(#bannerSubtitle){display:none}
.announcementGroup{gap:48px;padding-right:48px}.announcementItem{gap:12px}
@media(max-width:650px){.homeServiceDetails .termViewingRow{flex-direction:row;align-items:center;gap:6px 8px}.homeServiceDetails .termViewingRow>.select{flex:1 1 180px;width:auto}.homeServiceDetails .termViewingRow>label,.homeServiceDetails .termViewingRow>span:first-child,.homeServiceDetails .termPublishedLabel,.homeChiefRow>span:first-child{width:auto;min-width:104px}.homeServiceDetails .termViewDifference{width:100%}.announcementGroup{gap:40px;padding-right:40px}.homeChiefRow{row-gap:5px}}


/* END home info */
/* BEGIN service hours */
.hoursDialog{max-width:min(1160px,97vw);width:1160px;max-height:94vh;overflow:auto}.hoursDialog h3{font-size:17px;margin:12px 0}.hoursFilters{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.hoursFilters label{display:flex;flex-direction:column;gap:5px;min-width:130px;font-size:13px}.hoursTotals{display:flex;gap:10px;flex-wrap:wrap;background:#fff7f0;padding:14px;border-radius:12px;color:#6d4f57}.hoursTotals span{padding-right:12px}.hoursTotals b{font-size:21px}.hoursTable td{font-size:13px;vertical-align:top;white-space:normal}.hoursTable small{display:block;font-size:11px;overflow-wrap:anywhere;margin-top:5px}.hoursTable{min-width:850px}.hoursOverlap{margin:10px 0}.hoursOverlap button{margin-left:10px}.hoursSegment{display:flex;gap:10px;align-items:flex-end;margin:10px 0}.hoursSegment label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0;font-size:13px}.hoursComplete{display:block;margin:14px 0}.hoursAudit{padding:12px 0;border-bottom:1px solid #eee}.hoursEntry{margin:0 0 12px}#hoursError{color:#9d3f51;white-space:pre-wrap}
.activityPage .activityCard.selected{border:1px solid #d3a3af;background:#fff8f6;padding:15px}.activityPage .activityDetail{padding:14px}.activityPage .activityFacts{margin:8px 0 12px}.activityPage .activityDetail .panelHead{margin-top:14px!important}.activityPage .activityDetail h2{line-height:1.4}
@media(max-width:650px){.hoursDialog .dialogWrap{padding:15px}.hoursFilters label{flex:1;min-width:125px}.hoursSegment{flex-wrap:wrap;gap:6px}.hoursSegment label{min-width:140px}.hoursTotals{gap:8px}.activityPage .activityDetail{padding:12px}}

/* END service hours */
/* BEGIN palette120 */
.nameTag{font-size:20px!important;font-weight:700!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--tagColor)!important}
.classPill[data-band=blue],.scheduleGrid .classPill[data-band=blue]{color:#385c7b!important;background:#e8eff6!important;border:1px solid #dce5ee!important;font-weight:650!important}
.classPill[data-band=orange],.scheduleGrid .classPill[data-band=orange]{color:#91603e!important;background:#f7ece1!important;border:1px solid #ebdfd3!important;font-weight:650!important}
.classPill[data-band=other],.scheduleGrid .classPill[data-band=other]{color:#9172a7!important;background:#f5f0f8!important;border:1px solid #e2d6eb!important;font-weight:650!important}
.personalIntro .avatar{background:transparent!important;border:0!important}.hoursPerson{font-size:20px;font-weight:700}.palette120Picker{max-width:230px;min-height:40px}.fixedSelectedPerson,#activityBatchSelected [data-batch-remove]{background:transparent!important;border:0!important;box-shadow:none!important;font-size:20px;font-weight:700}
.batchPerson>span{font-size:20px;font-weight:700}
/* END palette120 */
