/* The Long Return — Check-In calendar layer v1.0
   Native static implementation inspired by spotlight/shiny controls.
   No React/Tailwind runtime required. */

/* ---------- Dashboard spotlight surface ---------- */
body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight{
  --tlr-spot-x:50%;
  --tlr-spot-y:18%;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 0%,rgba(74,144,255,.12),transparent 28rem),
    linear-gradient(180deg,rgba(10,28,49,.96),rgba(8,22,39,.93));
}
body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::before,
body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  z-index:-1;
}
body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::before{
  background:radial-gradient(380px circle at var(--tlr-spot-x) var(--tlr-spot-y),rgba(93,151,255,.18),rgba(115,85,255,.07) 32%,transparent 68%);
  opacity:.92;
  transition:opacity .2s ease;
}
body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::after{
  background-image:
    radial-gradient(circle,rgba(111,167,255,.26) 1px,transparent 1.25px),
    radial-gradient(circle,rgba(176,116,255,.16) 1px,transparent 1.25px);
  background-position:0 0,9px 9px;
  background-size:18px 18px;
  -webkit-mask-image:radial-gradient(300px circle at var(--tlr-spot-x) var(--tlr-spot-y),#000 0%,rgba(0,0,0,.72) 42%,transparent 76%);
  mask-image:radial-gradient(300px circle at var(--tlr-spot-x) var(--tlr-spot-y),#000 0%,rgba(0,0,0,.72) 42%,transparent 76%);
  opacity:.55;
}

/* ---------- Shiny global Calendar button ---------- */
.tlr-calendar-launch{
  margin:.78rem 0 .2rem;
}
.tlr-calendar-launch>summary,
.tlr-section-calendar>summary{
  list-style:none;
}
.tlr-calendar-launch>summary::-webkit-details-marker,
.tlr-section-calendar>summary::-webkit-details-marker{display:none}
.tlr-shiny-calendar-button{
  position:relative;
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  overflow:hidden;
  cursor:pointer;
  padding:.58rem 1rem;
  border:1px solid rgba(143,183,255,.56);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(30,52,86,.98),rgba(12,25,44,.98));
  box-shadow:0 8px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08);
  color:#f7f9ff;
  font:800 .78rem/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.tlr-shiny-calendar-button::before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-55%;
  width:40%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
  animation:tlr-calendar-shine 3.8s ease-in-out infinite;
  pointer-events:none;
}
.tlr-shiny-calendar-button::after{
  content:"▦";
  position:relative;
  font-size:1.05rem;
  line-height:1;
  color:#9cc6ff;
}
.tlr-calendar-launch[open] .tlr-shiny-calendar-button{
  border-color:#b8d5ff;
  background:linear-gradient(180deg,rgba(45,78,128,.98),rgba(15,31,54,.98));
}
.tlr-shiny-calendar-button:hover,
.tlr-shiny-calendar-button:focus-visible{
  border-color:#c8ddff;
  box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 0 3px rgba(105,167,255,.14);
  outline:none;
}
@keyframes tlr-calendar-shine{
  0%,58%{left:-55%}
  78%,100%{left:125%}
}

