/* THRS V14.35 — Work Schedules / Full Calendar Information & Visual Finish
   Premium visual and information hierarchy; same 7x6 calendar, 3 previews,
   source data, month navigation and day-detail behavior. Opt-in variant only. */
html[data-theme="light"] .work-schedules-pro{
  --c35-bg:#ffffff;--c35-paper:#f8fafd;--c35-quiet:#eff4fa;
  --c35-ink:#102c47;--c35-soft-ink:#536d85;--c35-line:#dce6f0;
  --c35-gold:#b68950;--c35-gold-glow:rgba(190,144,74,.13);
  --c35-shade:0 3px 9px rgba(13,44,71,.037),0 11px 28px rgba(13,44,71,.055);
}
html[data-theme="dark"] .work-schedules-pro{
  --c35-bg:#13324e;--c35-paper:#193b57;--c35-quiet:#22445f;
  --c35-ink:#f0f6fe;--c35-soft-ink:#c1d2e4;--c35-line:#3b5b76;
  --c35-gold:#ebc48c;--c35-gold-glow:rgba(234,195,140,.13);
  --c35-shade:0 4px 12px rgba(0,12,28,.16),0 17px 35px rgba(0,12,28,.25);
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced){
  border-color:color-mix(in srgb,var(--c35-gold) 27%,var(--c35-line)) !important;
  background:var(--c35-bg) !important;border-radius:19px !important;
  box-shadow:var(--c35-shade) !important;overflow:hidden !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced)>.thrs-card-header{
  min-height:64px !important;padding:18px 23px !important;
  border-bottom:1px solid var(--c35-line) !important;
  background:linear-gradient(105deg,var(--c35-bg),var(--c35-paper)) !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced)>.thrs-card-header h3{
  font-size:18px !important;line-height:1.3 !important;
  font-weight:920 !important;letter-spacing:-.02em !important;color:var(--c35-ink) !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced)>.thrs-card-header h3>span:first-child{
  background:linear-gradient(180deg,#e3bd7d,#ab7c3d) !important;
  width:4px !important;height:24px !important;
}
html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced)>.thrs-card-header+div{
  padding:17px !important;
  background:var(--c35-bg) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced{
  border:0 !important;box-shadow:none !important;border-radius:0 !important;
  background:transparent !important;padding:0 !important;color:var(--c35-ink) !important;
}
/* Stronger month command bar */
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar{
  min-height:111px !important;
  padding:22px 23px !important;
  margin:0 0 15px !important;
  border:1px solid rgba(224,187,131,.50) !important;
  border-radius:16px !important;
  background:
    radial-gradient(ellipse at 87% -35%,rgba(236,206,158,.17),transparent 50%),
    linear-gradient(115deg,#0b2941,#17445f 69%,#0d2e46) !important;
  box-shadow:0 11px 24px rgba(9,41,68,.14),inset 0 1px 0 rgba(255,255,255,.10) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar>div:first-child>div:first-child{
  color:#d1dfeb !important;line-height:1.55 !important;
  font-size:11.5px !important;font-weight:720 !important;
  margin-bottom:8px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-heading-line{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-heading-line h3{
  font-size:clamp(23px,2.1vw,29px) !important;
  font-weight:930 !important;letter-spacing:-.045em !important;
  line-height:1.2 !important;color:#fff !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-month-total{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:29px;padding:5px 11px;border-radius:999px;
  border:1px solid rgba(241,210,163,.40);background:rgba(255,255,255,.09);
  color:#e6eef6;font-size:10.5px;font-weight:740;white-space:nowrap;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-month-total strong{
  color:#ffe5b9;font-weight:900;font-size:12px;font-variant-numeric:tabular-nums;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-total-dot{
  width:7px;height:7px;flex:0 0 7px;background:#e8b979;
  border-radius:50%;box-shadow:0 0 0 3px rgba(232,185,121,.17);
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced :is(.thrs-calendar-nav-btn,.thrs-calendar-today-btn){
  min-height:41px !important;min-width:69px !important;
  font-weight:850 !important;font-size:12px !important;
  border-radius:10px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar .thrs-calendar-nav-btn{
  background:rgba(255,255,255,.12) !important;
  color:#f3f8fc !important;
  border:1px solid rgba(226,238,249,.31) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.065) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar .thrs-calendar-nav-btn:hover{
  background:rgba(255,255,255,.20) !important;
  border-color:rgba(244,211,156,.7) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-today-btn{
  background:linear-gradient(140deg,#f4d3a1,#c59456) !important;
  color:#102d45 !important;border:1px solid #f1d5ad !important;
  box-shadow:0 4px 13px rgba(6,25,45,.16) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-today-btn:hover{
  background:linear-gradient(140deg,#ffe2b7,#d9a66b) !important;
}
/* Legend gains readable spacing and real data-derived per-type count badges. */
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-legend-chip{
  padding:9px 11px !important;min-height:38px !important;
  gap:8px !important;font-size:11.5px !important;font-weight:800 !important;
  background:var(--c35-paper) !important;
  border:1px solid var(--c35-line) !important;
  color:var(--c35-ink) !important;
  border-radius:10px !important;
  box-shadow:0 2px 7px rgba(9,44,72,.035) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-legend-chip>span:first-child{
  flex:0 0 10px !important;width:10px !important;height:10px !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c35-gold) 8%,transparent) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-legend-count{
  margin-inline-start:4px;min-width:21px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--c35-quiet);border:1px solid var(--c35-line);
  border-radius:7px;padding:3px 6px;color:var(--c35-soft-ink);
  font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;
}
/* Grid: same 7 columns and 42 dates. Give each day enough space to read previews. */
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-scroll{
  background:var(--c35-paper) !important;
  border:1px solid var(--c35-line) !important;
  border-radius:14px !important;
  padding:10px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-scroll>div{
  min-width:840px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-weekday{
  min-height:41px !important;padding:11px 5px !important;
  border-radius:10px !important;
  background:linear-gradient(140deg,#123d59,#0b2b44) !important;
  color:#f3f8fc !important;font-size:12px !important;font-weight:900 !important;
  letter-spacing:.02em !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day{
  min-height:184px !important;
  padding:10px !important;
  gap:10px !important;
  border-radius:12px !important;
  border:1px solid var(--c35-line) !important;
  background:var(--c35-bg) !important;
  box-shadow:0 2px 7px rgba(13,44,71,.032) !important;
  opacity:1 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day:hover{
  background:color-mix(in srgb,var(--c35-gold) 4%,var(--c35-bg)) !important;
  border-color:var(--c35-gold) !important;
  box-shadow:0 9px 19px rgba(14,43,71,.10) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day.is-muted{
  opacity:.80 !important;background:var(--c35-quiet) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day.is-today{
  border:2px solid var(--c35-gold) !important;
  background:color-mix(in srgb,var(--c35-gold) 8%,var(--c35-bg)) !important;
  box-shadow:0 5px 15px rgba(11,44,71,.085) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day>div:first-child{
  display:flex !important;align-items:center !important;
  flex-wrap:wrap !important;gap:4px 5px !important;
  justify-content:space-between !important;min-width:0 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day>div:first-child>span:first-child{
  min-width:29px !important;height:29px !important;
  background:var(--c35-quiet) !important;color:var(--c35-ink) !important;
  font-size:12px !important;font-weight:900 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day.is-today>div:first-child>span:first-child{
  background:linear-gradient(130deg,#efd2a6,#c38e49) !important;color:#0d304c !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day-total{
  display:inline-flex;align-items:center;gap:3px;
  padding:4px 7px !important;
  border-radius:8px !important;background:var(--c35-quiet) !important;
  border:1px solid var(--c35-line) !important;
  color:var(--c35-soft-ink) !important;font-size:10px !important;
  font-weight:900 !important;white-space:nowrap !important;
  font-variant-numeric:tabular-nums !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day-total span{
  color:var(--c35-soft-ink) !important;font-size:9px !important;font-weight:740 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-weekend-tag{
  color:var(--c35-soft-ink) !important;
  border:1px solid var(--c35-line) !important;
  background:var(--c35-quiet) !important;
  font-size:9px !important;padding:4px 6px !important;
  border-radius:7px !important;font-weight:780 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-day-events{
  flex:1 !important;min-width:0 !important;width:100% !important;
  gap:5px !important;
}
/* Rich preview: employee name and time are separate, meaningful lines. */
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-event-preview{
  display:flex !important;align-items:flex-start !important;
  width:100% !important;min-width:0 !important;
  min-height:32px !important;padding:6px 6px !important;gap:7px !important;
  border-radius:8px !important;
  border:1px solid color-mix(in srgb,var(--calendar-event-accent) 29%,var(--c35-line)) !important;
  background:color-mix(in srgb,var(--calendar-event-accent) 8%,var(--c35-bg)) !important;
  box-shadow:none !important;
  white-space:normal !important;overflow:hidden !important;
  text-align:start !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-preview-accent{
  display:block !important;flex:0 0 3px !important;
  height:26px !important;border-radius:5px !important;
  background:var(--calendar-event-accent) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-preview-content{
  display:flex;flex:1;flex-direction:column;min-width:0;
  gap:1px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-preview-title{
  display:block;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;
  color:var(--c35-ink) !important;
  font-size:11px !important;font-weight:830 !important;line-height:1.35 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-preview-time{
  display:block;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;
  color:var(--c35-soft-ink) !important;
  font-size:10px !important;font-weight:680 !important;
  font-variant-numeric:tabular-nums !important;line-height:1.25 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-more-count{
  margin-top:auto !important;
  display:flex !important;align-items:center !important;
  width:max-content !important;max-width:100% !important;gap:3px !important;
  padding:5px 8px !important;border-radius:8px !important;
  background:color-mix(in srgb,var(--c35-gold) 12%,var(--c35-bg)) !important;
  border:1px solid color-mix(in srgb,var(--c35-gold) 38%,var(--c35-line)) !important;
  color:var(--c35-ink) !important;
  font-size:10.5px !important;font-weight:910 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-more-count span{
  color:var(--c35-soft-ink) !important;font-weight:740 !important;
}
/* Detail sheet for dense days: readable 2-column metadata cards. */
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-modal{
  width:min(100%,720px) !important;max-width:720px !important;
  max-height:85vh !important;border-radius:18px !important;
  box-shadow:0 33px 85px rgba(0,15,34,.34) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-header{
  padding:20px 24px !important;
  position:sticky;top:0;z-index:2;
  background:linear-gradient(110deg,var(--c35-bg),var(--c35-paper)) !important;
  border-bottom:1px solid var(--c35-line) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-header h4{
  font-size:23px !important;font-weight:940 !important;color:var(--c35-ink) !important;
  line-height:1.2 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-modal-total{
  display:inline-flex;margin-top:9px;
  border-radius:8px;padding:6px 9px;
  border:1px solid color-mix(in srgb,var(--c35-gold) 45%,var(--c35-line));
  background:color-mix(in srgb,var(--c35-gold) 9%,var(--c35-bg));
  color:var(--c35-ink);font-size:11px;font-weight:790;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-header .thrs-calendar-nav-btn{
  min-width:74px !important;
  background:var(--c35-bg) !important;color:var(--c35-ink) !important;
  border:1px solid var(--c35-line) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-list{
  padding:18px !important;display:grid;grid-template-columns:1fr;gap:12px;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-item{
  margin:0 !important;padding:16px !important;
  border-radius:13px !important;border:1px solid var(--c35-line) !important;
  border-inline-start:3px solid var(--calendar-event-accent) !important;
  background:var(--c35-bg) !important;
  box-shadow:0 3px 10px rgba(12,41,69,.045) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-item-head{
  align-items:flex-start !important;gap:10px !important;
  margin-bottom:12px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-item-head>strong{
  display:block;min-width:0;flex:1;
  font-size:14px !important;line-height:1.45 !important;
  color:var(--c35-ink) !important;overflow-wrap:anywhere !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-status{
  max-width:100%;min-height:27px;padding:5px 9px;
  border:1px solid color-mix(in srgb,var(--calendar-event-accent) 42%,var(--c35-line));
  border-radius:999px;background:color-mix(in srgb,var(--calendar-event-accent) 10%,var(--c35-bg));
  color:var(--c35-ink) !important;font-size:11px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced :is(.thrs-calendar-detail-line,.thrs-calendar-detail-description){
  color:var(--c35-soft-ink) !important;
  font-size:12px !important;font-weight:650 !important;
  line-height:1.55 !important;overflow-wrap:anywhere;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-line strong{
  color:var(--c35-ink) !important;font-weight:820 !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-meta{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px !important;margin-top:12px !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-meta-field{
  display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 6px;
  min-width:0;padding:9px 10px;border-radius:9px;
  background:var(--c35-paper) !important;
  border:1px solid var(--c35-line) !important;
  font-size:11px !important;line-height:1.5 !important;
  color:var(--c35-soft-ink) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-meta-field strong{
  color:var(--c35-ink) !important;
}
html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-meta-field span{
  min-width:0;overflow-wrap:anywhere;font-weight:700;
}
/* Preserve horizontal 7-day calendar on small screens; no page horizontal overflow. */
@media(max-width:900px){
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar{
  padding:17px 16px !important;
 }
 html[data-theme] .work-schedules-pro .ws-panel:has(.thrs-calendar-enhanced)>.thrs-card-header+div{
  padding:12px !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-scroll{padding:8px !important;}
}
@media(max-width:560px){
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar{
  gap:15px !important;padding:16px 13px !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar>div:last-child{
  width:100%;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:7px !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-toolbar>div:last-child>button{
  min-width:0 !important;width:100% !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-list{
  padding:12px !important;gap:9px !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-meta{
  grid-template-columns:1fr !important;
 }
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-item{padding:12px !important;}
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced .thrs-calendar-detail-header{padding:14px !important;}
}
@media(prefers-reduced-motion:reduce){
 html[data-theme] .work-schedules-pro .thrs-calendar-enhanced *{transition:none !important}
}
