.tt{
 --schedule-row:4rem;--schedule-heading:4rem;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));
 gap:0;align-items:stretch;background:var(--paper);
 border:1px solid rgba(88,104,73,.22);border-radius:18px;
 overflow:hidden;box-shadow:0 14px 40px -34px rgba(42,40,32,.24);
}
.tt .day{padding:0 1.125rem 1rem;border:0;border-right:1px solid rgba(88,104,73,.15);border-radius:0;background:transparent;min-width:0}
.tt .day:last-child{border-right:0}
.tt .day summary,.tt .day[open] summary{
 height:var(--schedule-heading);padding:0;margin:0;
 font-size:1.25rem;font-weight:500;line-height:1.3;letter-spacing:.01em;
 gap:.5rem;border-bottom:1px solid rgba(88,104,73,.2);overflow-wrap:anywhere;
}
.tt .day:not([open]) summary{border-bottom:0}
.tt .day summary::after{font-size:.875rem;opacity:.55;flex:0 0 auto}
.day-slots{
 min-height:calc(var(--schedule-row) * var(--schedule-rows,8));
 background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--schedule-row) - 1px),rgba(88,104,73,.10) calc(var(--schedule-row) - 1px),rgba(88,104,73,.10) var(--schedule-row));
}
.tt .slot,.tt .slot:last-child{
 height:var(--schedule-row);min-height:var(--schedule-row);padding:.625rem 0;
 grid-template-columns:3.5rem minmax(0,1fr);column-gap:.75rem;
 font-size:.9375rem;line-height:1.4;border:0;
}
.tt .slot .tm{padding:.25rem .375rem;border-radius:6px;font-size:.875rem;font-weight:500;letter-spacing:.015em;line-height:1.4}
.tt .slot .tm,.tt .slot.ref .tm{background:var(--sage-deep);color:var(--paper)}
.tt .slot .nm,.tt .slot.ref .nm{color:var(--ink2);font-weight:400;line-height:1.4;min-width:0;overflow-wrap:anywhere}
html:not(.ready) .tt .slot{height:auto;min-height:4rem;border-bottom:1px solid rgba(88,104,73,.10)}
html:not(.ready) .day-slots{background:none}
@media(max-width:1199px){
 .tt{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
 .tt .day,.tt .day:last-child{padding:0 1.25rem 1rem;border:1px solid rgba(88,104,73,.18);border-radius:16px;background:var(--paper)}
 .day-slots{min-height:0}
}
@media(max-width:680px){
 .tt{grid-template-columns:1fr;gap:14px}
 .tt .day,.tt .day:last-child{padding:0 1.25rem;border-radius:16px}
 .tt .day[open]{padding-bottom:.75rem}
 .tt .day summary,.tt .day[open] summary{font-size:1.375rem}
 .tt .slot,.tt .slot:last-child{grid-template-columns:3.75rem minmax(0,1fr);column-gap:1rem;font-size:1rem}
 .tt .slot .tm{font-size:.9375rem}
 .day-slots{min-height:0;background:none}
 .tt .slot{border-bottom:1px solid rgba(88,104,73,.10)}
 .tt .slot:last-child{border-bottom:0}
}
@media print{.tt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.tt .day{break-inside:avoid}.tt .slot{height:auto;min-height:3rem}.day-slots{min-height:0;background:none}}