/* ---------- Calendar panel ---------- */
.tlr-calendar-panel{
  margin:.75rem 0 .2rem;
  padding:.85rem;
  border:1px solid rgba(187,213,255,.2);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(7,17,31,.88),rgba(9,20,35,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.tlr-calendar-panel__intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  margin:0 0 .7rem;
}
.tlr-calendar-panel__intro p{
  margin:0!important;
  max-width:65ch;
  color:#aeb8c8!important;
  font-size:.82rem!important;
  line-height:1.45!important;
}
.tlr-calendar-panel__tools{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.tlr-calendar-ics,
.tlr-calendar-nav button{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  padding:.4rem .68rem;
  cursor:pointer;
  border:1px solid rgba(143,183,255,.38);
  border-radius:999px;
  background:rgba(20,37,61,.92);
  color:#eef4ff;
  font:750 .7rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tlr-calendar-ics:hover,.tlr-calendar-ics:focus-visible,
.tlr-calendar-nav button:hover,.tlr-calendar-nav button:focus-visible{
  border-color:#9cc6ff;
  background:rgba(42,68,108,.96);
  outline:3px solid rgba(120,179,255,.22);
  outline-offset:1px;
}
.tlr-calendar-status{min-height:1em;color:#aeb8c8;font:650 .72rem/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.tlr-calendar-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.55rem;
  margin:.25rem 0 .65rem;
}
.tlr-calendar-nav h3{
  margin:0!important;
  color:#f3f5f8!important;
  font:800 1rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:-.01em;
}
.tlr-calendar-nav__buttons{display:flex;gap:.35rem}

.tlr-checkin-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
.tlr-checkin-calendar-dow{
  padding:.28rem 0 .38rem;
  color:#8794a8;
  font:800 .64rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.tlr-checkin-calendar-day{
  position:relative;
  min-width:0;
  min-height:82px;
  padding:.35rem;
  cursor:pointer;
  border:1px solid rgba(187,213,255,.12);
  border-radius:9px;
  background:rgba(255,255,255,.018);
  color:#e8edf5;
  text-align:left;
  font:inherit;
  -webkit-tap-highlight-color:transparent;
}
.tlr-checkin-calendar-day:hover,.tlr-checkin-calendar-day:focus-visible{
  border-color:#8fb7ff;
  background:rgba(105,167,255,.07);
  outline:none;
}
.tlr-checkin-calendar-day:focus-visible{outline:3px solid rgba(120,179,255,.32);outline-offset:1px}
.tlr-checkin-calendar-day--outside{opacity:.34}
.tlr-checkin-calendar-day--today{border-color:#ead18a;box-shadow:inset 0 0 0 1px rgba(234,209,138,.35)}
.tlr-checkin-calendar-day--selected{border-color:#9cc6ff;background:rgba(105,167,255,.12)}
.tlr-checkin-calendar-num{
  display:block;
  margin:0 0 .22rem;
  color:#b9c5d6;
  font:800 .72rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tlr-checkin-calendar-day--today .tlr-checkin-calendar-num{color:#f3df9f}
.tlr-checkin-calendar-chips{display:flex;flex-direction:column;gap:3px;min-width:0}
.tlr-checkin-calendar-chip{
  --cal-color:#69a7ff;
  display:flex;
  min-width:0;
  align-items:center;
  gap:.24rem;
  padding:.13rem .25rem;
  overflow:hidden;
  border-left:3px solid var(--cal-color);
  border-radius:5px;
  background:color-mix(in srgb,var(--cal-color) 17%,transparent);
  color:#edf3ff;
  font:750 .57rem/1.15 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.tlr-checkin-calendar-chip--expected{background:transparent;border:1px dashed color-mix(in srgb,var(--cal-color) 60%,transparent);border-left:3px solid var(--cal-color)}
.tlr-checkin-calendar-chip__dot{display:none;width:.38rem;height:.38rem;flex:0 0 .38rem;border-radius:50%;background:var(--cal-color)}
.tlr-checkin-calendar-chip__text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tlr-checkin-calendar-more{color:#9eabc0;font:750 .56rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-left:.2rem}

.tlr-calendar-detail{
  margin:.75rem 0 0;
  padding:.8rem;
  border:1px solid rgba(187,213,255,.16);
  border-radius:12px;
  background:rgba(6,15,27,.58);
}
.tlr-calendar-detail h4{
  margin:0 0 .5rem!important;
  color:#f2f5fa!important;
  font:800 .92rem/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.tlr-calendar-detail ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}
.tlr-calendar-detail li{
  --cal-color:#69a7ff;
  margin:0;
  padding:.5rem .58rem;
  border:1px solid rgba(187,213,255,.12);
  border-left:3px solid var(--cal-color);
  border-radius:8px;
  color:#bdc8d8;
  font-size:.82rem;
  line-height:1.42;
}
.tlr-calendar-detail strong{color:#f2f5fa}
.tlr-calendar-detail a{color:#9cc6ff}
.tlr-calendar-detail__meta{color:#8f9bae;font:700 .68rem/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tlr-calendar-empty{margin:.5rem 0 0!important;color:#9eabc0!important;font-size:.82rem!important}

.tlr-calendar-legend{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin:.65rem 0 0;padding:0;list-style:none}
.tlr-calendar-legend li{display:inline-flex;align-items:center;gap:.3rem;color:#98a5b8;font:700 .67rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tlr-calendar-legend__dot{width:.48rem;height:.48rem;border-radius:50%;background:var(--cal-color,#69a7ff)}

/* ---------- Section-level dropdown calendars ---------- */
body.tlr-page-checkin .tlr-section-calendar{
  margin:-.8rem 0 1.2rem;
  max-width:100%;
}
body.tlr-page-checkin .tlr-section-calendar>summary{
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:.42rem;
  cursor:pointer;
  padding:.42rem .72rem;
  border:1px solid color-mix(in srgb,var(--tlr-section-accent,#69a7ff) 48%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--tlr-section-accent,#69a7ff) 8%,rgba(10,19,31,.72));
  color:#e8eef8;
  font:800 .7rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.055em;
  text-transform:uppercase;
  -webkit-tap-highlight-color:transparent;
}
body.tlr-page-checkin .tlr-section-calendar>summary::before{content:"▦";color:var(--tlr-section-accent,#69a7ff);font-size:.9rem}
body.tlr-page-checkin .tlr-section-calendar>summary::after{content:"▾";margin-left:.1rem;color:#8f9bae}
body.tlr-page-checkin .tlr-section-calendar[open]>summary::after{content:"▴"}
body.tlr-page-checkin .tlr-section-calendar>summary:hover,
body.tlr-page-checkin .tlr-section-calendar>summary:focus-visible{
  border-color:var(--tlr-section-accent,#69a7ff);
  outline:3px solid color-mix(in srgb,var(--tlr-section-accent,#69a7ff) 18%,transparent);
  outline-offset:2px;
}
body.tlr-page-checkin .tlr-section-calendar .tlr-calendar-panel{margin-top:.6rem}

/* Mobile: keep seven columns, but use dots instead of labels and make controls finger-sized. */
@media(max-width:760px){
  .tlr-calendar-launch{margin-top:.65rem}
  .tlr-shiny-calendar-button{width:100%;min-height:48px}
  .tlr-calendar-panel{padding:.68rem .58rem;border-radius:13px}
  .tlr-calendar-panel__intro{display:block}
  .tlr-calendar-panel__tools{justify-content:flex-start;margin-top:.55rem}
  .tlr-calendar-nav{flex-wrap:wrap}
  .tlr-calendar-nav h3{width:100%}
  .tlr-calendar-nav__buttons{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .tlr-calendar-nav button{min-height:42px;padding:.38rem .35rem}
  .tlr-checkin-calendar-grid{gap:3px}
  .tlr-checkin-calendar-day{min-height:60px;padding:.28rem .24rem;border-radius:7px}
  .tlr-checkin-calendar-num{font-size:.68rem;margin-bottom:.2rem}
  .tlr-checkin-calendar-chip{min-height:.5rem;padding:0;border:0;background:transparent;overflow:visible}
  .tlr-checkin-calendar-chip__text{display:none}
  .tlr-checkin-calendar-chip__dot{display:block}
  .tlr-checkin-calendar-more{font-size:.52rem;padding-left:0}
  body.tlr-page-checkin .tlr-section-calendar{margin:-.75rem 0 1rem}
  body.tlr-page-checkin .tlr-section-calendar>summary{min-height:42px}
}
@media(max-width:400px){
  .tlr-checkin-calendar-day{min-height:54px;padding:.23rem .2rem}
  .tlr-checkin-calendar-dow{font-size:.58rem;letter-spacing:.04em}
}

@media(prefers-reduced-motion:reduce){
  .tlr-shiny-calendar-button::before{animation:none;display:none}
  body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::before{transition:none}
}

@media print{
  body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::before,
  body.tlr-page-checkin .tlr-status-dashboard.tlr-calendar-spotlight::after{display:none!important}
  .tlr-calendar-launch>summary,
  .tlr-section-calendar>summary{display:none!important}
  .tlr-calendar-launch:not([open]) .tlr-calendar-panel,
  .tlr-section-calendar:not([open]) .tlr-calendar-panel{display:none!important}
  .tlr-calendar-panel,.tlr-calendar-detail,.tlr-checkin-calendar-day{background:#fff!important;color:#111!important;border-color:#999!important;box-shadow:none!important}
  .tlr-checkin-calendar-num,.tlr-calendar-nav h3,.tlr-calendar-detail h4,.tlr-calendar-detail strong{color:#111!important}
  .tlr-checkin-calendar-chip,.tlr-calendar-detail li{color:#111!important;background:#fff!important}
}
