/* StudyTickApp long-range My Schedule calendar, palette aware and compact. */
#stLongCalendar[hidden]{display:none!important}
body.st-calendar-active #stTimetableSection :is(#rows,#gridPanel,#agendaPanel,.weekly-tools,.weekly-agenda-head,.schedule-date-card){display:none!important}
.st-long-calendar-launch{margin:8px 0 10px!important;width:auto!important;padding:9px 15px!important;background:var(--sc-surface-soft,var(--sc-surface,#fff))!important;color:var(--sc-text,#243534)!important;border:1px solid var(--sc-border,#cbd6d2)!important;border-radius:10px!important;font-weight:650!important}
.st-long-calendar-launch[aria-expanded=true]{background:var(--sc-accent,#479084)!important;color:var(--sc-colors-on-accent,#fff)!important}
.st-long-calendar{--cl-border:var(--sc-border,#d5dbd8);--cl-bg:var(--sc-surface,#fff);--cl-soft:var(--sc-surface-soft,#f6f8f6);--cl-ink:var(--sc-text,#25312f);--cl-muted:var(--sc-muted,#6d7974);--cl-accent:var(--sc-accent,#468b7c);margin:0 0 17px;padding:16px;border:1px solid var(--cl-border);border-radius:18px;background:var(--cl-bg);color:var(--cl-ink);min-width:0}
.st-long-calendar button{font-family:inherit;box-sizing:border-box}
.st-long-calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.st-long-calendar-title{display:flex;flex-direction:column;gap:3px}.st-long-calendar-title strong{font-size:1.15rem}.st-long-calendar-title span{font-size:.78rem;color:var(--cl-muted)}
.st-long-calendar-modes{display:flex;flex-wrap:wrap;align-items:center;gap:4px;background:var(--cl-soft);border:1px solid var(--cl-border);padding:4px;border-radius:11px}
.st-long-calendar-mode{min-height:33px!important;padding:6px 11px!important;background:transparent!important;border:0!important;border-radius:8px!important;color:var(--cl-ink)!important;font-size:.78rem!important}
.st-long-calendar-mode[aria-pressed=true]{background:var(--cl-bg)!important;box-shadow:0 1px 5px #00000015!important;font-weight:750!important}
.st-long-calendar-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 9px}
.st-long-calendar-nav>button{padding:6px 11px!important;min-height:34px!important;border:1px solid var(--cl-border)!important;background:var(--cl-soft)!important;border-radius:8px!important;color:var(--cl-ink)!important}
.st-long-calendar-period{font-size:.9rem;min-width:145px;text-align:center;margin-inline:4px}
.st-long-calendar-jump{min-width:138px!important;max-width:185px!important;min-height:34px!important;padding:4px 8px!important;border:1px solid var(--cl-border)!important;border-radius:8px!important;color:var(--cl-ink)!important;background:var(--cl-bg)!important;font:inherit!important;font-size:.8rem!important}
.st-long-calendar-status{color:var(--cl-muted);font-size:.78rem;min-height:1em;margin:0 0 8px}
.st-long-calendar-content{min-width:0}
.st-long-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:.75rem;font-weight:700;color:var(--cl-muted);padding:8px 0}
.st-long-calendar-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-block-start:1px solid var(--cl-border);border-inline-start:1px solid var(--cl-border)}
.st-long-calendar-month-cell{min-width:0;min-height:95px;overflow:hidden;padding:7px 5px;border-inline-end:1px solid var(--cl-border);border-block-end:1px solid var(--cl-border)}
.st-long-calendar-month-cell.is-outside{opacity:.45}.st-long-calendar-month-cell.is-today{background:color-mix(in srgb,var(--cl-accent) 8%,var(--cl-bg))}
.st-long-calendar-cell-number{display:block!important;min-width:28px!important;min-height:27px!important;padding:2px 5px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--cl-ink)!important;font-size:.76rem!important;font-weight:700!important;text-align:center}
.st-long-calendar-month-cell.is-today .st-long-calendar-cell-number{background:var(--cl-accent)!important;color:var(--sc-colors-on-accent,#fff)!important}
.st-long-calendar-event{display:flex;align-items:center;gap:5px;margin:4px 0;padding:5px 6px;border-radius:7px;background:var(--cl-soft);min-width:0;border-inline-start:3px solid var(--cl-accent)}
.st-long-calendar-event small{flex:0 0 auto;font-size:.65rem;color:var(--cl-muted)}
.st-long-calendar-event-name{flex:1 1 auto;display:block!important;min-width:0!important;padding:0!important;text-align:start!important;background:transparent!important;border:0!important;border-radius:0!important;color:var(--cl-ink)!important;font-size:.75rem!important;line-height:1.3!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-long-calendar-event.is-complete{opacity:.57}.st-long-calendar-event.is-complete .st-long-calendar-event-name{text-decoration:line-through}
.st-long-calendar-more{padding:2px 5px!important;min-height:0!important;border:0!important;background:transparent!important;color:var(--cl-accent)!important;font-size:.7rem!important}
.st-long-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(116px,1fr));min-width:0;gap:7px}
.st-long-calendar-day{min-width:0;padding:10px;border:1px solid var(--cl-border);border-radius:10px;background:var(--cl-bg)}
.st-long-calendar-day.is-today{border-color:var(--cl-accent)}
.st-long-calendar-day-date{display:block!important;width:100%;padding:4px!important;border:0!important;background:none!important;color:var(--cl-ink)!important;text-align:start!important;font-size:.78rem!important;font-weight:700!important}
.st-long-calendar-empty{display:block;font-size:.75rem;color:var(--cl-muted);padding:9px 3px}
.st-long-calendar-add{padding:8px 12px!important;border:1px solid var(--cl-border)!important;background:var(--cl-soft)!important;color:var(--cl-ink)!important;border-radius:8px!important;font-size:.79rem!important;margin-top:8px}
.st-long-calendar-check{flex:none;padding:1px 4px!important;min-width:24px!important;min-height:22px!important;border:0!important;background:transparent!important;color:var(--cl-accent)!important;font-size:1rem!important}
.st-long-calendar-year{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.st-long-calendar-period-tile{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-height:105px!important;padding:16px!important;text-align:start!important;border:1px solid var(--cl-border)!important;border-radius:12px!important;background:var(--cl-soft)!important;color:var(--cl-ink)!important}
.st-long-calendar-period-tile strong{font-size:1rem}.st-long-calendar-period-tile span{font-size:.74rem;color:var(--cl-muted)}
.st-long-calendar-anytime{margin-bottom:14px;padding:18px;border:1px dashed var(--cl-border);border-radius:12px;background:var(--cl-soft)}
.st-long-calendar-anytime h3{font-size:1rem;margin:0 0 6px}.st-long-calendar-anytime p{margin:0;font-size:.82rem;color:var(--cl-muted);max-width:70ch}
.st-long-calendar :is(button,input):focus-visible{outline:2px solid var(--cl-accent)!important;outline-offset:2px}
@media(max-width:820px){.st-long-calendar-week{grid-template-columns:repeat(7,minmax(136px,1fr));overflow-x:auto}.st-long-calendar-month-cell{min-height:75px}.st-long-calendar-event small{display:none}.st-long-calendar-year{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.st-long-calendar{padding:10px;border-radius:12px}.st-long-calendar-modes{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.st-long-calendar-mode{padding:7px 3px!important;font-size:.72rem!important}.st-long-calendar-nav{gap:5px}.st-long-calendar-period{flex:1;min-width:98px}.st-long-calendar-jump{min-width:0!important;flex:1 1 135px;max-width:none!important}.st-long-calendar-weekdays{font-size:.65rem}.st-long-calendar-month-cell{padding:4px 2px;min-height:59px}.st-long-calendar-event{padding:3px;min-width:0;margin:3px 0}.st-long-calendar-event-name{font-size:.62rem!important}.st-long-calendar-year{grid-template-columns:repeat(2,minmax(0,1fr))}.st-long-calendar-day{padding:8px}}
@media(prefers-reduced-motion:reduce){.st-long-calendar *{scroll-behavior:auto!important}}

/* Compact unified schedule controls — visual organization without changing task logic. */
html[data-theme] body.today-dashboard-preview #stTimetableSection > .timetable-controls-row .view-switch {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:3px!important;
  max-width:100%!important;
  width:auto!important;
  align-items:center!important;
}
#stTimetableSection .view-switch .st-calendar-view-button {
  margin:0!important;
  min-width:0!important;
  min-height:34px!important;
  padding:7px 10px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--sc-text,#243534)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  font-size:.8rem!important;
  font-weight:650!important;
}
#stTimetableSection .view-switch .st-calendar-view-button[aria-pressed="true"]{
  background:var(--sc-accent,#516b7b)!important;
  color:var(--sc-colors-on-accent,#fff)!important;
  box-shadow:0 1px 4px rgba(0,0,0,.12)!important;
}
#stTimetableSection .st-long-calendar {
  margin:10px 0 12px;
  padding:12px 14px;
  border-radius:14px;
}
#stTimetableSection .st-long-calendar-toolbar {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 16px;
}
#stTimetableSection .st-long-calendar-nav {
  display:flex;
  align-items:center;
  flex:1 1 345px;
  min-width:0;
  margin:0;
  gap:6px;
}
#stTimetableSection .st-long-calendar-nav > button{
  min-width:34px!important;
  min-height:36px!important;
  padding:5px 9px!important;
}
#stTimetableSection .st-long-calendar-period {
  flex:0 1 auto;
  min-width:0;
  max-width:310px;
  text-align:start;
  font-size:.88rem;
  line-height:1.4;
  font-weight:700;
  overflow-wrap:anywhere;
  margin:0 5px;
}
#stTimetableSection .st-long-calendar-picker{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  box-sizing:border-box;
  border:1px solid var(--cl-border);
  border-radius:9px;
  background:var(--cl-soft);
  color:var(--cl-ink);
  overflow:hidden;
  cursor:pointer;
}
#stTimetableSection .st-long-calendar-picker-glyph{
  pointer-events:none;
  font-size:19px;
  line-height:1;
  font-weight:700;
}
#stTimetableSection .st-long-calendar-picker .st-long-calendar-jump{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  cursor:pointer!important;
}
#stTimetableSection .st-long-calendar-picker:focus-within {
  outline:2px solid var(--cl-accent);
  outline-offset:2px;
}
#stTimetableSection .st-long-calendar-modes {
  flex:0 1 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,auto));
  min-width:0;
  gap:3px;
  padding:3px;
}
#stTimetableSection .st-long-calendar-mode {
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:.78rem!important;
  white-space:nowrap;
}
#stTimetableSection .st-long-calendar-status:empty{display:none}
#stTimetableSection .st-long-calendar-content{margin-top:10px}
@media(max-width:970px){
  #stTimetableSection .st-long-calendar-nav{flex-basis:100%}
  #stTimetableSection .st-long-calendar-modes{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:600px){
  html[data-theme] body.today-dashboard-preview #stTimetableSection > .timetable-controls-row .view-switch {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
  }
  #stTimetableSection .view-switch button,
  #stTimetableSection .view-switch .st-calendar-view-button{
    white-space:normal!important;
    padding:7px 2px!important;
    font-size:.72rem!important;
    line-height:1.15!important;
    overflow-wrap:anywhere;
  }
  #stTimetableSection .st-long-calendar{padding:10px}
  #stTimetableSection .st-long-calendar-nav{display:grid;grid-template-columns:35px minmax(0,1fr) 35px 35px auto;gap:4px}
  #stTimetableSection .st-long-calendar-period{font-size:.72rem;margin:0 2px;max-width:none}
  #stTimetableSection .st-long-calendar-nav > button{padding:5px!important}
  #stTimetableSection .st-long-calendar-modes{grid-template-columns:repeat(5,minmax(0,1fr));padding:3px}
  #stTimetableSection .st-long-calendar-mode{font-size:.7rem!important;padding:7px 2px!important;white-space:normal}
}
