/* THRS V14.34 | Full Calendar premium element polish.
   Scope: Work Schedules > Full Calendar only.
   Presentation-only: no changes to 42-cell grid, events, filters, day-click,
   month navigation, existing calendar data or event counts. */
html[data-theme] .work-schedules-pro{
  --wsc34-ink:var(--ws23-ink);
  --wsc34-muted:var(--ws23-secondary);
  --wsc34-gold:var(--ws23-gold);
  --wsc34-goldlight:var(--ws23-gold-bright);
  --wsc34-line:var(--ws23-line);
  --wsc34-paper:var(--ws23-paper);
  --wsc34-surface:var(--ws23-surface);
  --wsc34-quiet:var(--ws23-quiet);
  --wsc34-glow:var(--ws23-gold-glow);
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-hr-calendar){
  border:1px solid color-mix(in srgb,var(--wsc34-gold) 26%,var(--wsc34-line)) !important;
  box-shadow:0 3px 10px rgba(8,37,63,.04),0 18px 42px rgba(8,37,63,.09) !important;
  border-radius:18px !important;
  background:var(--wsc34-surface) !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-hr-calendar)>.thrs-card-header{
  padding-block:18px !important;
  background:linear-gradient(120deg,var(--wsc34-surface),var(--wsc34-paper)) !important;
  border-bottom:1px solid var(--wsc34-line) !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-hr-calendar)>.thrs-card-header h3{
  color:var(--wsc34-ink) !important;
  font-size:17px !important;font-weight:900 !important;
  letter-spacing:-.025em !important;line-height:1.4 !important;
}
html[data-theme] .work-schedules-pro .thrs-hr-calendar{
  padding:15px !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:16px !important;
  background:linear-gradient(140deg,var(--wsc34-surface),var(--wsc34-paper)) !important;
  color:var(--wsc34-ink) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
  min-width:0 !important;
}
/* Calendar subheading and navigation retain their order/behavior. */
html[data-theme] .work-schedules-pro .thrs-calendar-toolbar{
  padding:16px 18px !important;
  gap:13px !important;
  background:linear-gradient(115deg,var(--wsc34-paper),var(--wsc34-surface)) !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:14px !important;
  box-shadow:0 3px 11px rgba(9,36,66,.035) !important;
  margin-bottom:15px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-toolbar>div:first-child{
  min-width:0 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-toolbar>div:first-child>div:first-child{
  color:var(--wsc34-muted) !important;
  font-size:11px !important;line-height:1.55 !important;
  font-weight:750 !important;
  margin-bottom:6px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-toolbar h3{
  color:var(--wsc34-ink) !important;
  font-size:clamp(20px,1.75vw,25px) !important;
  font-weight:930 !important;
  line-height:1.24 !important;
  letter-spacing:-.043em !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-toolbar>div:last-child{
  min-width:0 !important;gap:8px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-nav-btn,
html[data-theme] .work-schedules-pro .thrs-calendar-today-btn{
  box-sizing:border-box !important;
  display:inline-flex !important;align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;min-width:65px !important;
  border-radius:10px !important;
  font-size:11.5px !important;font-weight:860 !important;
  letter-spacing:.002em !important;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-nav-btn{
  border:1px solid var(--wsc34-line) !important;
  background:var(--wsc34-surface) !important;
  color:var(--wsc34-ink) !important;
  box-shadow:0 2px 7px rgba(9,38,66,.042) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-nav-btn:hover{
  border-color:color-mix(in srgb,var(--wsc34-gold) 55%,var(--wsc34-line)) !important;
  background:var(--wsc34-paper) !important;
  box-shadow:0 4px 12px rgba(9,38,66,.08) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-today-btn{
  border:1px solid #c89d62 !important;
  background:linear-gradient(135deg,#174a6a,#092d49) !important;
  color:#fff !important;
  box-shadow:0 5px 13px rgba(8,45,72,.18) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-today-btn:hover{
  background:linear-gradient(135deg,#1d587c,#103958) !important;
  box-shadow:0 8px 17px rgba(8,45,72,.22) !important;
}
html[data-theme] .work-schedules-pro :is(.thrs-calendar-nav-btn,.thrs-calendar-today-btn,.thrs-calendar-day):focus-visible{
  outline:2px solid var(--wsc34-gold) !important;
  outline-offset:2px !important;
}
/* Compact legend chips, retaining all original dynamically-derived colors. */
html[data-theme] .work-schedules-pro .thrs-calendar-legend-chip{
  background:var(--wsc34-surface) !important;
  color:var(--wsc34-muted) !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:999px !important;
  padding:7px 11px !important;
  min-height:30px !important;
  font-size:11px !important;
  font-weight:770 !important;
  box-shadow:0 2px 5px rgba(8,35,64,.022) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-legend-chip>span:first-child{
  flex:0 0 9px !important;
  width:9px !important;height:9px !important;
  border-radius:50% !important;
  box-shadow:0 0 0 3px color-mix(in srgb,currentColor 10%,transparent) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-scroll{
  width:100%;max-width:100%;min-width:0;
  overflow-x:auto !important;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--wsc34-gold) var(--wsc34-paper);
}
/* Weekday header: same seven columns and labels. */
html[data-theme] .work-schedules-pro .thrs-calendar-weekday{
  color:#eaf3fb !important;
  font-size:11px !important;
  font-weight:880 !important;
  letter-spacing:.035em !important;
  background:linear-gradient(140deg,#184865,#0b304b) !important;
  border:1px solid rgba(222,183,126,.32) !important;
  border-radius:8px !important;
  min-height:36px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  box-shadow:0 2px 5px rgba(8,39,64,.09) !important;
}
/* Keep 42 days and existing min-height/grid. Improve date/hover/events only. */
html[data-theme] .work-schedules-pro .thrs-calendar-day{
  position:relative !important;
  min-width:0 !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:12px !important;
  background:linear-gradient(145deg,var(--wsc34-surface),var(--wsc34-paper)) !important;
  color:var(--wsc34-ink) !important;
  box-shadow:0 2px 7px rgba(12,43,70,.033) !important;
  opacity:1 !important;
  padding:10px !important;
  gap:8px !important;
  text-align:start !important;
  transition:border-color .16s,box-shadow .16s,background .16s !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day:hover{
  border-color:color-mix(in srgb,var(--wsc34-gold) 54%,var(--wsc34-line)) !important;
  background:color-mix(in srgb,var(--wsc34-gold) 6%,var(--wsc34-surface)) !important;
  box-shadow:0 6px 19px rgba(12,43,70,.09) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day.is-muted{
  background:var(--wsc34-quiet) !important;
  border-color:color-mix(in srgb,var(--wsc34-line) 70%,transparent) !important;
  opacity:.73 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day.is-today{
  border:2px solid var(--wsc34-gold) !important;
  background:linear-gradient(155deg,color-mix(in srgb,var(--wsc34-gold) 8%,var(--wsc34-surface)),var(--wsc34-surface)) !important;
  box-shadow:inset 0 0 0 1px var(--wsc34-glow),0 5px 15px rgba(12,43,70,.08) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:first-child{
  display:flex;align-items:center;gap:4px;
  min-width:0;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:first-child>span:first-child{
  display:grid !important;place-items:center !important;
  min-width:27px !important;height:27px !important;
  padding:0 4px !important;
  border-radius:9px !important;
  background:var(--wsc34-quiet) !important;
  color:var(--wsc34-ink) !important;
  font-weight:900 !important;font-size:12px !important;
  font-variant-numeric:tabular-nums !important;
  line-height:1 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day.is-today>div:first-child>span:first-child{
  background:linear-gradient(135deg,#d6b078,#b7833e) !important;
  color:#0e2e47 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:first-child>span:last-child:not(:first-child){
  color:var(--wsc34-muted) !important;
  font-size:9px !important;
  font-weight:790 !important;
  background:var(--wsc34-quiet) !important;
  padding:4px 6px !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:99px !important;
  line-height:1.2 !important;
}
/* Event chips keep their actual type colors. */
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:nth-child(2){
  min-width:0 !important;
  width:100% !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:nth-child(2)>div[title]{
  max-width:100% !important;
  padding:5px 7px !important;
  border-radius:7px !important;
  line-height:1.3 !important;
  font-size:10px !important;font-weight:780 !important;
  text-align:start !important;
  box-shadow:inset 2px 0 0 currentColor !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-day>div:nth-child(2)>div:not([title]){
  color:var(--wsc34-muted) !important;
  font-size:10px !important;font-weight:770 !important;
  padding:2px 5px !important;
}
/* Inline detail popup: no changes to event details or scroll behavior. */
html[data-theme] .work-schedules-pro .thrs-calendar-overlay{
  background:rgba(6,24,42,.66) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal{
  background:var(--wsc34-surface) !important;
  color:var(--wsc34-ink) !important;
  border:1px solid color-mix(in srgb,var(--wsc34-gold) 35%,var(--wsc34-line)) !important;
  border-radius:17px !important;
  box-shadow:0 30px 75px rgba(0,14,31,.36) !important;
  scrollbar-width:thin;
  scrollbar-color:var(--wsc34-gold) var(--wsc34-paper);
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:first-child{
  background:linear-gradient(135deg,var(--wsc34-surface),var(--wsc34-paper)) !important;
  border-bottom:1px solid var(--wsc34-line) !important;
  padding:19px 20px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:first-child>div>div{
  color:var(--wsc34-muted) !important;
  font-weight:770 !important;font-size:11px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal h4{
  color:var(--wsc34-ink) !important;
  font-size:19px !important;font-weight:920 !important;
  font-variant-numeric:tabular-nums !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2){
  background:var(--wsc34-surface) !important;
  color:var(--wsc34-ink) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2)>div{
  background:linear-gradient(145deg,var(--wsc34-surface),var(--wsc34-paper)) !important;
  border:1px solid var(--wsc34-line) !important;
  border-radius:12px !important;
  box-shadow:0 2px 10px rgba(10,42,68,.03) !important;
  padding:14px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2)>div strong{
  color:var(--wsc34-ink) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2)>div :is(div,span):not([style*="background-color"]){
  line-height:1.55;
}
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2)>div div[style*="font-size: 13px"],
html[data-theme] .work-schedules-pro .thrs-calendar-modal>div:nth-child(2)>div div[style*="font-size: 12px"]{
  color:var(--wsc34-muted) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-empty{
  background:var(--wsc34-paper) !important;
  border:1px dashed color-mix(in srgb,var(--wsc34-gold) 38%,var(--wsc34-line)) !important;
  color:var(--wsc34-muted) !important;
  font-weight:760 !important;
  border-radius:11px !important;
}
@media(max-width:760px){
 html[data-theme] .work-schedules-pro .thrs-hr-calendar{padding:10px !important}
 html[data-theme] .work-schedules-pro .thrs-calendar-toolbar{padding:12px !important}
 html[data-theme] .work-schedules-pro .thrs-calendar-nav-btn,
 html[data-theme] .work-schedules-pro .thrs-calendar-today-btn{min-height:38px !important}
 html[data-theme] .work-schedules-pro .thrs-calendar-scroll{scrollbar-width:auto}
}
@media(prefers-reduced-motion:reduce){
 html[data-theme] .work-schedules-pro :is(.thrs-calendar-day,.thrs-calendar-nav-btn,.thrs-calendar-today-btn){transition:none !important}
}
/* Dark mode: retain event-specific borders/tints but enforce readable event labels. */
html[data-theme="dark"] .work-schedules-pro .thrs-calendar-day>div:nth-child(2)>div[title]{
 color:#edf5ff !important;
 text-shadow:0 1px 2px rgba(0,10,25,.16) !important;
 box-shadow:inset 2px 0 0 rgba(235,198,139,.75) !important;
}
html[data-theme="dark"] .work-schedules-pro .thrs-calendar-day>div:first-child>span:last-child:not(:first-child){
 color:#d0e0ef !important;
}
