
/* TDE Parent Schedule v2 */
.tde-calendar-app.tde-parent-v2-active{width:100%;max-width:none!important}
.tde-calendar-app.tde-parent-v2-active>.tde-filter-compact,
.tde-calendar-app.tde-parent-v2-active>.tde-filter-sheet,
.tde-calendar-app.tde-parent-v2-active>.tde-calendar-nav,
.tde-calendar-app.tde-parent-v2-active>.tde-calendar-heading,
.tde-calendar-app.tde-parent-v2-active>.tde-calendar-shell{display:none!important}
.tde-calendar-app.tde-parent-v2-active.tde-v2-show-legacy>.tde-filter-compact,
.tde-calendar-app.tde-parent-v2-active.tde-v2-show-legacy>.tde-calendar-nav,
.tde-calendar-app.tde-parent-v2-active.tde-v2-show-legacy>.tde-calendar-heading,
.tde-calendar-app.tde-parent-v2-active.tde-v2-show-legacy>.tde-calendar-shell{display:block!important}
.tde-calendar-app.tde-parent-v2-active.tde-v2-show-legacy>.tde-filter-compact{display:flex!important}
.tde-parent-schedule-v2{--red:#d71920;--ink:#171717;--muted:#747474;--line:#e6e6e6;--soft:#f8f7f6;--purple:#5b35c8;font-family:inherit;color:var(--ink);width:100%;margin:0}
.tde-v2-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:22px 0 18px;border-bottom:1px solid var(--line)}.tde-v2-kicker{font-size:12px;letter-spacing:.14em;color:var(--red);font-weight:800}.tde-v2-top h2{font:600 clamp(30px,3.4vw,46px)/1.05 Georgia,serif;margin:4px 0}.tde-v2-top p{margin:0;color:var(--muted)}.tde-v2-week-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tde-v2-week-nav button,.tde-v2-side-nav button,.tde-v2-side-group button,.tde-v2-actions button,.tde-v2-family-card button,.tde-v2-studio-tabs button{border:1px solid #d7d7d7;background:#fff;padding:10px 13px;cursor:pointer;border-radius:5px}.tde-v2-week-nav strong{color:#183caa;text-transform:uppercase}.tde-v2-week-nav span{font-weight:600}
.tde-v2-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;padding-top:18px}.tde-v2-sidebar{border-right:1px solid var(--line);padding-right:18px}.tde-v2-dancer-label{display:flex;flex-direction:column;gap:7px}.tde-v2-dancer-label>span,.tde-v2-side-group>strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.tde-v2-dancer-label select{width:100%;padding:11px;border:1px solid #ccc;border-radius:5px;background:#fff}.tde-v2-side-nav{display:flex;flex-direction:column;margin:20px -18px 18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tde-v2-side-nav button{border:0;border-radius:0;text-align:left;padding:14px 12px;background:transparent}.tde-v2-side-nav button.is-active{color:var(--red);border-left:3px solid var(--red);background:#fff7f7;font-weight:700}.tde-v2-side-group{display:flex;flex-direction:column;gap:5px}.tde-v2-side-group>strong{margin-bottom:5px}.tde-v2-side-group button{text-align:left;border:0;padding:9px 5px}.tde-v2-week-card{margin-top:22px;border:1px solid #dedede;border-radius:7px;text-align:center;padding:16px}.tde-v2-week-card small,.tde-v2-week-card span{display:block}.tde-v2-week-card strong{display:block;color:#1645bb;font-size:21px;margin:7px 0}
.tde-v2-main{min-width:0}.tde-v2-hero{background:linear-gradient(90deg,#fbf9ff,#fff);border:1px solid #e7e0f6;border-radius:9px;padding:20px;display:flex;gap:18px}.tde-v2-avatar,.tde-v2-family-avatar{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#f1eafd;color:var(--purple);font:700 28px Georgia,serif;flex:0 0 auto}.tde-v2-hero-copy{flex:1}.tde-v2-hero-copy>div:first-child{display:flex;align-items:center;gap:14px}.tde-v2-hero h3{font:600 27px Georgia,serif;margin:0}.tde-v2-hero-copy>div:first-child span{color:#2646b2;font-weight:700;text-transform:uppercase}.tde-v2-stats{display:grid;grid-template-columns:repeat(5,1fr);margin:18px 0;border-top:1px solid #e7e0f6;border-bottom:1px solid #e7e0f6}.tde-v2-stats>div{padding:12px;border-right:1px solid #e7e0f6}.tde-v2-stats>div:last-child{border:0}.tde-v2-stats small{display:block;text-transform:uppercase;font-size:9px;color:var(--muted);font-weight:700}.tde-v2-stats strong{display:block;font-size:18px;margin-top:4px}.tde-v2-actions button{border-color:var(--purple);color:var(--purple);font-weight:700}
.tde-v2-section{margin-top:22px}.tde-v2-section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}.tde-v2-section-title h3{font:600 22px Georgia,serif;margin:0}.tde-v2-section-title span{font-size:12px;color:var(--muted)}.tde-v2-week-strip{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}.tde-v2-day-mini{min-height:145px;padding:10px;border-right:1px solid var(--line)}.tde-v2-day-mini:last-child{border:0}.tde-v2-day-mini.is-saturday{background:#f7f7ff}.tde-v2-day-mini header{text-align:center;margin-bottom:9px}.tde-v2-day-mini header b,.tde-v2-day-mini header span{display:block}.tde-v2-day-mini header span{font-size:10px;color:var(--muted)}.tde-v2-mini-event{display:block;width:100%;border:1px solid #e2d9f1;background:#fcfaff;text-align:left;padding:7px;margin-bottom:5px;border-radius:4px;cursor:pointer}.tde-v2-mini-event b,.tde-v2-mini-event strong,.tde-v2-mini-event span,.tde-v2-mini-event small{display:block}.tde-v2-mini-event b{font-size:10px}.tde-v2-mini-event strong{font-size:12px;color:#352078}.tde-v2-mini-event span,.tde-v2-mini-event small{font-size:10px}.tde-v2-mini-empty{font-size:11px;color:#37844a;text-align:center;padding-top:35px}.tde-v2-more{display:block;text-align:center;color:var(--muted)}.tde-v2-sat-link{text-align:center;padding-top:30px;color:#1645bb}.tde-v2-sat-link strong,.tde-v2-sat-link span{display:block}
.tde-v2-itinerary{border:1px solid var(--line);border-radius:7px;overflow:hidden}.tde-v2-itinerary-row{display:grid;grid-template-columns:135px minmax(160px,1.4fr) 110px 130px 110px 18px;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:12px 14px;cursor:pointer}.tde-v2-itinerary-row:hover{background:#faf8ff}.tde-v2-itinerary-row time{font-weight:600}.tde-v2-itinerary-row>span{font-size:12px}.tde-v2-itinerary-row>span:nth-of-type(1){color:var(--purple)}.tde-v2-break{text-align:center;background:#f1f1f1;padding:6px;font-size:11px;font-weight:800;color:#555}.tde-v2-empty,.tde-v2-welcome{padding:50px;text-align:center;background:#fafafa;border:1px solid var(--line);border-radius:7px}.tde-v2-welcome h3{font:600 30px Georgia,serif;margin:0 0 8px}
.tde-v2-family-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tde-v2-family-card{border:1px solid var(--line);border-radius:7px;padding:16px;display:flex;gap:12px}.tde-v2-family-card h3{font:600 22px Georgia,serif;margin:0}.tde-v2-family-card p{font-size:12px;margin:5px 0}.tde-v2-family-card button{margin-top:7px;color:var(--purple);border-color:#cfc0ee}.tde-v2-family-avatar{width:48px;height:48px;font-size:19px}.tde-v2-family-timelines{border:1px solid var(--line);border-radius:7px}.tde-v2-family-timeline{padding:14px;border-bottom:1px solid var(--line)}.tde-v2-family-timeline:last-child{border:0}.tde-v2-family-timeline header{display:flex;justify-content:space-between;margin-bottom:8px}.tde-v2-family-timeline header small{font-weight:400;color:var(--muted)}.tde-v2-track{height:17px;background:#f0edf5;border-radius:9px;position:relative}.tde-v2-track i{position:absolute;top:2px;height:13px;background:var(--purple);border-radius:5px}
.tde-v2-company-tools{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;border:1px solid var(--line);padding:15px;border-radius:7px}.tde-v2-company-tools label{display:block;text-transform:uppercase;font-size:10px;font-weight:800;margin-bottom:7px}.tde-v2-studio-tabs{display:flex;gap:6px;flex-wrap:wrap}.tde-v2-studio-tabs button.is-active{background:var(--purple);color:#fff;border-color:var(--purple)}.tde-v2-company-stats{display:flex;gap:20px}.tde-v2-company-stats div{text-align:center}.tde-v2-company-stats strong,.tde-v2-company-stats span{display:block}.tde-v2-company-stats strong{font-size:19px}.tde-v2-company-stats span{font-size:9px;text-transform:uppercase;color:var(--muted)}
.tde-v2-company-grid{border:1px solid var(--line);border-radius:7px;overflow:hidden}.tde-v2-grid-head,.tde-v2-grid-row{display:grid;grid-template-columns:80px repeat(var(--studio-count),1fr)}.tde-v2-grid-head{background:#111;color:#fff}.tde-v2-grid-head>*{padding:9px;border-right:1px solid #333;text-align:center}.tde-v2-grid-row{border-top:1px solid var(--line)}.tde-v2-grid-row>time{padding:11px;text-align:center;font-weight:600}.tde-v2-grid-row>div{border-left:1px solid var(--line);padding:5px}.tde-v2-grid-row button{width:100%;border:0;background:#fbf9ff;text-align:left;padding:7px;border-radius:4px;cursor:pointer}.tde-v2-grid-row button strong,.tde-v2-grid-row button span{display:block}.tde-v2-grid-row button span{font-size:10px;color:var(--muted)}
.tde-v2-family-modal{position:fixed;inset:0;background:#0008;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.tde-v2-family-modal[hidden]{display:none}.tde-v2-modal-card{background:#fff;width:min(520px,92vw);max-height:80vh;overflow:auto;padding:25px;position:relative;border-radius:9px}.tde-v2-modal-card>button:first-child{position:absolute;right:13px;top:10px;border:0;background:none;font-size:26px}.tde-v2-family-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0}.tde-v2-family-checks label{border:1px solid var(--line);padding:9px}.tde-v2-modal-card>[data-v2-family-save]{background:var(--red);color:#fff;border:0;padding:11px 20px;border-radius:4px}
@media(max-width:1000px){.tde-v2-layout{grid-template-columns:1fr}.tde-v2-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.tde-v2-side-nav{flex-direction:row;margin:15px 0}.tde-v2-side-nav button{flex:1;text-align:center}.tde-v2-side-group{display:none}.tde-v2-stats{grid-template-columns:repeat(3,1fr)}.tde-v2-week-strip{grid-template-columns:repeat(4,1fr)}.tde-v2-day-mini{border-bottom:1px solid var(--line)}.tde-v2-itinerary-row{grid-template-columns:110px 1fr 90px 100px}.tde-v2-itinerary-row span:nth-of-type(2),.tde-v2-itinerary-row b{display:none}}
@media(max-width:700px){.tde-v2-top{flex-direction:column}.tde-v2-week-nav{justify-content:flex-start}.tde-v2-hero{flex-direction:column}.tde-v2-stats{grid-template-columns:1fr 1fr}.tde-v2-week-strip{grid-template-columns:1fr 1fr}.tde-v2-itinerary-row{grid-template-columns:90px 1fr}.tde-v2-itinerary-row>span{display:none}.tde-v2-company-tools{flex-direction:column;align-items:stretch}.tde-v2-company-stats{justify-content:space-between}.tde-v2-company-grid{overflow-x:auto}.tde-v2-grid-head,.tde-v2-grid-row{min-width:640px}.tde-v2-family-checks{grid-template-columns:1fr}}
@media print{.tde-v2-sidebar,.tde-v2-top,.tde-calendar-footer,.tde-planner-widgets{display:none!important}.tde-v2-layout{display:block}.tde-v2-main{width:100%}}

.tde-v2-hidden-header{display:none!important}
.tde-calendar-app.tde-parent-v2-active>.tde-planner-widgets{display:none!important}
.tde-calendar-app.tde-parent-v2-active{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;padding-left:max(20px,3vw);padding-right:max(20px,3vw);box-sizing:border-box}
.tde-v2-returnbar{display:flex;align-items:center;gap:14px;padding:12px 0}.tde-v2-returnbar button{border:1px solid #ccc;background:#fff;padding:9px 13px;border-radius:5px;cursor:pointer}
.tde-v2-detail-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:999999;padding:20px}.tde-v2-detail-card{position:relative;background:#fff;width:min(620px,92vw);max-height:82vh;overflow:auto;padding:28px;border-radius:9px}.tde-v2-detail-close{position:absolute;top:11px;right:14px;border:0;background:none;font-size:28px;cursor:pointer}.tde-v2-detail-card h3{font:600 34px Georgia,serif;margin:5px 0 4px}.tde-v2-detail-time{color:#666}.tde-v2-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.tde-v2-detail-grid>div{background:#f7f5f2;padding:12px;border-radius:5px}.tde-v2-detail-grid small,.tde-v2-detail-grid strong{display:block}.tde-v2-detail-grid small{text-transform:uppercase;font-size:9px;color:#777;margin-bottom:4px}.tde-v2-detail-card section{border-top:1px solid #eee;padding-top:14px;margin-top:14px}.tde-v2-detail-card section h4{margin:0 0 7px}.tde-v2-music{display:inline-block;margin-top:16px;background:#5b35c8;color:#fff!important;text-decoration:none!important;padding:10px 15px;border-radius:4px}

/* v2.22.1 mockup fidelity + named family selector */
#tde_parent_schedule_app, #tde_parent_schedule_app *{box-sizing:border-box}
#tde_parent_schedule_app{font-family:Arial,Helvetica,sans-serif!important;color:#171717!important;background:#fff!important}
#tde_parent_schedule_app button,#tde_parent_schedule_app select{font-family:inherit!important}
.tde-calendar-app.tde-parent-v2-active{background:#fff!important}
#tde_parent_schedule_app .tde-v2-top{max-width:1560px;margin:0 auto;padding:18px 18px 14px!important}
#tde_parent_schedule_app .tde-v2-top h2{font-family:Arial,Helvetica,sans-serif!important;font-size:24px!important;line-height:1.1!important;font-weight:800!important;text-transform:uppercase!important;color:#d71920!important;margin:3px 0 5px!important}
#tde_parent_schedule_app .tde-v2-kicker{display:none!important}
#tde_parent_schedule_app .tde-v2-top p{font-size:12px!important;color:#6f6f6f!important}
#tde_parent_schedule_app .tde-v2-week-nav{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-week-nav button{padding:8px 12px!important;border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-layout{max-width:1560px;margin:0 auto;grid-template-columns:180px minmax(0,1fr)!important;gap:18px!important;padding:12px 18px 30px!important}
#tde_parent_schedule_app .tde-v2-sidebar{padding-right:14px!important}
#tde_parent_schedule_app .tde-v2-dancer-label>span,#tde_parent_schedule_app .tde-v2-side-group>strong{font-size:9px!important;font-weight:800!important}
#tde_parent_schedule_app .tde-v2-dancer-label select{font-size:12px!important;padding:9px 8px!important;border-radius:3px!important}
#tde_parent_schedule_app .tde-v2-side-nav{margin:15px -14px 15px 0!important}
#tde_parent_schedule_app .tde-v2-side-nav button{font-size:11px!important;padding:12px 10px!important}
#tde_parent_schedule_app .tde-v2-side-group button{font-size:11px!important;padding:8px 4px!important;background:#fff!important}
#tde_parent_schedule_app .tde-v2-week-card{font-size:11px!important;padding:13px!important}
#tde_parent_schedule_app .tde-v2-week-card strong{font-size:18px!important}
#tde_parent_schedule_app .tde-v2-main{padding-right:0!important}
#tde_parent_schedule_app .tde-v2-hero{padding:15px 18px!important;border-radius:5px!important;background:#fcf9ff!important;gap:14px!important}
#tde_parent_schedule_app .tde-v2-avatar{width:56px!important;height:56px!important;font-size:22px!important}
#tde_parent_schedule_app .tde-v2-hero h3{font-family:Arial,Helvetica,sans-serif!important;font-size:19px!important;font-weight:800!important;text-transform:uppercase!important}
#tde_parent_schedule_app .tde-v2-hero-copy>div:first-child span{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-stats{margin:12px 0!important}
#tde_parent_schedule_app .tde-v2-stats>div{padding:9px 11px!important}
#tde_parent_schedule_app .tde-v2-stats small{font-size:8px!important}
#tde_parent_schedule_app .tde-v2-stats strong{font-size:14px!important}
#tde_parent_schedule_app .tde-v2-actions button{font-size:11px!important;padding:8px 12px!important;border-radius:3px!important}
#tde_parent_schedule_app .tde-v2-section{margin-top:16px!important}
#tde_parent_schedule_app .tde-v2-section-title h3{font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;font-weight:800!important;text-transform:uppercase!important}
#tde_parent_schedule_app .tde-v2-section-title span{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-week-strip{border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-day-mini{min-height:130px!important;padding:8px!important}
#tde_parent_schedule_app .tde-v2-day-mini header b{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-mini-event{padding:6px!important}
#tde_parent_schedule_app .tde-v2-mini-event strong{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-itinerary{border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row{grid-template-columns:125px minmax(155px,1.4fr) 95px 110px 95px 12px!important;padding:9px 11px!important;min-height:38px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row>span{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-break{padding:4px!important;font-size:9px!important}
#tde_parent_schedule_app .tde-v2-family-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:10px!important}
#tde_parent_schedule_app .tde-v2-family-card{padding:13px!important;border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-family-card h3{font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important}
#tde_parent_schedule_app .tde-v2-family-card p,#tde_parent_schedule_app .tde-v2-family-card strong{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-family-card button{font-size:10px!important;padding:7px 9px!important}
#tde_parent_schedule_app .tde-v2-family-avatar{width:42px!important;height:42px!important;font-size:17px!important}
#tde_parent_schedule_app .tde-v2-family-timeline{padding:10px 12px!important}
#tde_parent_schedule_app .tde-v2-family-timeline header{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-track{height:13px!important}
#tde_parent_schedule_app .tde-v2-track i{height:9px!important}
#tde_parent_schedule_app .tde-v2-company-tools{padding:12px!important;border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-studio-tabs button{font-size:9px!important;padding:7px 11px!important}
#tde_parent_schedule_app .tde-v2-company-stats{gap:16px!important}
#tde_parent_schedule_app .tde-v2-company-stats strong{font-size:14px!important}
#tde_parent_schedule_app .tde-v2-company-grid{border-radius:4px!important}
#tde_parent_schedule_app .tde-v2-grid-head,#tde_parent_schedule_app .tde-v2-grid-row{grid-template-columns:65px repeat(var(--studio-count),1fr)!important}
#tde_parent_schedule_app .tde-v2-grid-head>*{padding:6px!important;font-size:9px!important}
#tde_parent_schedule_app .tde-v2-grid-row>time{padding:7px 5px!important;font-size:9px!important}
#tde_parent_schedule_app .tde-v2-grid-row>div{padding:3px!important}
#tde_parent_schedule_app .tde-v2-grid-row button{padding:5px!important;min-height:33px!important}
#tde_parent_schedule_app .tde-v2-grid-row button strong{font-size:9px!important}
#tde_parent_schedule_app .tde-v2-grid-row button span{font-size:8px!important}
@media(max-width:1000px){#tde_parent_schedule_app .tde-v2-layout{grid-template-columns:1fr!important;padding:10px 12px 24px!important}}

/* v2.22.2 approved mockup colors + construction notice */
#tde_parent_schedule_app{--mock-purple:#6036c9;--mock-pink:#e63879;--mock-teal:#079c9a;--mock-yellow:#f4b83f;--mock-purple-soft:#f5f0ff;--mock-pink-soft:#fff0f6;--mock-teal-soft:#edfafa;--mock-yellow-soft:#fff8df;font-family:"Montserrat","Avenir Next","Segoe UI",Arial,sans-serif!important}
#tde_parent_schedule_app h1,#tde_parent_schedule_app h2,#tde_parent_schedule_app h3,#tde_parent_schedule_app h4,#tde_parent_schedule_app strong,#tde_parent_schedule_app b{font-family:inherit!important}
.tde-construction-banner{max-width:1560px;margin:0 auto 10px;display:flex;align-items:center;gap:12px;padding:11px 15px;background:#fff8df;border:1px solid #efd57f;border-left:5px solid #f4b83f;border-radius:5px}.tde-construction-icon{font-size:25px;line-height:1}.tde-construction-banner strong,.tde-construction-banner span{display:block}.tde-construction-banner strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.tde-construction-banner span{font-size:11px;color:#6c603d;margin-top:2px}
#tde_parent_schedule_app .tde-v2-top h2{font-size:20px!important;font-weight:800!important;letter-spacing:-.02em!important}
#tde_parent_schedule_app .tde-v2-layout{grid-template-columns:170px minmax(0,1fr)!important;gap:16px!important}
#tde_parent_schedule_app .tde-v2-hero{background:linear-gradient(90deg,#faf7ff,#fff)!important;border-color:#dfd3f5!important}
#tde_parent_schedule_app .tde-v2-avatar{background:var(--mock-purple-soft)!important;color:var(--mock-purple)!important;border:1px solid #d9caf3!important}
#tde_parent_schedule_app .tde-v2-mini-event.tone-0{background:var(--mock-purple-soft)!important;border-color:#ddcff5!important}#tde_parent_schedule_app .tde-v2-mini-event.tone-1{background:var(--mock-pink-soft)!important;border-color:#f2cddd!important}#tde_parent_schedule_app .tde-v2-mini-event.tone-2{background:var(--mock-teal-soft)!important;border-color:#cae8e8!important}#tde_parent_schedule_app .tde-v2-mini-event.tone-3{background:var(--mock-yellow-soft)!important;border-color:#eedda7!important}
#tde_parent_schedule_app .tde-v2-itinerary-row{position:relative!important;padding-left:23px!important}#tde_parent_schedule_app .tde-v2-itinerary-row:before{content:"";width:6px;height:6px;border-radius:50%;position:absolute;left:8px;top:50%;transform:translateY(-50%);background:var(--mock-teal)}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-0:before{background:var(--mock-purple)}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-1:before{background:var(--mock-pink)}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-2:before{background:var(--mock-teal)}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-3:before{background:var(--mock-yellow)}
#tde_parent_schedule_app .tde-v2-family-card.family-tone-0{background:#faf7ff!important;border-color:#ddd1f4!important}#tde_parent_schedule_app .tde-v2-family-card.family-tone-0 .tde-v2-family-avatar{background:var(--mock-purple-soft)!important;color:var(--mock-purple)!important}#tde_parent_schedule_app .tde-v2-family-card.family-tone-1{background:#fff6fa!important;border-color:#f0cad9!important}#tde_parent_schedule_app .tde-v2-family-card.family-tone-1 .tde-v2-family-avatar{background:var(--mock-pink-soft)!important;color:var(--mock-pink)!important}#tde_parent_schedule_app .tde-v2-family-card.family-tone-2{background:#f3fdfd!important;border-color:#c7e8e7!important}#tde_parent_schedule_app .tde-v2-family-card.family-tone-2 .tde-v2-family-avatar{background:var(--mock-teal-soft)!important;color:var(--mock-teal)!important}
#tde_parent_schedule_app .tde-v2-family-timeline.family-tone-0 .tde-v2-track i{background:var(--mock-purple)!important}#tde_parent_schedule_app .tde-v2-family-timeline.family-tone-1 .tde-v2-track i{background:var(--mock-pink)!important}#tde_parent_schedule_app .tde-v2-family-timeline.family-tone-2 .tde-v2-track i{background:var(--mock-teal)!important}
#tde_parent_schedule_app .tde-v2-grid-head .studio-tone-0{background:var(--mock-purple)!important}#tde_parent_schedule_app .tde-v2-grid-head .studio-tone-1{background:var(--mock-pink)!important}#tde_parent_schedule_app .tde-v2-grid-head .studio-tone-2{background:var(--mock-teal)!important}
#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-0{background:#fbf8ff!important}#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-1{background:#fff7fa!important}#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-2{background:#f4fcfc!important}
#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-0 button{background:#f6f0ff!important;border-left:2px solid var(--mock-purple)!important}#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-1 button{background:#fff0f6!important;border-left:2px solid var(--mock-pink)!important}#tde_parent_schedule_app .tde-v2-grid-row .studio-cell-tone-2 button{background:#edfafa!important;border-left:2px solid var(--mock-teal)!important}

/* v2.22.3 literal mockup pass */
.tde-calendar-app.tde-parent-v2-active{
  width:100%!important;max-width:1480px!important;margin:0 auto!important;padding:0 18px!important;background:#fff!important;
}
#tde_parent_schedule_app{
  --red:#e31b23;--purple:#5d35c7;--pink:#eb3b79;--teal:#0b9b9a;--gold:#f2b638;
  --line:#e6e6e6;--soft:#fafafa;--purple-soft:#f8f4ff;--pink-soft:#fff5f8;--teal-soft:#f1fbfb;
  font-family:"Montserrat","Avenir Next","Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  letter-spacing:0!important;
}
#tde_parent_schedule_app *{box-sizing:border-box!important}
.tde-construction-banner{margin:0 auto 9px!important;max-width:none!important;padding:9px 12px!important}
#tde_parent_schedule_app .tde-v2-top{max-width:none!important;margin:0!important;padding:12px 0 10px!important;border-bottom:1px solid var(--line)!important}
#tde_parent_schedule_app .tde-v2-top h2{font-size:17px!important;line-height:1!important;margin:0 0 5px!important;color:var(--red)!important;font-weight:800!important}
#tde_parent_schedule_app .tde-v2-top p{font-size:10px!important;line-height:1.2!important}
#tde_parent_schedule_app .tde-v2-week-nav{gap:5px!important;font-size:9px!important}
#tde_parent_schedule_app .tde-v2-week-nav button{height:29px!important;padding:5px 9px!important;border-radius:3px!important;border:1px solid #d7d7d7!important;background:#fff!important;color:#333!important;font-size:9px!important}
#tde_parent_schedule_app .tde-v2-week-nav strong{font-size:9px!important;color:#173fbd!important;margin-left:4px!important}
#tde_parent_schedule_app .tde-v2-week-nav span{font-size:9px!important}
#tde_parent_schedule_app .tde-v2-layout{max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:152px minmax(0,1fr)!important;gap:14px!important;padding:10px 0 22px!important}
#tde_parent_schedule_app .tde-v2-sidebar{padding:0 10px 0 0!important;border-right:1px solid #dedede!important}
#tde_parent_schedule_app .tde-v2-dancer-label>span,#tde_parent_schedule_app .tde-v2-side-group>strong{font-size:8px!important;line-height:1.15!important}
#tde_parent_schedule_app .tde-v2-dancer-label select{height:34px!important;padding:6px 7px!important;font-size:10px!important;border-radius:2px!important}
#tde_parent_schedule_app .tde-v2-side-nav{margin:10px -10px 12px 0!important;border:0!important;gap:0!important}
#tde_parent_schedule_app .tde-v2-side-nav button,#tde_parent_schedule_app .tde-v2-side-group button{
  display:flex!important;align-items:center!important;gap:7px!important;width:100%!important;height:31px!important;
  padding:6px 8px!important;border:0!important;background:transparent!important;border-radius:0!important;text-align:left!important;
  font-size:9px!important;color:#2e2e2e!important;
}
#tde_parent_schedule_app .tde-v2-side-nav button i,#tde_parent_schedule_app .tde-v2-side-group button i{width:13px!important;font-style:normal!important;color:#555!important;text-align:center!important}
#tde_parent_schedule_app .tde-v2-side-nav button.is-active{background:#fff2f4!important;border-left:3px solid var(--red)!important;color:var(--red)!important;font-weight:700!important}
#tde_parent_schedule_app .tde-v2-side-group{border-top:1px solid #eee!important;padding-top:11px!important;margin-top:5px!important;gap:0!important}
#tde_parent_schedule_app .tde-v2-side-group>strong{margin:0 0 5px 7px!important}
#tde_parent_schedule_app .tde-v2-quick-card{border:1px solid #eee0ba!important;border-radius:3px!important;padding:9px 7px!important;margin-top:12px!important}
#tde_parent_schedule_app .tde-v2-quick-card>strong{display:block!important;font-size:8px!important;text-transform:uppercase!important;margin-bottom:4px!important}
#tde_parent_schedule_app .tde-v2-quick-card button{display:flex!important;width:100%!important;gap:7px!important;border:0!important;background:#fff!important;padding:5px 2px!important;font-size:8px!important;text-align:left!important;color:#333!important}
#tde_parent_schedule_app .tde-v2-week-card{padding:9px 7px!important;margin-top:12px!important;border-radius:3px!important}
#tde_parent_schedule_app .tde-v2-week-card small{font-size:7px!important}#tde_parent_schedule_app .tde-v2-week-card strong{font-size:15px!important;margin:4px 0!important}#tde_parent_schedule_app .tde-v2-week-card span{font-size:8px!important}
#tde_parent_schedule_app .tde-v2-pro-tip{margin-top:12px!important;background:#faf6ff!important;border:1px solid #e7dcf5!important;border-radius:3px!important;padding:9px!important;color:#4e32a3!important}
#tde_parent_schedule_app .tde-v2-pro-tip b,#tde_parent_schedule_app .tde-v2-pro-tip span{display:block!important}#tde_parent_schedule_app .tde-v2-pro-tip b{font-size:8px!important}#tde_parent_schedule_app .tde-v2-pro-tip span{font-size:8px!important;line-height:1.35!important;margin-top:4px!important;color:#655879!important}
#tde_parent_schedule_app .tde-v2-main{min-width:0!important;padding:0!important}
#tde_parent_schedule_app .tde-v2-hero{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;gap:10px!important;padding:11px 12px!important;border-radius:3px!important;background:#fbf9ff!important;border:1px solid #e1d5f5!important}
#tde_parent_schedule_app .tde-v2-avatar{width:44px!important;height:44px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:21px!important}
#tde_parent_schedule_app .tde-v2-dancer-title{display:flex!important;align-items:center!important;gap:8px!important;min-height:24px!important}
#tde_parent_schedule_app .tde-v2-dancer-title h3{font-size:16px!important;line-height:1!important;text-transform:uppercase!important;margin:0!important;color:#311a78!important;font-weight:800!important}
#tde_parent_schedule_app .tde-v2-dancer-title span{font-size:8px!important;color:#173fbd!important;font-weight:800!important;text-transform:uppercase!important}
#tde_parent_schedule_app .tde-v2-dancer-title small{font-size:8px!important;color:#555!important;font-weight:600!important}
#tde_parent_schedule_app .tde-v2-stats{display:grid!important;grid-template-columns:repeat(5,1fr)!important;margin:4px 0 7px!important;border-top:1px solid #e5dff0!important;border-bottom:0!important}
#tde_parent_schedule_app .tde-v2-stats>div{padding:7px 9px 3px!important;border-right:0!important}
#tde_parent_schedule_app .tde-v2-stats small{font-size:6px!important}.tde-v2-stats em{display:block!important;font-size:6px!important;color:#999!important;font-style:normal!important}
#tde_parent_schedule_app .tde-v2-stats strong{font-size:11px!important;line-height:1!important}
#tde_parent_schedule_app .tde-v2-actions{display:flex!important;gap:6px!important}
#tde_parent_schedule_app .tde-v2-actions button{height:28px!important;padding:5px 9px!important;border-radius:2px!important;font-size:8px!important;background:#fff!important}
#tde_parent_schedule_app .tde-v2-section{margin-top:11px!important}
#tde_parent_schedule_app .tde-v2-section-title{display:flex!important;align-items:baseline!important;gap:7px!important;margin-bottom:5px!important}
#tde_parent_schedule_app .tde-v2-section-title h3{font-size:10px!important;text-transform:uppercase!important;font-weight:800!important;margin:0!important}
#tde_parent_schedule_app .tde-v2-section-title span{font-size:7px!important}
#tde_parent_schedule_app .tde-v2-week-strip{display:grid!important;grid-template-columns:repeat(7,1fr)!important;border-radius:2px!important;overflow:hidden!important;min-height:114px!important}
#tde_parent_schedule_app .tde-v2-day-mini{min-height:112px!important;padding:7px 6px!important;border-right:1px solid #eee!important;background:#fff!important}
#tde_parent_schedule_app .tde-v2-day-mini header{margin-bottom:5px!important}#tde_parent_schedule_app .tde-v2-day-mini header b{font-size:8px!important;text-transform:uppercase!important}#tde_parent_schedule_app .tde-v2-day-mini header span{font-size:7px!important}
#tde_parent_schedule_app .tde-v2-mini-event{position:relative!important;width:100%!important;display:block!important;padding:5px 5px 5px 10px!important;margin:0 0 3px!important;border-radius:2px!important;text-align:left!important;min-height:38px!important}
#tde_parent_schedule_app .tde-v2-mini-event i{position:absolute!important;left:4px!important;top:8px!important;width:4px!important;height:4px!important;border-radius:50%!important;background:var(--purple)!important}
#tde_parent_schedule_app .tde-v2-mini-event b,#tde_parent_schedule_app .tde-v2-mini-event strong,#tde_parent_schedule_app .tde-v2-mini-event span,#tde_parent_schedule_app .tde-v2-mini-event small{display:block!important;line-height:1.15!important}
#tde_parent_schedule_app .tde-v2-mini-event b{font-size:6px!important}#tde_parent_schedule_app .tde-v2-mini-event strong{font-size:7px!important}#tde_parent_schedule_app .tde-v2-mini-event span,#tde_parent_schedule_app .tde-v2-mini-event small{font-size:6px!important}
#tde_parent_schedule_app .tde-v2-mini-empty{padding-top:27px!important;color:#258441!important}#tde_parent_schedule_app .tde-v2-mini-empty span,#tde_parent_schedule_app .tde-v2-mini-empty b,#tde_parent_schedule_app .tde-v2-mini-empty small{display:block!important;font-size:7px!important}
#tde_parent_schedule_app .tde-v2-sat-link{padding-top:28px!important;color:#3428bd!important}#tde_parent_schedule_app .tde-v2-sat-link b{display:block!important;font-size:11px!important}#tde_parent_schedule_app .tde-v2-sat-link span{font-size:8px!important}
#tde_parent_schedule_app .tde-v2-inline-week{color:#173fbd!important;font-weight:800!important;text-transform:uppercase!important}
#tde_parent_schedule_app .tde-v2-itinerary{display:block!important;width:100%!important;border-radius:2px!important;overflow:hidden!important}
#tde_parent_schedule_app .tde-v2-itinerary-row{
  display:grid!important;width:100%!important;max-width:none!important;height:34px!important;min-height:34px!important;
  grid-template-columns:6px 115px minmax(160px,1.7fr) 90px 105px 92px 10px!important;gap:8px!important;
  align-items:center!important;padding:4px 8px!important;margin:0!important;border:0!important;border-bottom:1px solid #ededed!important;
  background:#fff!important;border-radius:0!important;color:#222!important;text-align:left!important;box-shadow:none!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row:hover{background:#faf8ff!important}
#tde_parent_schedule_app .tde-v2-itinerary-row:before{display:none!important}
#tde_parent_schedule_app .tde-row-dot{display:block!important;width:5px!important;height:5px!important;border-radius:50%!important;background:var(--teal)!important}
#tde_parent_schedule_app .tde-v2-itinerary-row.tone-0 .tde-row-dot{background:var(--purple)!important}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-1 .tde-row-dot{background:var(--pink)!important}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-2 .tde-row-dot{background:var(--teal)!important}#tde_parent_schedule_app .tde-v2-itinerary-row.tone-3 .tde-row-dot{background:var(--gold)!important}
#tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:7px!important;font-weight:600!important;white-space:nowrap!important}
#tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:8px!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tde_parent_schedule_app .tde-v2-itinerary-row>span{font-size:7px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tde_parent_schedule_app .tde-row-genre{color:#5630bd!important}
#tde_parent_schedule_app .tde-row-studio{color:#4f4661!important}
#tde_parent_schedule_app .tde-v2-break{width:100%!important;display:block!important;text-align:center!important;height:22px!important;padding:5px!important;background:#f3f3f3!important;font-size:7px!important}
#tde_parent_schedule_app .tde-v2-week-reminder{display:grid!important;grid-template-columns:20px 1fr auto!important;gap:8px!important;align-items:center!important;margin-top:8px!important;padding:8px 10px!important;background:#fbf7ff!important;border:1px solid #e7dbf5!important;border-radius:2px!important;color:#4c2aa4!important}
#tde_parent_schedule_app .tde-v2-week-reminder b,#tde_parent_schedule_app .tde-v2-week-reminder small{display:block!important}#tde_parent_schedule_app .tde-v2-week-reminder b{font-size:7px!important;text-transform:uppercase!important}#tde_parent_schedule_app .tde-v2-week-reminder small{font-size:7px!important;color:#685b79!important}
#tde_parent_schedule_app .tde-v2-week-reminder button{height:26px!important;padding:4px 8px!important;font-size:7px!important;border:1px solid #8d72d1!important;background:#fff!important;color:#5631ba!important;border-radius:2px!important}
@media(max-width:950px){
 #tde_parent_schedule_app .tde-v2-layout{grid-template-columns:1fr!important}
 #tde_parent_schedule_app .tde-v2-sidebar{border-right:0!important;border-bottom:1px solid #eee!important;padding-bottom:8px!important}
 #tde_parent_schedule_app .tde-v2-quick-card,#tde_parent_schedule_app .tde-v2-pro-tip,#tde_parent_schedule_app .tde-v2-week-card{display:none!important}
}
@media(max-width:700px){
 #tde_parent_schedule_app .tde-v2-week-strip{grid-template-columns:repeat(2,1fr)!important}
 #tde_parent_schedule_app .tde-v2-itinerary-row{height:auto!important;min-height:42px!important;grid-template-columns:6px 92px minmax(130px,1fr) 10px!important}
 #tde_parent_schedule_app .tde-v2-itinerary-row .tde-row-genre,#tde_parent_schedule_app .tde-v2-itinerary-row span:not(.tde-row-genre){display:none!important}
}

/* v2.22.4 full-width desktop + intentional mobile layout */

/* DESKTOP: use the available page width */
.tde-calendar-app.tde-parent-v2-active{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-left:clamp(24px,3vw,54px)!important;
  padding-right:clamp(24px,3vw,54px)!important;
}
#tde_parent_schedule_app{
  width:100%!important;
  max-width:none!important;
}
#tde_parent_schedule_app .tde-v2-top,
#tde_parent_schedule_app .tde-v2-layout,
#tde_parent_schedule_app .tde-construction-banner{
  width:100%!important;
  max-width:none!important;
}

/* Give the readable areas more room */
#tde_parent_schedule_app .tde-v2-layout{
  grid-template-columns:178px minmax(0,1fr)!important;
  gap:18px!important;
}
#tde_parent_schedule_app .tde-v2-top h2{
  font-size:19px!important;
}
#tde_parent_schedule_app .tde-v2-top p{
  font-size:11px!important;
}
#tde_parent_schedule_app .tde-v2-dancer-title h3{
  font-size:18px!important;
}
#tde_parent_schedule_app .tde-v2-dancer-title span,
#tde_parent_schedule_app .tde-v2-dancer-title small{
  font-size:9px!important;
}
#tde_parent_schedule_app .tde-v2-stats small{
  font-size:7px!important;
}
#tde_parent_schedule_app .tde-v2-stats strong{
  font-size:13px!important;
}
#tde_parent_schedule_app .tde-v2-section-title h3{
  font-size:11px!important;
}
#tde_parent_schedule_app .tde-v2-day-mini header b{
  font-size:9px!important;
}
#tde_parent_schedule_app .tde-v2-day-mini header span{
  font-size:8px!important;
}
#tde_parent_schedule_app .tde-v2-mini-event b{
  font-size:7px!important;
}
#tde_parent_schedule_app .tde-v2-mini-event strong{
  font-size:8px!important;
}
#tde_parent_schedule_app .tde-v2-mini-event span,
#tde_parent_schedule_app .tde-v2-mini-event small{
  font-size:7px!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row{
  grid-template-columns:6px 128px minmax(190px,1.8fr) 100px 120px 105px 12px!important;
  min-height:38px!important;
  height:38px!important;
  padding:5px 10px!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row time{
  font-size:8px!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row strong{
  font-size:9px!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row>span{
  font-size:8px!important;
}

/* TABLET */
@media (max-width:1050px){
  .tde-calendar-app.tde-parent-v2-active{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  #tde_parent_schedule_app .tde-v2-layout{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:14px!important;
  }
  #tde_parent_schedule_app .tde-v2-week-strip{
    overflow-x:auto!important;
    display:flex!important;
    scroll-snap-type:x proximity;
  }
  #tde_parent_schedule_app .tde-v2-day-mini{
    flex:0 0 145px!important;
    scroll-snap-align:start;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row{
    grid-template-columns:6px 112px minmax(160px,1.5fr) 90px 100px 95px 10px!important;
  }
}

/* MOBILE: purpose-built, not squeezed desktop */
@media (max-width:760px){
  .tde-calendar-app.tde-parent-v2-active{
    width:100%!important;
    margin:0!important;
    padding:0 12px!important;
  }

  #tde_parent_schedule_app .tde-construction-banner{
    margin:0 0 8px!important;
    padding:9px 10px!important;
  }
  #tde_parent_schedule_app .tde-construction-icon{
    font-size:21px!important;
  }
  #tde_parent_schedule_app .tde-construction-banner strong{
    font-size:10px!important;
  }
  #tde_parent_schedule_app .tde-construction-banner span{
    font-size:9px!important;
    line-height:1.35!important;
  }

  #tde_parent_schedule_app .tde-v2-top{
    display:block!important;
    padding:10px 0!important;
  }
  #tde_parent_schedule_app .tde-v2-top h2{
    font-size:18px!important;
  }
  #tde_parent_schedule_app .tde-v2-top p{
    font-size:10px!important;
    margin-bottom:9px!important;
  }
  #tde_parent_schedule_app .tde-v2-week-nav{
    width:100%!important;
    justify-content:flex-start!important;
    gap:5px!important;
  }
  #tde_parent_schedule_app .tde-v2-week-nav strong{
    margin-left:auto!important;
  }

  #tde_parent_schedule_app .tde-v2-layout{
    display:block!important;
    padding:6px 0 18px!important;
  }

  /* Mobile selector bar replaces desktop rail */
  #tde_parent_schedule_app .tde-v2-sidebar{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    border:0!important;
    padding:0 0 10px!important;
    margin-bottom:10px!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-label{
    grid-column:1 / -1!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-label>span{
    font-size:8px!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-label select{
    height:40px!important;
    font-size:12px!important;
  }

  #tde_parent_schedule_app .tde-v2-side-nav{
    grid-column:1 / -1!important;
    display:flex!important;
    overflow-x:auto!important;
    gap:5px!important;
    margin:0!important;
    padding-bottom:2px!important;
    border:0!important;
  }
  #tde_parent_schedule_app .tde-v2-side-nav button{
    flex:0 0 auto!important;
    width:auto!important;
    height:34px!important;
    padding:7px 10px!important;
    border:1px solid #e2e2e2!important;
    border-radius:3px!important;
    background:#fff!important;
    font-size:9px!important;
  }
  #tde_parent_schedule_app .tde-v2-side-nav button.is-active{
    border:1px solid #efcfd3!important;
    border-left:3px solid var(--red)!important;
    background:#fff2f4!important;
  }

  #tde_parent_schedule_app .tde-v2-side-group,
  #tde_parent_schedule_app .tde-v2-quick-card,
  #tde_parent_schedule_app .tde-v2-week-card,
  #tde_parent_schedule_app .tde-v2-pro-tip{
    display:none!important;
  }

  /* Dancer header becomes stacked and readable */
  #tde_parent_schedule_app .tde-v2-hero{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px!important;
    padding:10px!important;
  }
  #tde_parent_schedule_app .tde-v2-avatar{
    width:38px!important;
    height:38px!important;
    font-size:17px!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-title{
    flex-wrap:wrap!important;
    gap:5px!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-title h3{
    width:100%!important;
    font-size:15px!important;
  }
  #tde_parent_schedule_app .tde-v2-stats{
    grid-template-columns:repeat(2,1fr)!important;
    gap:0!important;
    margin-top:7px!important;
  }
  #tde_parent_schedule_app .tde-v2-stats>div{
    padding:7px 5px!important;
    border-bottom:1px solid #eee8f6!important;
  }
  #tde_parent_schedule_app .tde-v2-stats>div:last-child{
    grid-column:1 / -1!important;
  }
  #tde_parent_schedule_app .tde-v2-stats small{
    font-size:7px!important;
  }
  #tde_parent_schedule_app .tde-v2-stats strong{
    font-size:12px!important;
  }
  #tde_parent_schedule_app .tde-v2-actions{
    flex-wrap:wrap!important;
  }
  #tde_parent_schedule_app .tde-v2-actions button{
    min-height:31px!important;
    font-size:8px!important;
  }

  /* Week strip is a horizontal swipe strip */
  #tde_parent_schedule_app .tde-v2-week-strip{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch;
    min-height:112px!important;
    border-radius:3px!important;
  }
  #tde_parent_schedule_app .tde-v2-day-mini{
    flex:0 0 132px!important;
    min-height:108px!important;
    scroll-snap-align:start!important;
  }

  /* Saturday becomes readable cards */
  #tde_parent_schedule_app .tde-v2-itinerary{
    border:0!important;
    overflow:visible!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row{
    display:grid!important;
    grid-template-columns:7px 1fr auto!important;
    grid-template-areas:
      "dot time arrow"
      "dot dance arrow"
      "dot meta arrow"!important;
    gap:2px 8px!important;
    min-height:74px!important;
    height:auto!important;
    padding:10px!important;
    margin-bottom:7px!important;
    border:1px solid #e6e6e6!important;
    border-radius:5px!important;
    background:#fff!important;
  }
  #tde_parent_schedule_app .tde-row-dot{
    grid-area:dot!important;
    align-self:start!important;
    margin-top:5px!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row time{
    grid-area:time!important;
    font-size:9px!important;
    font-weight:700!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row strong{
    grid-area:dance!important;
    font-size:12px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row>b{
    grid-area:arrow!important;
    align-self:center!important;
    font-size:16px!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row .tde-row-genre{
    grid-area:meta!important;
    display:inline!important;
    font-size:9px!important;
    white-space:normal!important;
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row .tde-row-genre:after{
    content:"";
  }
  #tde_parent_schedule_app .tde-v2-itinerary-row span:not(.tde-row-genre){
    display:none!important;
  }
  #tde_parent_schedule_app .tde-v2-break{
    height:auto!important;
    min-height:25px!important;
    margin:4px 0 7px!important;
    border-radius:3px!important;
    font-size:8px!important;
  }

  #tde_parent_schedule_app .tde-v2-week-reminder{
    grid-template-columns:18px 1fr!important;
  }
  #tde_parent_schedule_app .tde-v2-week-reminder button{
    grid-column:1 / -1!important;
    width:100%!important;
  }

  /* Family cards stack cleanly */
  #tde_parent_schedule_app .tde-v2-family-cards{
    grid-template-columns:1fr!important;
  }
  #tde_parent_schedule_app .tde-v2-family-card{
    min-height:105px!important;
  }

  /* Company schedule remains usable by horizontal scrolling */
  #tde_parent_schedule_app .tde-v2-company-grid{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  #tde_parent_schedule_app .tde-v2-grid-head,
  #tde_parent_schedule_app .tde-v2-grid-row{
    min-width:720px!important;
  }
}

