/* Shared member-calendar theme. Layout stays identical; only KYMA orchid accents are remapped. */
html[data-schedule-calendar="kyma"] body{
  --schedule-accent:#e3b7ea;
}
html[data-schedule-calendar="ddinggul"] body{
  --schedule-accent:#FFE27A;
}
html[data-schedule-calendar="chaenna"] body{
  --schedule-accent:#89A4C9;
}
html[data-schedule-calendar="chorok"] body{
  --schedule-accent:#CCDF8D;
}
html[data-schedule-calendar="jumeok"] body{
  --schedule-accent:#F5BDD6;
}
html[data-schedule-calendar] body{
  --schedule-accent-soft:color-mix(in srgb,var(--schedule-accent) 24%,#fff);
  --schedule-accent-pale:color-mix(in srgb,var(--schedule-accent) 13%,#fff);
  --schedule-accent-line:color-mix(in srgb,var(--schedule-accent) 58%,transparent);
  --schedule-accent-strong:color-mix(in srgb,var(--schedule-accent) 76%,#5d4563);
  --schedule-accent-ink:color-mix(in srgb,var(--schedule-accent) 28%,#403544);
  --schedule-broadcast-bg:color-mix(in srgb,var(--schedule-accent) 70%,#fff);
  --schedule-broadcast-line:color-mix(in srgb,var(--schedule-accent) 86%,#66506a);
  --orchid:var(--schedule-accent);
  --orchid-soft:var(--schedule-accent-pale);
  --orchid-hover:var(--schedule-accent-strong);
  --orchid-line:var(--schedule-accent-line);
}

.schedulePage .scheduleHeading h1{
  color:var(--schedule-accent-ink,#49394e);
}
.schedulePage .scheduleHeading::before,
.schedulePage .scheduleOverview .sectionLabel::before{
  background:var(--schedule-accent);
}
.schedulePage .monthControls button,
.schedulePage .todayButton,
.schedulePage .scheduleAddLink,
.schedulePage .scheduleQuickEdit{
  border-color:var(--schedule-accent-line);
  color:var(--schedule-accent-ink);
}
.schedulePage .calendarCard,
.schedulePage .dateDetail,
.schedulePage .undatedPanel,
.schedulePage .nextEventCard,
.schedulePage .upcomingCard{
  border-color:var(--schedule-accent-line);
}
.schedulePage .calendarCard{
  box-shadow:0 0 0 1px var(--schedule-accent-line),0 16px 45px #60416c0c;
}
.schedulePage .scheduleOverview>.todayScheduleSection,
.schedulePage .scheduleOverview>.upcomingSection,
.schedulePage .scheduleOverview>.upcomingSection.anniversarySection{
  border-color:var(--schedule-accent-line)!important;
}
.schedulePage .scheduleOverview .sectionLabel,
.schedulePage .anniversaryHeadline{
  border-color:var(--schedule-accent-line);
}
.schedulePage .scheduleOverview>.upcomingSection .sectionLabel{
  border-bottom-color:var(--schedule-accent-line);
}
.schedulePage .todayEventCard,
.schedulePage .scheduleEmpty,
.schedulePage .upcomingCard{
  border-color:var(--schedule-accent-line);
}
.schedulePage .scheduleOverview>.todayScheduleSection{
  background:linear-gradient(155deg,#fff 0%,color-mix(in srgb,var(--schedule-accent) 8%,#fff) 100%);
}
.schedulePage .scheduleEmpty{
  background:color-mix(in srgb,var(--schedule-accent) 7%,#fff);
}
.schedulePage .todayEventCard{
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--schedule-accent) 15%,#fff) 100%);
}
.schedulePage .todayEventCard.featured{
  border-color:var(--schedule-accent-strong);
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--schedule-accent) 32%,#fff) 100%);
  box-shadow:inset 4px 0 var(--schedule-accent-strong),0 10px 24px color-mix(in srgb,var(--schedule-accent) 16%,transparent);
}
.schedulePage .dateDetail header,
.schedulePage .undatedPanelHead{
  border-bottom-color:var(--schedule-accent-line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--schedule-accent) 13%,#fff) 0%,color-mix(in srgb,var(--schedule-accent) 34%,#fff) 100%);
}
.schedulePage .dateDetail header>span,
.schedulePage .undatedPanelHead span{
  color:var(--schedule-accent-strong);
}
.schedulePage .dateDetail header h3,
.schedulePage .undatedPanelHead h3{
  color:var(--schedule-accent-ink);
}
.schedulePage .detailEvent,
.schedulePage .undatedItem{
  border-color:var(--schedule-accent-line);
  background:color-mix(in srgb,var(--schedule-accent) 4%,#fff);
}
.schedulePage .detailEvent.featured{
  border-color:var(--schedule-accent-strong);
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--schedule-accent) 22%,#fff) 100%);
}
.schedulePage .dateDetail .typeBadge,
.schedulePage .dateDetail .timeBadge{
  background:var(--schedule-accent-soft);
}
.schedulePage .dateDetail .featuredBadge{
  border-color:var(--schedule-accent-strong);
  background:var(--schedule-accent-pale);
}
.schedulePage .undatedAddButton,
.schedulePage .undatedEditButton{
  border-color:var(--schedule-accent-line);
  background:var(--schedule-accent-pale);
}
.schedulePage .undatedAddButton:hover,
.schedulePage .undatedEditButton:hover,
.schedulePage .scheduleAddLink:hover,
.schedulePage .scheduleQuickEdit:hover,
.schedulePage .monthControls button:hover,
.schedulePage .todayButton:hover{
  border-color:var(--schedule-accent-strong);
  background:var(--schedule-accent-soft);
}
.schedulePage .scheduleOverview>.upcomingSection.anniversarySection{
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--schedule-accent) 25%,transparent),0 18px 50px #6d427512!important;
}
.schedulePage .anniversaryPoster{
  border-color:var(--schedule-accent-line);
  box-shadow:7px 7px 0 -1px color-mix(in srgb,var(--schedule-accent) 24%,transparent),0 9px 20px rgba(76,49,84,.10);
}
.schedulePage .anniversaryCard{
  border-color:var(--schedule-accent-line);
}
.schedulePage .anniversaryPosterEmpty{
  background:var(--schedule-accent-pale);
}
.schedulePage .anniversaryCard::before{
  border-color:var(--schedule-accent-strong);
}
.schedulePage .anniversaryHeadline::before{
  color:var(--schedule-accent-strong);
}
.schedulePage .anniversaryHeadline .anniversaryDday{
  border-color:var(--schedule-accent-strong);
  background:var(--schedule-accent-strong);
}
.schedulePage .calendarGrid{
  background:color-mix(in srgb,var(--schedule-accent) 28%,#e9e1ea);
}
.schedulePage .calendarWeekdays{
  border-bottom-color:var(--schedule-accent-line);
  background:color-mix(in srgb,var(--schedule-accent) 6%,#fff);
  box-shadow:inset 0 -1px var(--schedule-accent-line);
}
.schedulePage .calendarDay.muted{
  background:color-mix(in srgb,var(--schedule-accent) 4%,#fff);
}
html[data-schedule-calendar] .schedulePage .calendarDay:hover{
  background:color-mix(in srgb,var(--schedule-accent) 22%,#fff);
  box-shadow:inset 0 0 0 2px var(--schedule-accent-line);
}
html[data-schedule-calendar] .schedulePage .calendarDay.selected{
  background:color-mix(in srgb,var(--schedule-accent) 30%,#fff);
  box-shadow:inset 0 0 0 2px var(--schedule-accent-strong);
}
.schedulePage .calendarDay::after{
  border-color:color-mix(in srgb,var(--schedule-accent) 28%,#e9e1ea);
}
.schedulePage .annualAnniversaryCell{
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--schedule-accent-line);
}
.schedulePage .annualAnniversaryHead{
  border-bottom-color:var(--schedule-accent-line);
}
.schedulePage .calendarEvent[data-schedule-type="방송"],
.schedulePage .calendarBroadcastLabel[data-calendar-badge="broadcast"]{
  border-color:var(--schedule-broadcast-line);
  background:var(--schedule-broadcast-bg);
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type="방송"] .calendarEventDescription{
  color:#111;
}
.schedulePage .calendarEvent.featured,
.schedulePage .calendarEvent[data-schedule-type].featured{
  --calendar-featured-accent:var(--schedule-accent-strong);
  border-color:var(--schedule-accent-strong);
  outline-color:var(--schedule-accent-strong);
  background:color-mix(in srgb,var(--schedule-accent) 48%,#fff);
  color:var(--schedule-accent-ink);
  box-shadow:inset 3px 0 var(--schedule-accent-strong);
}
.schedulePage .calendarEvent.featured .calendarEventDescription,
.schedulePage .calendarEvent[data-schedule-type].featured .calendarEventDescription{
  color:var(--schedule-accent-ink);
}
.schedulePage .calendarEvent.featured.calendarEventRangeMiddle,
.schedulePage .calendarEvent.featured.calendarEventRangeEnd{
  box-shadow:none;
}
.schedulePage .calendarBroadcastLabel[data-calendar-badge="off"]{
  border-color:#d88fa0;
  background:#f5c6cf;
  color:#111;
  box-shadow:inset 0 0 0 1px rgba(184,93,114,.12);
}

/* Shared schedule-type colors use each member's personal color on every calendar. */
.schedulePage .calendarEvent[data-schedule-type="방송"]{
  --schedule-type-color:#ffeba1;
  --calendar-featured-accent:#d9b948;
  border-color:#d9b948;
  background:#ffeba1;
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type="휴방"]{
  --schedule-type-color:#f8d1e2;
  --calendar-featured-accent:#e094b7;
  border-color:#e094b7;
  background:#f8d1e2;
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type="합방"]{
  --schedule-type-color:#b3c6df;
  --calendar-featured-accent:#7f9bc0;
  border-color:#7f9bc0;
  background:#b3c6df;
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type="기념일"]{
  --schedule-type-color:#dbe9ae;
  --calendar-featured-accent:#adc468;
  border-color:#adc468;
  background:#dbe9ae;
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type="이벤트"]{
  --schedule-type-color:#d2aadb;
  --calendar-featured-accent:#ae7eb9;
  border-color:#ae7eb9;
  background:#d2aadb;
  color:#111;
}
.schedulePage .calendarEvent[data-schedule-type].featured{
  background:var(--schedule-type-color);
  color:#111;
  outline:0;
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(75,55,83,.2),inset 0 1px rgba(255,255,255,.72);
  z-index:1;
}
.schedulePage .calendarEvent[data-schedule-type] .calendarEventDescription,
.schedulePage .calendarEvent[data-schedule-type].featured .calendarEventDescription{
  color:#111;
}
.schedulePage .calendarBroadcastLabel[data-calendar-badge="broadcast"]{
  border-color:#d9b948;
  background:#ffeba1;
  color:#111;
  box-shadow:inset 0 0 0 1px rgba(217,185,72,.12);
}
.schedulePage .calendarBroadcastLabel[data-calendar-badge="off"]{
  border-color:#e094b7;
  background:#f8d1e2;
  color:#111;
  box-shadow:inset 0 0 0 1px rgba(224,148,183,.12);
}
.schedulePage .dDayBadge,
.schedulePage .calendarDay.today .dayNumber{
  background:var(--schedule-accent);
  color:var(--schedule-accent-ink);
}
.schedulePage .scheduleOverview>.upcomingSection:not(.monthlyOffSection) .upcomingCard.featured{
  border-color:var(--schedule-accent-strong);
  background:linear-gradient(100deg,#fff 0%,color-mix(in srgb,var(--schedule-accent) 22%,#fff) 58%,color-mix(in srgb,var(--schedule-accent) 48%,#fff) 100%);
  box-shadow:inset 5px 0 var(--schedule-accent-strong),0 14px 34px color-mix(in srgb,var(--schedule-accent) 16%,transparent);
}
.schedulePage .scheduleOverview>.upcomingSection:not(.monthlyOffSection) .upcomingCard.featured .featuredBadge{
  border-color:var(--schedule-accent-strong);
  background:var(--schedule-accent-strong);
  color:#fff;
  box-shadow:0 5px 12px color-mix(in srgb,var(--schedule-accent) 24%,transparent);
}
.schedulePage .scheduleOverview>.upcomingSection:not(.monthlyOffSection) .upcomingCard.featured>.dDayBadge{
  background:color-mix(in srgb,var(--schedule-accent) 38%,#fff);
  color:var(--schedule-accent-ink);
}
.schedulePage .upcomingCard:hover{
  border-color:var(--schedule-accent-strong);
  box-shadow:0 12px 30px color-mix(in srgb,var(--schedule-accent) 13%,transparent);
}
.schedulePage .anniversaryPosterButton>span{
  border-color:var(--schedule-accent-line);
  background:color-mix(in srgb,var(--schedule-accent) 10%,#fff);
}
.schedulePage .upcomingList,
.schedulePage .annualAnniversaryList,
.schedulePage .undatedList{
  scrollbar-color:var(--schedule-accent-line) transparent;
}

.scheduleCalendarRemote{
  position:fixed;
  z-index:179;
  top:50%;
  right:10px;
  display:none;
  width:120px;
  gap:7px;
  padding:10px;
  border:1px solid var(--schedule-accent-line,#d6b9dc9c);
  border-radius:14px;
  background:#fffdfde8;
  box-shadow:0 12px 34px #52355d18;
  backdrop-filter:blur(12px);
  transform:translateY(-50%);
  font-family:var(--kyma-font,"THEYellowRibbon","Jua","Malgun Gothic",sans-serif);
}
body.scheduleOpen .scheduleCalendarRemote{display:grid}
.scheduleCalendarRemote>span{
  color:var(--schedule-accent-ink,#76557f);
  font-size:11px;
  letter-spacing:.16em;
  text-align:center;
}
.scheduleCalendarRemote>div{display:grid;gap:6px}
.scheduleCalendarRemote button{
  min-height:35px;
  padding:6px 8px;
  border:1px solid color-mix(in srgb,var(--member-color) 60%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--member-color) 11%,#fff);
  color:color-mix(in srgb,var(--member-color) 46%,#403544);
  font:inherit;
  font-size:15px;
  cursor:pointer;
  outline:none;
}
.scheduleCalendarRemote button:hover,
.scheduleCalendarRemote button.active{
  border-color:var(--member-color);
  background:color-mix(in srgb,var(--member-color) 34%,#fff);
  box-shadow:inset 3px 0 var(--member-color);
}
.scheduleCalendarRemote button:focus-visible{
  outline:2px solid var(--member-color);
  outline-offset:2px;
}
body.scheduleManagerRemoteActive .scheduleCalendarRemote{
  top:calc(50% - 145px);
}
body.scheduleManagerRemoteActive .siteAdminRemote.view-schedule{
  top:calc(50% + 154px);
}

.homeEditorialNav{
  gap:0;
}
.homeEditorialNav .homeEditorialItem{
  padding:5px 0;
}
.homeEditorialNav .homeEditorialLabel{
  font-size:clamp(29px,2.35vw,43px);
}
.homeEditorialItem.memberScheduleItem{
  color:var(--member-color);
  text-shadow:0 1px 0 rgba(62,48,65,.12);
}
.homeEditorialItem.memberScheduleItem .homeEditorialNumber{
  color:color-mix(in srgb,var(--member-color) 70%,#6f5a75);
}
@media(hover:hover){
  .homeEditorialItem.memberScheduleItem:hover{
    color:color-mix(in srgb,var(--member-color) 82%,#59465e);
  }
}

html[data-schedule-calendar] .scheduleEditorDrawer,
html[data-schedule-calendar] .scheduleManageDrawer{
  border-color:var(--schedule-accent-line);
  background:color-mix(in srgb,var(--schedule-accent) 7%,#fff);
}
html[data-schedule-calendar] .scheduleEditorDrawerHead,
html[data-schedule-calendar] .scheduleManageDrawerHead{
  border-color:var(--schedule-accent-line);
}
html[data-schedule-calendar] .scheduleEditorDrawerHead span,
html[data-schedule-calendar] .scheduleManageDrawerHead span{
  color:var(--schedule-accent-strong);
}
html[data-schedule-calendar] .scheduleEditorSubmit{
  border-color:var(--schedule-accent-strong)!important;
  background:var(--schedule-accent-strong)!important;
}
html[data-schedule-calendar] .scheduleEditorForm input:focus,
html[data-schedule-calendar] .scheduleEditorForm select:focus,
html[data-schedule-calendar] .scheduleEditorForm textarea:focus{
  border-color:var(--schedule-accent-strong);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--schedule-accent) 20%,transparent);
}
html[data-schedule-calendar] .scheduleEditorFeatured input,
html[data-schedule-calendar] .scheduleEditorCalendarBadges input{
  accent-color:var(--schedule-accent-strong);
}
html[data-schedule-calendar] .siteAdminRemote.view-schedule{
  border-color:var(--schedule-accent-line);
}
html[data-schedule-calendar] .siteAdminRemote.view-schedule .siteAdminRemoteToggle{
  border-color:var(--schedule-accent-line);
  background:var(--schedule-accent-pale)!important;
  color:var(--schedule-accent-ink);
}
html[data-schedule-calendar] .siteAdminRemote.view-schedule button{
  font-size:16px;
}

.brand[data-brand-mode="home"]{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-decoration:none;
}
.brand[data-brand-mode="home"] img{
  display:none;
}
.brand[data-brand-mode="home"]::before{
  width:148px;
  height:58px;
  background:url("assets/hades-header-logo-new.png") left center/contain no-repeat;
  content:"";
}
body.scheduleOpen .brand{display:flex;align-items:center;justify-content:flex-start}
body.scheduleOpen .brand img{display:block;width:auto;max-width:none;height:48px;object-fit:contain;object-position:left center}
@media(max-width:760px){body.scheduleOpen .brand img{height:34px}}

/* Give upcoming schedule details one readable type step without altering their cards. */
.schedulePage .upcomingGroupHeadline time{font-size:16px}
.schedulePage .upcomingGroupHeadline h3{font-size:18px}
.schedulePage .upcomingGroupItem .upcomingDescription{font-size:15px}
.schedulePage .upcomingGroupItem .upcomingMembers{font-size:17px}

/* Keep upcoming titles, descriptions, and member names as one vertically centered group. */
@media(min-width:761px){
  .schedulePage .scheduleOverview>.upcomingSection.upcomingScheduleSection .upcomingCard.upcomingDateGroup{
    grid-template-columns:56px 78px minmax(0,1fr)!important;
    column-gap:10px!important;
  }
  .schedulePage .upcomingGroupItem{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:9px 6px;
  }
  .schedulePage .upcomingGroupMain{
    flex:0 1 auto;
  }
  .schedulePage .upcomingGroupItem .upcomingMembers,
  .schedulePage .upcomingGroupItem .upcomingActions{
    align-self:center;
    margin:0;
  }
}

@media(max-width:900px){
  .scheduleCalendarRemote,
  body.scheduleManagerRemoteActive .scheduleCalendarRemote{
    top:auto;
    right:16px;
    bottom:18px;
    width:auto;
    max-width:calc(100% - 32px);
    padding:7px;
    transform:none;
  }
  .scheduleCalendarRemote>span{display:none}
  .scheduleCalendarRemote>div{display:flex;gap:4px}
  .scheduleCalendarRemote button{min-width:47px;min-height:36px;padding:6px}
  body.scheduleManagerRemoteActive .scheduleCalendarRemote{bottom:78px}
  body.scheduleManagerRemoteActive .siteAdminRemote.view-schedule{top:auto;bottom:18px}
}

@media(max-width:520px){
  .homeEditorialNav .homeEditorialItem{padding:4px 0}
  .homeEditorialNav .homeEditorialLabel{font-size:clamp(24px,7.2vw,33px)}
  .scheduleCalendarRemote{right:8px;max-width:calc(100% - 16px)}
  .scheduleCalendarRemote button{min-width:43px;font-size:14px}
  .brand[data-brand-mode="home"]::before{width:112px;height:46px}
}