/* Extra-small phones */
@media (max-width:420px){
  .tde-calendar-app.tde-parent-v2-active{
    padding:0 9px!important;
  }
  #tde_parent_schedule_app .tde-v2-week-nav span{
    display:none!important;
  }
  #tde_parent_schedule_app .tde-v2-day-mini{
    flex-basis:118px!important;
  }
}

/* v2.22.5 readability pass
   The mockup proportions stay, but text is now sized for an actual website rather than a screenshot. */
#tde_parent_schedule_app{
  font-size:15px!important;
}
#tde_parent_schedule_app .tde-v2-top h2{font-size:25px!important}
#tde_parent_schedule_app .tde-v2-top p{font-size:13px!important}
#tde_parent_schedule_app .tde-v2-week-nav{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-week-nav button{font-size:12px!important;height:36px!important}
#tde_parent_schedule_app .tde-v2-week-nav strong,
#tde_parent_schedule_app .tde-v2-week-nav span{font-size:12px!important}

#tde_parent_schedule_app .tde-v2-dancer-label>span,
#tde_parent_schedule_app .tde-v2-side-group>strong{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-dancer-label select{font-size:13px!important;height:40px!important}
#tde_parent_schedule_app .tde-v2-side-nav button,
#tde_parent_schedule_app .tde-v2-side-group button{font-size:12px!important;min-height:38px!important}
#tde_parent_schedule_app .tde-v2-quick-card>strong{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-quick-card button{font-size:11px!important;min-height:30px!important}
#tde_parent_schedule_app .tde-v2-week-card small{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-week-card strong{font-size:19px!important}
#tde_parent_schedule_app .tde-v2-week-card span{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-pro-tip b{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-pro-tip span{font-size:11px!important}

#tde_parent_schedule_app .tde-v2-dancer-title h3{font-size:23px!important}
#tde_parent_schedule_app .tde-v2-dancer-title span,
#tde_parent_schedule_app .tde-v2-dancer-title small{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-stats small{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-stats strong{font-size:16px!important}
#tde_parent_schedule_app .tde-v2-stats em{font-size:9px!important}
#tde_parent_schedule_app .tde-v2-actions button{font-size:11px!important;min-height:34px!important}

#tde_parent_schedule_app .tde-v2-section-title h3{font-size:16px!important}
#tde_parent_schedule_app .tde-v2-section-title span{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-day-mini header b{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-day-mini header span{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-mini-event b{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-mini-event strong{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-mini-event span,
#tde_parent_schedule_app .tde-v2-mini-event small{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-mini-empty span,
#tde_parent_schedule_app .tde-v2-mini-empty b,
#tde_parent_schedule_app .tde-v2-mini-empty small{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-sat-link b{font-size:15px!important}
#tde_parent_schedule_app .tde-v2-sat-link span{font-size:11px!important}

#tde_parent_schedule_app .tde-v2-itinerary-row{min-height:48px!important;height:48px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:13px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row>span{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-break{font-size:11px!important;min-height:28px!important}
#tde_parent_schedule_app .tde-v2-week-reminder b{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-week-reminder small{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-week-reminder button{font-size:10px!important;min-height:31px!important}

/* Construction notice should also be comfortably readable. */
#tde_parent_schedule_app .tde-construction-banner strong{font-size:13px!important}
#tde_parent_schedule_app .tde-construction-banner span{font-size:12px!important}

/* Mobile keeps readable text instead of scaling it back down. */
@media(max-width:760px){
  #tde_parent_schedule_app{font-size:14px!important}
  #tde_parent_schedule_app .tde-v2-top h2{font-size:22px!important}
  #tde_parent_schedule_app .tde-v2-top p{font-size:12px!important}
  #tde_parent_schedule_app .tde-v2-week-nav button,
  #tde_parent_schedule_app .tde-v2-week-nav strong,
  #tde_parent_schedule_app .tde-v2-week-nav span{font-size:11px!important}
  #tde_parent_schedule_app .tde-v2-dancer-label>span{font-size:10px!important}
  #tde_parent_schedule_app .tde-v2-dancer-label select{font-size:14px!important}
  #tde_parent_schedule_app .tde-v2-side-nav button{font-size:11px!important;min-height:38px!important}
  #tde_parent_schedule_app .tde-v2-dancer-title h3{font-size:19px!important}
  #tde_parent_schedule_app .tde-v2-dancer-title span,
  #tde_parent_schedule_app .tde-v2-dancer-title small{font-size:10px!important}
  #tde_parent_schedule_app .tde-v2-stats small{font-size:10px!important}
  #tde_parent_schedule_app .tde-v2-stats strong{font-size:15px!important}
  #tde_parent_schedule_app .tde-v2-section-title h3{font-size:15px!important}
  #tde_parent_schedule_app .tde-v2-day-mini header b{font-size:11px!important}
  #tde_parent_schedule_app .tde-v2-day-mini header span{font-size:10px!important}
  #tde_parent_schedule_app .tde-v2-mini-event b,
  #tde_parent_schedule_app .tde-v2-mini-event span,
  #tde_parent_schedule_app .tde-v2-mini-event small{font-size:10px!important}
  #tde_parent_schedule_app .tde-v2-mini-event strong{font-size:11px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:12px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:15px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row .tde-row-genre{font-size:11px!important}
  #tde_parent_schedule_app .tde-construction-banner strong{font-size:12px!important}
  #tde_parent_schedule_app .tde-construction-banner span{font-size:11px!important}
}

/* v2.22.6 larger readable type + restored day-off personality */
#tde_parent_schedule_app{font-size:16px!important}

#tde_parent_schedule_app .tde-v2-top h2{font-size:28px!important}
#tde_parent_schedule_app .tde-v2-top p{font-size:14px!important}
#tde_parent_schedule_app .tde-v2-week-nav button,
#tde_parent_schedule_app .tde-v2-week-nav strong,
#tde_parent_schedule_app .tde-v2-week-nav span{font-size:13px!important}

#tde_parent_schedule_app .tde-v2-dancer-label>span,
#tde_parent_schedule_app .tde-v2-side-group>strong{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-dancer-label select{font-size:14px!important}
#tde_parent_schedule_app .tde-v2-side-nav button,
#tde_parent_schedule_app .tde-v2-side-group button{font-size:13px!important}

#tde_parent_schedule_app .tde-v2-dancer-title h3{font-size:26px!important}
#tde_parent_schedule_app .tde-v2-dancer-title span,
#tde_parent_schedule_app .tde-v2-dancer-title small{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-avatar{
  font-size:24px!important;
  color:#5d35c7!important;
}

#tde_parent_schedule_app .tde-v2-stats small{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-stats strong{font-size:18px!important}
#tde_parent_schedule_app .tde-v2-stats em{font-size:10px!important}
#tde_parent_schedule_app .tde-v2-actions button{font-size:12px!important}

#tde_parent_schedule_app .tde-v2-section-title h3{font-size:18px!important}
#tde_parent_schedule_app .tde-v2-section-title span{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-day-mini header b{font-size:13px!important}
#tde_parent_schedule_app .tde-v2-day-mini header span{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-mini-event b{font-size:11px!important}
#tde_parent_schedule_app .tde-v2-mini-event strong{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-mini-event span,
#tde_parent_schedule_app .tde-v2-mini-event small{font-size:11px!important}

#tde_parent_schedule_app .tde-v2-mini-empty{
  min-height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:10px!important;
  color:#087f7c!important;
  text-align:center!important;
}
#tde_parent_schedule_app .tde-v2-mini-empty b{
  display:block!important;
  max-width:150px!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
#tde_parent_schedule_app .tde-dayoff-sparkle{
  display:block!important;
  font-size:18px!important;
  line-height:1!important;
  color:#e63879!important;
}

#tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:13px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:14px!important}
#tde_parent_schedule_app .tde-v2-itinerary-row>span{font-size:13px!important}
#tde_parent_schedule_app .tde-v2-break{font-size:12px!important}

#tde_parent_schedule_app .tde-v2-quick-card button{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-pro-tip span{font-size:12px!important}
#tde_parent_schedule_app .tde-v2-week-card span{font-size:12px!important}

@media(max-width:760px){
  #tde_parent_schedule_app{font-size:15px!important}
  #tde_parent_schedule_app .tde-v2-top h2{font-size:24px!important}
  #tde_parent_schedule_app .tde-v2-dancer-title h3{font-size:21px!important}
  #tde_parent_schedule_app .tde-v2-mini-empty b{font-size:12px!important;max-width:120px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row time{font-size:13px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row strong{font-size:16px!important}
  #tde_parent_schedule_app .tde-v2-itinerary-row .tde-row-genre{font-size:12px!important}
}

/* v2.23.0 punch-list functionality */

/* Header dance-style legend replaces old Month View */
#tde_parent_schedule_app .tde-v2-nav-legend{margin-right:5px}
#tde_parent_schedule_app .tde-v2-style-legend{position:relative}
#tde_parent_schedule_app .tde-v2-style-legend summary{cursor:pointer;list-style:none;border:1px solid #d8d8d8;background:#fff;padding:8px 10px;border-radius:4px;font-size:12px;font-weight:700}
#tde_parent_schedule_app .tde-v2-style-legend summary::-webkit-details-marker{display:none}
#tde_parent_schedule_app .tde-v2-style-legend>div{position:absolute;right:0;top:calc(100% + 5px);z-index:50;background:#fff;border:1px solid #ddd;border-radius:5px;padding:10px;box-shadow:0 8px 25px #0002;min-width:220px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
#tde_parent_schedule_app .tde-v2-style-legend>div span{display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}
#tde_parent_schedule_app .tde-v2-style-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
#tde_parent_schedule_app .tde-v2-style-legend i.tone-0{background:#6036c9}#tde_parent_schedule_app .tde-v2-style-legend i.tone-1{background:#e63879}#tde_parent_schedule_app .tde-v2-style-legend i.tone-2{background:#079c9a}#tde_parent_schedule_app .tde-v2-style-legend i.tone-3{background:#f4b83f}

/* Saved media inside dance/rehearsal card */
#tde_parent_schedule_app .tde-v2-media-section{border-top:1px solid #eee;padding-top:14px;margin-top:14px}
#tde_parent_schedule_app .tde-v2-video-links{display:grid;gap:7px}
#tde_parent_schedule_app .tde-v2-video-links a{display:block;text-decoration:none!important;border:1px solid #ddd;background:#fafafa;border-radius:5px;padding:10px;color:#222!important}
#tde_parent_schedule_app .tde-v2-video-links a strong,#tde_parent_schedule_app .tde-v2-video-links a span{display:block}
#tde_parent_schedule_app .tde-v2-video-links a span{font-size:11px;color:#666;margin-top:3px}
#tde_parent_schedule_app .tde-v2-detail-actions{margin-top:17px}.tde-v2-detail-actions button{background:#6036c9;color:#fff;border:0;border-radius:4px;padding:10px 13px;font-weight:700}

/* Studio / teacher / full filter tools */
#tde_parent_schedule_app .tde-v2-filter-tools{display:flex;align-items:center;gap:16px;border:1px solid #e2daf4;background:#faf8ff;padding:15px;border-radius:5px;margin-bottom:14px}
#tde_parent_schedule_app .tde-v2-filter-tools>div{margin-right:auto}#tde_parent_schedule_app .tde-v2-filter-tools span{display:block;font-size:10px;text-transform:uppercase;color:#6036c9;font-weight:800}#tde_parent_schedule_app .tde-v2-filter-tools h3{margin:3px 0 0;font-size:20px}
#tde_parent_schedule_app .tde-v2-filter-tools select{min-width:230px;padding:9px;background:#fff;border:1px solid #ccc}
#tde_parent_schedule_app .tde-v2-filter-tools button{padding:9px 12px;border:1px solid #ccc;background:#fff}
#tde_parent_schedule_app .tde-v2-filter-panel{border:1px solid #ddd;border-radius:5px;padding:14px;margin-bottom:14px}
#tde_parent_schedule_app .tde-v2-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto;gap:8px;align-items:end}
#tde_parent_schedule_app .tde-v2-filter-grid label{font-size:10px;font-weight:700;text-transform:uppercase}
#tde_parent_schedule_app .tde-v2-filter-grid select{width:100%;display:block;margin-top:4px;padding:8px;font-size:12px}
#tde_parent_schedule_app .tde-v2-filter-grid button{height:35px;border:1px solid #d71920;color:#d71920;background:#fff}
#tde_parent_schedule_app .tde-filter-day{border:1px solid #e4e4e4;border-radius:5px;overflow:hidden;margin-bottom:10px}
#tde_parent_schedule_app .tde-filter-day h4{margin:0;background:#f6f6f6;padding:8px 10px;font-size:12px;text-transform:uppercase}
#tde_parent_schedule_app .tde-filter-day button{width:100%;display:grid;grid-template-columns:120px minmax(150px,1.5fr) 110px 120px 100px;gap:10px;border:0;border-top:1px solid #eee;background:#fff;padding:10px;text-align:left;align-items:center}
#tde_parent_schedule_app .tde-filter-day time,#tde_parent_schedule_app .tde-filter-day strong,#tde_parent_schedule_app .tde-filter-day span{font-size:12px}

/* Family timeline made readable */
#tde_parent_schedule_app .tde-timeline-title{justify-content:space-between;align-items:center}
#tde_parent_schedule_app .tde-timeline-title>div:first-child h3,#tde_parent_schedule_app .tde-timeline-title>div:first-child span{display:block}
#tde_parent_schedule_app .tde-timeline-toggle{display:flex;border:1px solid #ddd;border-radius:4px;overflow:hidden}
#tde_parent_schedule_app .tde-timeline-toggle button{border:0;background:#fff;padding:7px 13px;font-size:11px;font-weight:700}
#tde_parent_schedule_app .tde-timeline-toggle button.is-active{background:#6036c9;color:#fff}
#tde_parent_schedule_app .tde-family-timeline-wrap{border:1px solid #dedede;border-radius:5px;padding:12px 12px 8px}
#tde_parent_schedule_app .tde-timeline-ruler{position:relative;height:25px;margin-left:10px;margin-right:10px;border-bottom:1px solid #ddd}
#tde_parent_schedule_app .tde-timeline-ruler span{position:absolute;transform:translateX(-50%);bottom:5px;font-size:9px;color:#666;white-space:nowrap}
#tde_parent_schedule_app .tde-v2-family-timeline{padding:12px 10px!important}
#tde_parent_schedule_app .tde-v2-family-timeline header{display:block!important;margin-bottom:7px}
#tde_parent_schedule_app .tde-v2-family-timeline header strong{display:block;font-size:13px}
#tde_parent_schedule_app .tde-v2-family-timeline header small{display:block;font-size:10px;color:#666;margin-top:2px}
#tde_parent_schedule_app .tde-v2-track{height:34px!important;border-radius:4px!important;background:#f0eef4!important;overflow:visible}
#tde_parent_schedule_app .tde-timeline-block{position:absolute;top:5px;height:24px!important;border:0;border-radius:4px;overflow:hidden;color:#fff;padding:0 4px;cursor:pointer;z-index:2}
#tde_parent_schedule_app .tde-timeline-block span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:24px;font-weight:700}
#tde_parent_schedule_app .tde-timeline-block.tone-0{background:#6036c9}#tde_parent_schedule_app .tde-timeline-block.tone-1{background:#e63879}#tde_parent_schedule_app .tde-timeline-block.tone-2{background:#079c9a}#tde_parent_schedule_app .tde-timeline-block.tone-3{background:#d99a0a}
#tde_parent_schedule_app .tde-timeline-block.is-production{background:#f4b83f;color:#3e3000}
#tde_parent_schedule_app .tde-timeline-gap{position:absolute;top:34px;transform:translateY(-2px);font-size:8px;color:#8b6100;text-align:center;white-space:nowrap;z-index:3}
#tde_parent_schedule_app .tde-timeline-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:9px;border-top:1px solid #eee}
#tde_parent_schedule_app .tde-timeline-legend span{font-size:9px}.tde-timeline-legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}
#tde_parent_schedule_app .tde-timeline-legend .tone-0:before{background:#6036c9}.tde-timeline-legend .tone-1:before{background:#e63879}.tde-timeline-legend .tone-2:before{background:#079c9a}.tde-timeline-legend .tone-3:before{background:#f4b83f}
#tde_parent_schedule_app .tde-family-list{display:grid;gap:12px}.tde-family-list-person{border:1px solid #ddd;border-radius:5px;overflow:hidden}.tde-family-list-person h4{margin:0;padding:9px 11px;background:#f8f8f8}.tde-family-list-person button{width:100%;display:grid;grid-template-columns:130px 1fr 100px;gap:10px;border:0;border-top:1px solid #eee;background:#fff;padding:9px 11px;text-align:left}.tde-family-list-person button>*{font-size:11px}

/* A/B modal */
#tde_parent_schedule_app .tde-v2-ab-list{display:grid;gap:5px;max-height:55vh;overflow:auto;margin-top:14px}.tde-v2-ab-list>div{display:flex;justify-content:space-between;gap:15px;padding:8px 10px;border:1px solid #eee;border-radius:4px}.tde-v2-ab-list span{color:#666;font-size:11px}

/* Responsive filters + timeline */
@media(max-width:900px){
 #tde_parent_schedule_app .tde-v2-filter-grid{grid-template-columns:1fr 1fr}
 #tde_parent_schedule_app .tde-v2-filter-tools{align-items:stretch;flex-direction:column}
 #tde_parent_schedule_app .tde-v2-filter-tools select{width:100%;min-width:0}
 #tde_parent_schedule_app .tde-filter-day button{grid-template-columns:105px 1fr 90px}
 #tde_parent_schedule_app .tde-filter-day button span:nth-of-type(n+2){display:none}
}
@media(max-width:760px){
 #tde_parent_schedule_app .tde-v2-nav-legend{order:4;width:100%;margin-top:5px}
 #tde_parent_schedule_app .tde-v2-style-legend summary{width:100%;text-align:center}
 #tde_parent_schedule_app .tde-v2-style-legend>div{position:static;box-shadow:none;margin-top:4px;grid-template-columns:1fr 1fr}
 #tde_parent_schedule_app .tde-timeline-ruler{overflow:hidden}
 #tde_parent_schedule_app .tde-family-timeline-wrap{overflow-x:auto}
 #tde_parent_schedule_app .tde-v2-family-timelines,#tde_parent_schedule_app .tde-timeline-ruler{min-width:680px}
 #tde_parent_schedule_app .tde-family-list-person button{grid-template-columns:105px 1fr}
 #tde_parent_schedule_app .tde-family-list-person button span{display:none}
}

/* v2.23.1 timeline slots + company-rehearsal clarity */
#tde_parent_schedule_app .tde-v2-mini-empty em{
  display:block!important;
  font-style:normal!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.3!important;
  color:#087f7c!important;
}
#tde_parent_schedule_app .tde-v2-mini-empty small{
  display:block!important;
  margin-top:4px!important;
  font-size:10px!important;
  line-height:1.25!important;
  color:#777!important;
}
#tde_parent_schedule_app .tde-v2-mini-empty b{
  color:#087f7c!important;
  font-weight:800!important;
}
#tde_parent_schedule_app .tde-v2-section-title>span{
  line-height:1.3!important;
}

/* 20-minute timeline slots */
#tde_parent_schedule_app .tde-v2-track{
  position:relative!important;
}
#tde_parent_schedule_app .tde-timeline-slot{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:1px!important;
  background:rgba(75,68,92,.13)!important;
  z-index:1!important;
  pointer-events:none!important;
}
#tde_parent_schedule_app .tde-timeline-slot.is-hour{
  background:rgba(75,68,92,.24)!important;
}
#tde_parent_schedule_app .tde-timeline-block{
  z-index:3!important;
}
#tde_parent_schedule_app .tde-timeline-gap{
  z-index:4!important;
  background:rgba(255,255,255,.86)!important;
  padding:1px 3px!important;
  border-radius:2px!important;
}

/* Full company always holds the three canonical studio lanes */
#tde_parent_schedule_app .tde-v2-company-grid{
  background:#fff!important;
}
#tde_parent_schedule_app .tde-v2-grid-row>div:empty:after{
  content:"";
  display:block;
  min-height:30px;
}
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-mini-empty em{font-size:11px!important}
  #tde_parent_schedule_app .tde-v2-mini-empty small{font-size:9px!important}
}

/* v2.23.3 actual Company Portal header */
.tde-portal-section-header.tde-v2-hidden-header,
.tde-rehearsal-calendar-header.tde-v2-hidden-header{
  display:block!important;
}
.tde-rehearsal-calendar-header{
  text-align:center!important;
  padding:26px 18px 30px!important;
  margin:0 auto 10px!important;
  background:#fff!important;
}
.tde-rehearsal-calendar-header .tde-portal-section-kicker{
  display:block!important;
  color:#e31b23!important;
  letter-spacing:4px!important;
  font-size:11px!important;
  font-weight:800!important;
  margin-bottom:7px!important;
}
.tde-rehearsal-calendar-header h2{
  margin:0!important;
  font-family:"Cormorant Garamond",Cormorant,Georgia,serif!important;
  font-size:36px!important;
  line-height:1.05!important;
  font-weight:500!important;
  color:#111!important;
}
.tde-rehearsal-calendar-header p{
  margin:8px 0 0!important;
  font-size:15px!important;
  line-height:1.4!important;
  color:#555!important;
}
.tde-rehearsal-calendar-header:after{
  content:""!important;
  display:block!important;
  width:54px!important;
  height:3px!important;
  background:#e31b23!important;
  margin:16px auto 0!important;
}

/* Individual dancer now uses the same Saturday timeline language as Family View */
#tde_parent_schedule_app .tde-v2-dancer-timeline{
  margin-top:16px!important;
}
#tde_parent_schedule_app .tde-v2-dancer-timeline .tde-v2-family-timeline{
  border:0!important;
  padding:10px!important;
}
@media(max-width:760px){
  .tde-rehearsal-calendar-header{padding:22px 12px 24px!important}
  .tde-rehearsal-calendar-header h2{font-size:32px!important}
  .tde-rehearsal-calendar-header p{font-size:14px!important}
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-family-timeline-wrap{
    overflow-x:auto!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-timeline-ruler,
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-v2-family-timeline{
    min-width:680px!important;
  }
}

/* v2.23.4 parent polish */
#tde_parent_schedule_app .tde-v2-grid-head>*{
  font-size:14px!important;
  padding:11px 10px!important;
}
#tde_parent_schedule_app .tde-v2-grid-row>time{
  font-size:14px!important;
  padding:13px 8px!important;
}
#tde_parent_schedule_app .tde-v2-grid-row>div{
  padding:7px!important;
  min-height:54px!important;
}
#tde_parent_schedule_app .tde-v2-grid-row button{
  min-height:42px!important;
  padding:8px 9px!important;
}
#tde_parent_schedule_app .tde-v2-grid-row button strong{
  font-size:14px!important;
  line-height:1.2!important;
}
#tde_parent_schedule_app .tde-v2-grid-row button span{
  font-size:12px!important;
  line-height:1.25!important;
}
#tde_parent_schedule_app .tde-v2-company-tools label{
  font-size:12px!important;
}
#tde_parent_schedule_app .tde-v2-studio-tabs button{
  font-size:12px!important;
  padding:9px 13px!important;
}
#tde_parent_schedule_app .tde-v2-company-stats strong{font-size:18px!important}
#tde_parent_schedule_app .tde-v2-company-stats span{font-size:10px!important}

/* Mobile sticky dancer/family chooser */
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-dancer-label{
    position:sticky!important;
    top:6px!important;
    z-index:90!important;
    background:#fff!important;
    padding:6px!important;
    margin:-6px!important;
    box-shadow:0 5px 14px rgba(0,0,0,.08)!important;
  }
}

/* Parent change/cancel/note indicators */
#tde_parent_schedule_app .tde-event-badge{
  display:inline-flex!important;
  margin-left:7px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  vertical-align:middle!important;
}
#tde_parent_schedule_app .tde-event-badge.is-updated{
  color:#765500!important;background:#fff3b8!important;border:1px solid #e7c84b!important;
}
#tde_parent_schedule_app .tde-event-badge.is-cancelled{
  color:#b00000!important;background:#ffe8e8!important;border:1px solid #e31b23!important;
}
#tde_parent_schedule_app .tde-event-note{
  display:inline-flex!important;
  margin-left:5px!important;
  font-size:13px!important;
  vertical-align:middle!important;
}

/* That's a wrap */
#tde_parent_schedule_app .tde-thats-a-wrap{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin:12px 0!important;padding:13px 15px!important;
  background:#faf7ff!important;border:1px solid #ded3f6!important;border-radius:8px!important;
}
#tde_parent_schedule_app .tde-thats-a-wrap>span{font-size:22px!important;color:#6036c9!important}
#tde_parent_schedule_app .tde-thats-a-wrap strong{display:block!important;font-size:15px!important}
#tde_parent_schedule_app .tde-thats-a-wrap small{display:block!important;margin-top:2px!important;font-size:12px!important;color:#555!important}

/* v2.23.5 punch-list polish */
.tde-series-id{font-weight:800;font-size:12px;white-space:nowrap}
.tde-series-edit-banner{padding:12px 14px;border:1px solid #d9c9f5;background:#faf7ff;border-radius:7px}
.tde-series-edit-banner strong,.tde-series-edit-banner small{display:block}
.tde-series-edit-banner small{margin-top:3px;color:#555}
#tde-rehearsal-studio[multiple]{min-height:118px}
#tde_parent_schedule_app .tde-v2-calendar-choice{
 position:fixed;inset:0;z-index:10020;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:20px
}
#tde_parent_schedule_app .tde-v2-calendar-choice-card{
 position:relative;width:min(430px,100%);background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.25)
}
#tde_parent_schedule_app .tde-v2-calendar-choice-card h3{margin:0 0 6px;font-size:24px}
#tde_parent_schedule_app .tde-v2-calendar-choice-card p{margin:0 0 20px;color:#555}
#tde_parent_schedule_app .tde-v2-calendar-choice-card a,
#tde_parent_schedule_app .tde-v2-calendar-choice-card [data-download-ics]{
 display:block;width:100%;box-sizing:border-box;margin-top:10px;padding:12px 14px;text-align:center;border-radius:6px;font-weight:800;text-decoration:none
}
#tde_parent_schedule_app .tde-v2-google-calendar{background:#e31b23;color:#fff}
#tde_parent_schedule_app .tde-v2-calendar-choice-card [data-download-ics]{background:#fff;border:1px solid #bbb;color:#111}
#tde_parent_schedule_app .tde-v2-mini-empty.is-class-day em{font-style:normal;font-weight:600}

/* v2.23.6 Events + weekday rehearsals + family continuity */
#tde_parent_schedule_app .tde-return-family-bar{
  margin:0 0 10px!important;
}
#tde_parent_schedule_app .tde-return-family-bar button{
  border:1px solid #d8cef0!important;
  background:#faf7ff!important;
  color:#5630b8!important;
  border-radius:6px!important;
  padding:9px 13px!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

#tde_parent_schedule_app .tde-v2-event-list{
  display:grid!important;
  gap:8px!important;
}
#tde_parent_schedule_app .tde-v2-event-card{
  width:100%!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 16px!important;
  gap:11px!important;
  align-items:center!important;
  text-align:left!important;
  padding:12px 14px!important;
  border:1px solid #ead6bd!important;
  border-left:4px solid #d99a0a!important;
  border-radius:7px!important;
  background:#fffaf1!important;
  cursor:pointer!important;
}
#tde_parent_schedule_app .tde-v2-event-icon{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  border-radius:50%!important;
  background:#fff1cf!important;
  font-size:19px!important;
}
#tde_parent_schedule_app .tde-v2-event-card small,
#tde_parent_schedule_app .tde-v2-event-card strong,
#tde_parent_schedule_app .tde-v2-event-card span{
  display:block!important;
}
#tde_parent_schedule_app .tde-v2-event-card small{
  color:#7b5a16!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}
#tde_parent_schedule_app .tde-v2-event-card strong{
  font-size:15px!important;
  margin:2px 0!important;
}
#tde_parent_schedule_app .tde-v2-event-card span{
  font-size:11px!important;
  color:#666!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event{
  background:#fff8e9!important;
  border-color:#e8c879!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event strong{
  color:#735000!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event>i{
  float:right!important;
  font-style:normal!important;
}
#tde_parent_schedule_app .tde-v2-sat-event{
  display:block!important;
  width:100%!important;
  border:1px solid #e4c76c!important;
  background:#fff8e7!important;
  color:#6d4d00!important;
  margin-top:7px!important;
  padding:6px!important;
  border-radius:4px!important;
  font-size:9px!important;
  font-weight:700!important;
}

#tde_parent_schedule_app .tde-v2-weekday-day{
  border:1px solid #e3e3e3!important;
  border-radius:6px!important;
  overflow:hidden!important;
  margin-bottom:9px!important;
}
#tde_parent_schedule_app .tde-v2-weekday-day h4{
  margin:0!important;
  padding:8px 11px!important;
  background:#f7f7f7!important;
  font-size:12px!important;
  text-transform:uppercase!important;
}
#tde_parent_schedule_app .tde-v2-weekday-day button{
  width:100%!important;
  display:grid!important;
  grid-template-columns:130px minmax(180px,1fr) minmax(150px,.8fr)!important;
  gap:12px!important;
  align-items:center!important;
  border:0!important;
  border-top:1px solid #eee!important;
  background:#fff!important;
  padding:10px 12px!important;
  text-align:left!important;
  cursor:pointer!important;
}
#tde_parent_schedule_app .tde-v2-weekday-day time{
  font-size:12px!important;
  font-weight:800!important;
}
#tde_parent_schedule_app .tde-v2-weekday-day strong{
  font-size:13px!important;
}
#tde_parent_schedule_app .tde-v2-weekday-day span{
  font-size:11px!important;
  color:#666!important;
}

/* Family week cards inherit the same identity as family cards above */
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-0{
  background:#f8f3ff!important;
  border-color:#cdbce9!important;
  border-left:4px solid var(--mock-purple)!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-0 strong,
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-0 span{
  color:#4f289c!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-1{
  background:#fff3f8!important;
  border-color:#ecc4d4!important;
  border-left:4px solid var(--mock-pink)!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-1 strong,
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-1 span{
  color:#a42059!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-2{
  background:#effcfc!important;
  border-color:#b9e1df!important;
  border-left:4px solid var(--mock-teal)!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-2 strong,
#tde_parent_schedule_app .tde-v2-mini-event.tde-family-event.family-tone-2 span{
  color:#087f7c!important;
}

#tde_parent_schedule_app .tde-v2-event-detail-icon{
  display:inline-block!important;
  font-size:30px!important;
  margin-bottom:8px!important;
}
#tde_parent_schedule_app .tde-v2-event-links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:15px!important;
}
#tde_parent_schedule_app .tde-v2-event-links a{
  display:inline-flex!important;
  padding:9px 12px!important;
  border:1px solid #ccc!important;
  border-radius:5px!important;
  text-decoration:none!important;
  font-size:11px!important;
  font-weight:800!important;
}

@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-weekday-day button{
    grid-template-columns:105px minmax(0,1fr)!important;
  }
  #tde_parent_schedule_app .tde-v2-weekday-day button span{
    grid-column:2!important;
  }
  #tde_parent_schedule_app .tde-v2-event-card{
    grid-template-columns:36px minmax(0,1fr) 12px!important;
    padding:10px!important;
  }
}

/* v2.23.7 Week-at-a-glance event hierarchy + holidays */
#tde_parent_schedule_app .tde-v2-day-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-height:94px!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:6px!important;
  align-items:start!important;
  padding:7px!important;
}
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event>i{
  float:none!important;
  display:grid!important;
  place-items:center!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  margin:0!important;
  font-style:normal!important;
  line-height:1!important;
}
#tde_parent_schedule_app .tde-mini-event-copy{
  min-width:0!important;
}
#tde_parent_schedule_app .tde-mini-event-copy b,
#tde_parent_schedule_app .tde-mini-event-copy strong,
#tde_parent_schedule_app .tde-mini-event-copy span,
#tde_parent_schedule_app .tde-mini-event-copy small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#tde_parent_schedule_app .tde-v2-day-summary{
  margin-top:2px!important;
  padding:7px 4px!important;
  text-align:center!important;
}
#tde_parent_schedule_app .tde-v2-day-summary b,
#tde_parent_schedule_app .tde-v2-day-summary span{
  display:block!important;
}
#tde_parent_schedule_app .tde-v2-day-summary b{
  font-size:12px!important;
  color:#1645bb!important;
}
#tde_parent_schedule_app .tde-v2-day-summary span{
  font-size:10px!important;
  color:#5f5f78!important;
  margin-top:2px!important;
}
#tde_parent_schedule_app .tde-v2-day-summary.is-empty b{
  color:#087f7c!important;
}
#tde_parent_schedule_app .tde-v2-sat-link{
  padding-top:0!important;
}
#tde_parent_schedule_app .tde-holiday-banner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:5px 6px!important;
  border-radius:5px!important;
  background:#fff4e8!important;
  border:1px solid #efcaa2!important;
  color:#8a4b10!important;
  text-align:center!important;
}
#tde_parent_schedule_app .tde-holiday-banner span{
  font-size:14px!important;
  line-height:1!important;
}
#tde_parent_schedule_app .tde-holiday-banner strong{
  font-size:10px!important;
  line-height:1.2!important;
}
#tde_parent_schedule_app .tde-holiday-week-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
#tde_parent_schedule_app .tde-holiday-week-list button{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 12px!important;
  border:1px solid #efcaa2!important;
  background:#fff7ee!important;
  border-radius:7px!important;
  text-align:left!important;
  cursor:pointer!important;
}
#tde_parent_schedule_app .tde-holiday-week-list button>span{
  font-size:22px!important;
}
#tde_parent_schedule_app .tde-holiday-week-list strong,
#tde_parent_schedule_app .tde-holiday-week-list small{
  display:block!important;
}
#tde_parent_schedule_app .tde-holiday-week-list small{
  color:#777!important;
  margin-top:2px!important;
}
#tde_parent_schedule_app .tde-v2-holiday-detail .tde-v2-event-detail-icon{
  font-size:36px!important;
}
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-day-stack{min-height:0!important}
}

/* v2.23.8 navigation, month view and overflow cleanup */
.tde-calendar-app,
.tde-calendar-app.tde-parent-v2-active,
#tde_parent_schedule_app{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}
#tde_parent_schedule_app .tde-v2-layout{
  grid-template-columns:210px minmax(0,1fr)!important;
  max-width:100%!important;
}
#tde_parent_schedule_app .tde-v2-main,
#tde_parent_schedule_app .tde-v2-section,
#tde_parent_schedule_app .tde-v2-week-strip{
  min-width:0!important;
  max-width:100%!important;
}
#tde_parent_schedule_app .tde-v2-week-nav{
  max-width:100%!important;
}
#tde_parent_schedule_app .tde-v2-view-switch{
  display:flex!important;
  border:1px solid #ddd!important;
  border-radius:5px!important;
  overflow:hidden!important;
}
#tde_parent_schedule_app .tde-v2-view-switch button{
  border:0!important;
  border-right:1px solid #ddd!important;
  border-radius:0!important;
  padding:8px 11px!important;
}
#tde_parent_schedule_app .tde-v2-view-switch button:last-child{border-right:0!important}
#tde_parent_schedule_app .tde-v2-view-switch button.is-active{
  background:#6036c9!important;
  color:#fff!important;
}
#tde_parent_schedule_app .tde-v2-day-mini.is-today{
  outline:2px solid #6036c9!important;
  outline-offset:-2px!important;
  background:#faf7ff!important;
}

/* Compact event inside week grid */
#tde_parent_schedule_app .tde-v2-mini-event.is-company-event{
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:start!important;
  overflow:visible!important;
}
#tde_parent_schedule_app .tde-mini-event-icon{
  display:block!important;
  width:20px!important;
  line-height:1.1!important;
  font-size:14px!important;
  margin-top:1px!important;
}
#tde_parent_schedule_app .tde-mini-event-copy{
  min-width:0!important;
  overflow:visible!important;
}
#tde_parent_schedule_app .tde-mini-event-copy strong{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:10px!important;
  line-height:1.15!important;
  color:#8d2856!important;
  overflow-wrap:anywhere!important;
}
#tde_parent_schedule_app .tde-mini-event-copy span{
  display:block!important;
  white-space:normal!important;
  font-size:9px!important;
  line-height:1.15!important;
  color:#8a5b20!important;
}
#tde_parent_schedule_app .tde-v2-event-icon{
  width:42px!important;
  height:42px!important;
  font-size:22px!important;
  background:#fff2cf!important;
}
#tde_parent_schedule_app .tde-v2-event-card>div{
  min-width:0!important;
}

/* Streamlined month */
#tde_parent_schedule_app .tde-v2-month-view{
  border:1px solid #ddd!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#tde_parent_schedule_app .tde-v2-month-head,
#tde_parent_schedule_app .tde-v2-month-week{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
}
#tde_parent_schedule_app .tde-v2-month-head span{
  padding:9px!important;
  text-align:center!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  background:#f6f6f6!important;
  border-right:1px solid #ddd!important;
}
#tde_parent_schedule_app .tde-v2-month-day{
  min-height:120px!important;
  padding:8px!important;
  border:0!important;
  border-top:1px solid #e3e3e3!important;
  border-right:1px solid #e3e3e3!important;
  background:#fff!important;
  text-align:left!important;
  cursor:pointer!important;
}
#tde_parent_schedule_app .tde-v2-month-day.is-outside{
  background:#fafafa!important;
  opacity:.55!important;
}
#tde_parent_schedule_app .tde-v2-month-day.is-today{
  box-shadow:inset 0 0 0 2px #6036c9!important;
}
#tde_parent_schedule_app .tde-v2-month-day header{
  display:flex!important;
  justify-content:space-between!important;
  gap:5px!important;
  margin-bottom:7px!important;
}
#tde_parent_schedule_app .tde-v2-month-day header>span{
  font-size:14px!important;
  font-weight:900!important;
}
#tde_parent_schedule_app .tde-v2-month-day header>b{
  font-size:8px!important;
  color:#1645bb!important;
  text-transform:uppercase!important;
}
#tde_parent_schedule_app .tde-v2-month-items{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}
#tde_parent_schedule_app .tde-v2-month-items span{
  display:block!important;
  padding:3px 5px!important;
  border-radius:4px!important;
  font-size:9px!important;
  line-height:1.2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#tde_parent_schedule_app .tde-v2-month-items .is-event{background:#fff4df!important;color:#7a4c00!important}
#tde_parent_schedule_app .tde-v2-month-items .is-holiday{background:#fff0e8!important;color:#8a4314!important}
#tde_parent_schedule_app .tde-v2-month-items .is-rehearsal{background:#f2edff!important;color:#5531a6!important}

@media(max-width:1100px){
  #tde_parent_schedule_app .tde-v2-layout{grid-template-columns:185px minmax(0,1fr)!important}
}
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-layout{grid-template-columns:1fr!important}
  #tde_parent_schedule_app .tde-v2-month-view{overflow-x:auto!important}
  #tde_parent_schedule_app .tde-v2-month-head,
  #tde_parent_schedule_app .tde-v2-month-week{min-width:700px!important}
}

/* v2.23.9 restore full-width desktop calendar */
body .tde-calendar-app,
body .tde-calendar-app.tde-parent-v2-active,
body #tde_parent_schedule_app{
  width:100%!important;
  max-width:none!important;
}
body .tde-calendar-app.tde-parent-v2-active #tde_parent_schedule_app{
  width:100%!important;
  max-width:none!important;
}
body .tde-calendar-app.tde-parent-v2-active .tde-v2-layout{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:210px minmax(0,1fr)!important;
}
body .tde-calendar-app.tde-parent-v2-active .tde-v2-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
@media(min-width:761px){
  body .tde-calendar-app.tde-parent-v2-active{
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v2.24.0 true full-width breakout from the portal content column */
@media(min-width:761px){
  body .tde-calendar-app.tde-parent-v2-active{
    width:100vw!important;
    max-width:100vw!important;
    position:relative!important;
    left:50%!important;
    right:50%!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box!important;
  }
  body .tde-calendar-app.tde-parent-v2-active #tde_parent_schedule_app{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* v2.25.29 calendar width refinement
   Pull the rehearsal calendar back from the very wide desktop treatment while
   preserving comfortable tablet and mobile space. */
#tde_parent_schedule_app{
  width:76%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.tde-construction-banner{display:none!important}
@media(max-width:1200px) and (min-width:761px){
  #tde_parent_schedule_app{width:90%!important}
}
@media(max-width:760px){
  #tde_parent_schedule_app{width:96%!important}
}

/* v2.25.2 mobile Week at a Glance alignment */
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-week-strip{align-items:stretch!important}
  #tde_parent_schedule_app .tde-v2-day-mini{display:flex!important;flex-direction:column!important;box-sizing:border-box!important}
  #tde_parent_schedule_app .tde-v2-day-stack{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important}
  #tde_parent_schedule_app .tde-v2-mini-event{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;min-height:0!important;height:auto!important;padding:7px 7px 7px 11px!important;line-height:1.15!important;overflow:hidden!important}
  #tde_parent_schedule_app .tde-v2-mini-event b,
  #tde_parent_schedule_app .tde-v2-mini-event strong,
  #tde_parent_schedule_app .tde-v2-mini-event span,
  #tde_parent_schedule_app .tde-v2-mini-event small{position:static!important;margin:0!important;padding:0!important;line-height:1.15!important;vertical-align:middle!important}
  #tde_parent_schedule_app .tde-v2-mini-event i{top:50%!important;transform:translateY(-50%)!important}
  #tde_parent_schedule_app .tde-v2-mini-event.is-company-event{display:grid!important;grid-template-columns:20px minmax(0,1fr)!important;align-items:center!important;padding:7px!important}
  #tde_parent_schedule_app .tde-v2-mini-event.is-company-event .tde-mini-event-copy{align-self:center!important;display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:100%!important}
  #tde_parent_schedule_app .tde-v2-mini-empty{box-sizing:border-box!important;justify-content:center!important}
}

/* v2.25.5 mobile Week at a Glance structural alignment
   Mini cards use an explicit icon column + text column instead of positioning text around an absolute dot. */

#tde_parent_schedule_app .tde-v2-mini-copy{
  min-width:0;
}

@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-week-strip{
    align-items:stretch!important;
  }

  #tde_parent_schedule_app .tde-v2-glance .tde-v2-day-mini{
    min-width:0!important;
    padding:6px 4px!important;
  }

  #tde_parent_schedule_app .tde-v2-glance .tde-v2-day-stack{
    width:100%!important;
    min-width:0!important;
  }

  /* Regular rehearsal bubble */
  #tde_parent_schedule_app .tde-v2-glance button.tde-v2-mini-event:not(.is-company-event){
    position:relative!important;
    display:grid!important;
    grid-template-columns:7px minmax(0,1fr)!important;
    column-gap:5px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    margin:0 0 4px!important;
    padding:6px 5px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    text-align:left!important;
  }

  #tde_parent_schedule_app .tde-v2-glance button.tde-v2-mini-event:not(.is-company-event)>i{
    position:static!important;
    display:block!important;
    align-self:center!important;
    justify-self:center!important;
    width:5px!important;
    height:5px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    transform:none!important;
    top:auto!important;
    left:auto!important;
  }

  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy{
    grid-column:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    align-self:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:static!important;
  }

  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>b,
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>strong,
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>span,
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>small{
    display:block!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    box-sizing:border-box!important;
  }

  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>b{
    font-size:7px!important;
    margin-bottom:1px!important;
  }
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>strong{
    font-size:8px!important;
    line-height:1.12!important;
  }
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>span,
  #tde_parent_schedule_app .tde-v2-glance .tde-v2-mini-copy>small{
    font-size:7px!important;
  }

  /* Company-event bubble uses the same centered text column. */
  #tde_parent_schedule_app .tde-v2-glance button.tde-v2-mini-event.is-company-event{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    column-gap:5px!important;
    align-items:center!important;
    min-height:42px!important;
    height:auto!important;
    padding:6px!important;
  }

  #tde_parent_schedule_app .tde-v2-glance button.tde-v2-mini-event.is-company-event>i{
    position:static!important;
    align-self:center!important;
    justify-self:center!important;
    margin:0!important;
    transform:none!important;
    top:auto!important;
    left:auto!important;
  }

  #tde_parent_schedule_app .tde-v2-glance button.tde-v2-mini-event.is-company-event .tde-v2-mini-copy{
    grid-column:2!important;
  }
}

/* v2.25.6 mobile Saturday itinerary card alignment
   Keep each rehearsal's time, title and genre inside its own card. */
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row{
    display:grid!important;
    grid-template-columns:8px minmax(0,1fr) 18px!important;
    grid-template-rows:auto auto auto!important;
    grid-template-areas:
      "dot time arrow"
      "dot dance arrow"
      "dot meta arrow"!important;
    column-gap:10px!important;
    row-gap:4px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 12px 11px!important;
    margin:0 0 8px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row .tde-row-dot{
    grid-area:dot!important;
    align-self:start!important;
    justify-self:center!important;
    width:6px!important;
    height:6px!important;
    margin:6px 0 0!important;
  }
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row time{
    grid-area:time!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row strong{
    grid-area:dance!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:16px!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
  }
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row .tde-row-genre{
    grid-area:meta!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
  }
  #tde_parent_schedule_app .tde-v2-saturday-section .tde-v2-itinerary-row>b{
    grid-area:arrow!important;
    display:block!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    line-height:1!important;
  }
}


/* v2.25.30 stable calendar opening + 20% narrower desktop frame
   The v2 class is rendered server-side, so legacy filters/calendar controls never flash
   before the parent calendar app initializes. The whole calendar frame, not just its
   inner mount, is now about 20% narrower than the viewport on desktop. */
@media(min-width:1201px){
  body .tde-calendar-app.tde-parent-v2-active{
    position:relative!important;
    width:80vw!important;
    max-width:1500px!important;
    left:50%!important;
    right:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:translateX(-50%)!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body .tde-calendar-app.tde-parent-v2-active #tde_parent_schedule_app{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
}
@media(min-width:761px) and (max-width:1200px){
  body .tde-calendar-app.tde-parent-v2-active{
    position:relative!important;
    width:90vw!important;
    max-width:90vw!important;
    left:50%!important;
    right:auto!important;
    margin-left:0!important;
    margin-right:0!important;
    transform:translateX(-50%)!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body .tde-calendar-app.tde-parent-v2-active #tde_parent_schedule_app{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
}
@media(max-width:760px){
  body .tde-calendar-app.tde-parent-v2-active{
    width:96%!important;
    max-width:96%!important;
    left:auto!important;
    right:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body .tde-calendar-app.tde-parent-v2-active #tde_parent_schedule_app{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
}

/* v1.10.13 fixed week navigation, readable hover states, desktop timeline focus */
@media(min-width:901px){
  #tde_parent_schedule_app .tde-v2-week-nav{
    display:grid!important;
    grid-template-columns:auto 72px 245px!important;
    align-items:center!important;
    justify-content:end!important;
    width:520px!important;
    max-width:520px!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  #tde_parent_schedule_app .tde-v2-week-arrows{
    display:grid!important;
    grid-template-columns:34px 34px!important;
    gap:4px!important;
    width:72px!important;
  }
  #tde_parent_schedule_app .tde-v2-week-arrows button{
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
  }
  #tde_parent_schedule_app .tde-v2-week-label{
    width:245px!important;
    min-width:245px!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  #tde_parent_schedule_app .tde-v2-week-label strong,
  #tde_parent_schedule_app .tde-v2-week-label span{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #tde_parent_schedule_app,
  #tde_parent_schedule_app .tde-v2-main,
  #tde_parent_schedule_app .tde-v2-dancer-timeline,
  #tde_parent_schedule_app .tde-family-saturday{
    overflow:visible!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-family-timeline-wrap,
  #tde_parent_schedule_app .tde-family-saturday .tde-family-timeline-wrap{
    position:relative!important;
    z-index:1!important;
    transition:transform .22s ease,box-shadow .22s ease,background .22s ease!important;
    transform-origin:center center!important;
    background:#fff!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-family-timeline-wrap:hover,
  #tde_parent_schedule_app .tde-family-saturday .tde-family-timeline-wrap:hover{
    transform:scale(1.16)!important;
    z-index:40!important;
    box-shadow:0 16px 38px rgba(0,0,0,.18)!important;
    border-radius:7px!important;
  }
}

#tde_parent_schedule_app .tde-v2-itinerary-row:hover strong,
#tde_parent_schedule_app .tde-v2-mini-event:hover strong,
#tde_parent_schedule_app .tde-filter-day button:hover strong,
#tde_parent_schedule_app .tde-family-list-person button:hover strong{
  color:#171717!important;
  opacity:1!important;
  visibility:visible!important;
}
#tde_parent_schedule_app .tde-v2-itinerary-row:hover,
#tde_parent_schedule_app .tde-v2-mini-event:hover,
#tde_parent_schedule_app .tde-filter-day button:hover,
#tde_parent_schedule_app .tde-family-list-person button:hover{
  color:#171717!important;
}

@media(max-width:900px){
  #tde_parent_schedule_app .tde-v2-week-nav{
    display:flex!important;
    width:auto!important;
    max-width:100%!important;
    flex-wrap:wrap!important;
  }
  #tde_parent_schedule_app .tde-v2-week-arrows{display:flex!important;gap:4px!important}
  #tde_parent_schedule_app .tde-v2-week-label{display:flex!important;gap:5px!important;align-items:center!important;min-width:0!important}
}

/* v1.10.14 stable desktop timeline focus
   The original timeline never transforms. A fixed visual clone expands above it,
   so hover cannot change page overflow or cause scroll/layout jitter. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-family-timeline-wrap,
  #tde_parent_schedule_app .tde-family-saturday .tde-family-timeline-wrap{
    transform:none!important;
    transition:box-shadow .16s ease,border-color .16s ease!important;
    will-change:auto!important;
  }
  #tde_parent_schedule_app .tde-v2-dancer-timeline .tde-family-timeline-wrap:hover,
  #tde_parent_schedule_app .tde-family-saturday .tde-family-timeline-wrap:hover{
    transform:none!important;
    z-index:1!important;
    box-shadow:0 5px 15px rgba(0,0,0,.08)!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone{
    z-index:2147482000!important;
    pointer-events:none!important;
    margin:0!important;
    transform:scale(1)!important;
    transform-origin:center center!important;
    opacity:0!important;
    background:#fff!important;
    border-radius:7px!important;
    box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
    transition:transform .18s ease,opacity .12s ease!important;
    overflow:visible!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone.is-visible{
    transform:scale(1.16)!important;
    opacity:1!important;
  }
}


#tde_parent_schedule_app .tde-special-day-banner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin-bottom:6px!important;
  padding:6px 8px!important;
  border-radius:6px!important;
  background:linear-gradient(135deg,#fff0f0 0%,#fff7ef 100%)!important;
  border:1px solid #f1c4b5!important;
  color:#b43b2d!important;
  text-align:center!important;
  box-shadow:0 6px 16px rgba(199,61,44,.10)!important;
}
#tde_parent_schedule_app .tde-special-day-banner span{
  font-size:14px!important;
  line-height:1!important;
}
#tde_parent_schedule_app .tde-special-day-banner strong{
  font-size:10px!important;
  line-height:1.25!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}


/* v2.25.56 Full Company Saturday grid: show real rehearsal length clearly. */
#tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row{
  min-height:var(--row-height,64px)!important;
  align-items:stretch!important;
}
#tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row>time{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:2px!important;
  padding-top:14px!important;
}
#tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row>time strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.05!important;
}
#tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row>time small{
  display:block!important;
  margin-top:3px!important;
  color:#777!important;
  font-size:10px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
#tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
#tde_parent_schedule_app .tde-v2-grid-row .tde-v2-duration-block{
  min-height:var(--block-height,48px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#tde_parent_schedule_app .tde-v2-company-time-range{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:3px 0 2px!important;
  color:#343434!important;
  font-size:11px!important;
  font-weight:700!important;
}
#tde_parent_schedule_app .tde-v2-company-time-range b{
  display:inline-block!important;
  padding:2px 5px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.07)!important;
  color:#555!important;
  font-size:9px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  #tde_parent_schedule_app .tde-v2-grid-row.tde-v2-duration-row{
    min-height:auto!important;
  }
  #tde_parent_schedule_app .tde-v2-grid-row .tde-v2-duration-block{
    min-height:58px!important;
  }
}


/* v1.10.18 timeline focus refinement
   Keep the desktop hover enlargement, but visually replace the original timeline
   while the fixed clone is active so families never see two timelines at once. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  #tde_parent_schedule_app .tde-family-timeline-wrap.tde-timeline-focus-source{
    opacity:0!important;
    visibility:visible!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone{
    transform-origin:center center!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone.is-visible{
    transform:scale(1.12)!important;
  }
}


/* v1.10.20 viewport-safe desktop timeline focus
   The focus view grows with real dimensions rather than transform scale, stays
   inside the browser window and exposes a usable horizontal scrollbar whenever
   the enlarged timeline is wider than the available viewport. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  .tde-timeline-focus-overflow-open{
    overflow:visible!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
    clip-path:none!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone{
    box-sizing:border-box!important;
    transform:none!important;
    transform-origin:center center!important;
    pointer-events:auto!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable both-edges!important;
    overscroll-behavior:contain!important;
    padding:14px 14px 12px!important;
    opacity:0!important;
    background:#fff!important;
    border:1px solid #d8d8d8!important;
    border-radius:8px!important;
    box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
    transition:opacity .12s ease!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone.is-visible{
    transform:none!important;
    opacity:1!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-inner{
    min-height:100%!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone .tde-timeline-ruler span{
    font-size:10px!important;
  }
  #tde_parent_schedule_app .tde-timeline-focus-clone .tde-timeline-block span{
    font-size:10px!important;
  }
}


/* v1.10.21 centered desktop timeline focus
   Render the focused timeline at the viewport level, centered over the page.
   The inner timeline stays intentionally wider than the focus window so the
   browser-native horizontal scrollbar remains visible and fully interactive. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  body > .tde-timeline-focus-clone{
    box-sizing:border-box!important;
    z-index:2147483000!important;
    margin:0!important;
    padding:16px 16px 18px!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;
    pointer-events:auto!important;
    overflow-x:scroll!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable!important;
    overscroll-behavior:contain!important;
    opacity:0!important;
    background:#fff!important;
    border:1px solid #d8d8d8!important;
    border-radius:9px!important;
    box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
    transition:opacity .12s ease!important;
  }
  body > .tde-timeline-focus-clone.is-visible{
    opacity:1!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-focus-inner{
    box-sizing:border-box!important;
    min-height:100%!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-ruler,
  body > .tde-timeline-focus-clone .tde-v2-family-timelines,
  body > .tde-timeline-focus-clone .tde-v2-family-timeline{
    width:100%!important;
    max-width:none!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-ruler span{
    font-size:10px!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block span{
    font-size:10px!important;
  }
  body > .tde-timeline-focus-clone::-webkit-scrollbar{
    height:14px!important;
    width:12px!important;
  }
}


/* v1.10.22 centered timeline focus: preserve the real portal timeline styling.
   The focus clone lives directly under <body> so it cannot be clipped by the
   theme, which means it no longer inherits rules scoped beneath
   #tde_parent_schedule_app. Mirror the actual timeline presentation here so
   the centered viewer keeps its colors, 20-minute markers and break labels. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  body > .tde-timeline-focus-clone{
    --red:#e31b23;
    --ink:#171717;
    --muted:#747474;
    --line:#e6e6e6;
    --purple:#5d35c7;
    --pink:#eb3b79;
    --teal:#0b9b9a;
    --gold:#f2b638;
    --mock-purple:#6036c9;
    --mock-pink:#e63879;
    --mock-teal:#079c9a;
    --mock-yellow:#f4b83f;
    font-family:"Montserrat","Avenir Next","Segoe UI",Arial,sans-serif!important;
    color:var(--ink)!important;
    font-size:12px!important;
  }
  body > .tde-timeline-focus-clone,
  body > .tde-timeline-focus-clone *{
    box-sizing:border-box!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-focus-inner{
    padding:0!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-ruler{
    position:relative!important;
    height:25px!important;
    margin:0 10px!important;
    border-bottom:1px solid #ddd!important;
    overflow:visible!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-ruler span{
    position:absolute!important;
    transform:translateX(-50%)!important;
    bottom:5px!important;
    font-size:10px!important;
    line-height:1!important;
    color:#666!important;
    white-space:nowrap!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timelines{
    border:1px solid var(--line)!important;
    border-radius:7px!important;
    overflow:visible!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timeline{
    padding:12px 10px 18px!important;
    border-bottom:1px solid var(--line)!important;
    background:#fff!important;
    overflow:visible!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timeline:last-child{
    border-bottom:0!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timeline header{
    display:block!important;
    margin:0 0 7px!important;
    color:#171717!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timeline header strong{
    display:block!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:800!important;
    color:#171717!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-family-timeline header small{
    display:block!important;
    margin-top:2px!important;
    font-size:10px!important;
    line-height:1.25!important;
    font-weight:400!important;
    color:#666!important;
  }
  body > .tde-timeline-focus-clone .tde-v2-track{
    position:relative!important;
    height:44px!important;
    margin:0!important;
    background:#f0eef4!important;
    border-radius:4px!important;
    overflow:visible!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-slot{
    position:absolute!important;
    top:0!important;
    bottom:10px!important;
    width:1px!important;
    height:auto!important;
    background:rgba(75,68,92,.13)!important;
    border-radius:0!important;
    z-index:1!important;
    pointer-events:none!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-slot.is-hour{
    background:rgba(75,68,92,.24)!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block{
    position:absolute!important;
    top:5px!important;
    height:24px!important;
    min-height:24px!important;
    margin:0!important;
    padding:0 4px!important;
    border:0!important;
    border-radius:4px!important;
    box-shadow:none!important;
    overflow:hidden!important;
    color:#fff!important;
    text-align:center!important;
    cursor:default!important;
    z-index:3!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block span{
    display:block!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:10px!important;
    line-height:24px!important;
    font-weight:700!important;
    color:inherit!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block.tone-0{background:#6036c9!important;color:#fff!important}
  body > .tde-timeline-focus-clone .tde-timeline-block.tone-1{background:#e63879!important;color:#fff!important}
  body > .tde-timeline-focus-clone .tde-timeline-block.tone-2{background:#079c9a!important;color:#fff!important}
  body > .tde-timeline-focus-clone .tde-timeline-block.tone-3{background:#d99a0a!important;color:#fff!important}
  body > .tde-timeline-focus-clone .tde-timeline-block.is-production{background:#f4b83f!important;color:#3e3000!important}
  body > .tde-timeline-focus-clone .tde-timeline-gap{
    position:absolute!important;
    top:32px!important;
    transform:none!important;
    margin:0!important;
    padding:1px 3px!important;
    border-radius:2px!important;
    background:rgba(255,255,255,.92)!important;
    color:#8b6100!important;
    font-size:8px!important;
    line-height:1.2!important;
    font-weight:500!important;
    text-align:center!important;
    white-space:nowrap!important;
    z-index:4!important;
  }
}

/* v1.10.23 focused timeline usability: high-contrast horizontal scrollbar
   and clickable rehearsal blocks that open the normal dance detail card. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  body > .tde-timeline-focus-clone{
    scrollbar-color:#555 #ececec!important;
    scrollbar-width:auto!important;
  }
  body > .tde-timeline-focus-clone::-webkit-scrollbar{
    height:16px!important;
    width:12px!important;
  }
  body > .tde-timeline-focus-clone::-webkit-scrollbar-track{
    background:#ececec!important;
    border-radius:999px!important;
    box-shadow:inset 0 0 0 1px #d2d2d2!important;
  }
  body > .tde-timeline-focus-clone::-webkit-scrollbar-thumb{
    background:#555!important;
    border:3px solid #ececec!important;
    border-radius:999px!important;
  }
  body > .tde-timeline-focus-clone::-webkit-scrollbar-thumb:hover{
    background:#2f2f2f!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block{
    cursor:pointer!important;
    pointer-events:auto!important;
  }
  body > .tde-timeline-focus-clone .tde-timeline-block:hover{
    filter:brightness(.94)!important;
    box-shadow:0 0 0 2px rgba(0,0,0,.12)!important;
  }
}
