.empty-state{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:3rem 1rem;color:#777}.empty-state b{color:#222}.duplicate-dialog{width:min(520px,calc(100% - 2rem));border:0;border-radius:1rem;padding:0;box-shadow:0 1.5rem 5rem #0005}.duplicate-dialog::backdrop{background:#111b;backdrop-filter:blur(3px)}.duplicate-dialog>form{padding:1.75rem}.dialog-close{border:0;background:transparent;font-size:2rem;line-height:1;color:#777}.workout-filters{padding:1rem;background:#f7f6f2;border-radius:.75rem}.table td{padding-top:.9rem;padding-bottom:.9rem}
.draft-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff8db;border-color:#ead788}.draft-banner[hidden]{display:none!important}@media(max-width:575px){.draft-banner{align-items:flex-start;flex-direction:column}.draft-banner>div:last-child{width:100%}.draft-banner .btn{flex:1}}
.error-page{max-width:680px;margin-top:8vh}.error-page p{max-width:500px}.error-code{font-size:5rem;font-weight:900;line-height:1;color:var(--brand);letter-spacing:-.08em}
.action-card.schedule-card{background:#fff;color:#111;border:2px solid #111}.class-schedule-list{display:flex;flex-direction:column;gap:.65rem}.class-schedule-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #e6e4dd;border-radius:.75rem}.class-schedule-row.inactive{opacity:.58}.class-day{display:flex;flex-direction:column}.class-day b{font-size:.72rem;letter-spacing:.14em;color:#8c7100}.class-day span{font-weight:900;font-size:1.05rem}.class-details{display:flex;min-width:0;flex-direction:column}.class-details span{font-size:.78rem;color:#777}.class-actions{display:flex;gap:.4rem}.class-actions form{margin:0}@media(max-width:767px){.class-schedule-row{grid-template-columns:1fr auto}.class-details{grid-column:1/-1;grid-row:2}.class-actions{grid-column:1/-1}.app-nav .container{gap:.6rem}.app-nav .d-flex{flex-wrap:wrap;justify-content:flex-end}}
.schedule-days{display:flex;gap:.35rem;padding:.35rem;border:1px solid #dedbd2;border-radius:.85rem;background:#eae8e1;overflow-x:auto}.schedule-days a{display:flex;flex:1;min-width:88px;align-items:center;justify-content:center;gap:.38rem;padding:.72rem .6rem;border-radius:.58rem;color:#575a60;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.schedule-days a:hover{background:#fff;color:#111}.schedule-days a.active{background:#111;color:#fff;box-shadow:0 .25rem .8rem #1113}.schedule-days b{font-size:.76rem;letter-spacing:.08em}.schedule-days span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 .32rem;border-radius:1rem;background:#1111;font-size:.65rem;font-weight:800}.schedule-days a.active span{background:var(--brand);color:#111}.clone-day{display:grid;grid-template-columns:minmax(160px,1fr) minmax(260px,2fr) auto;align-items:center;gap:1rem}.clone-day>div:first-child{display:flex;flex-direction:column}.clone-day span{font-size:.72rem;color:#777}.clone-targets{display:flex;flex-wrap:wrap;gap:.45rem}.clone-targets label{padding:.45rem .6rem;border-radius:.45rem;background:#f3f2ee;font-size:.75rem;font-weight:700}.mt-n2{margin-top:-.5rem}@media(max-width:991px){.clone-day{grid-template-columns:1fr}.clone-day .btn{justify-self:start}}
.live-preview-wrap{position:sticky;top:1.5rem}.live-preview{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--preview-dark);color:var(--preview-light);border-radius:.6rem;box-shadow:0 1rem 3rem #1112}.preview-photo,.preview-overlay{position:absolute;inset:0}.preview-photo{background-image:var(--preview-photo);background-size:cover;background-position:center;transform:translate(calc(var(--preview-photo-x,0) * 1%),calc(var(--preview-photo-y,0) * 1%)) scale(var(--preview-photo-zoom,1));transform-origin:center}.preview-overlay{background:linear-gradient(110deg,color-mix(in srgb,var(--preview-dark) 96%,transparent),color-mix(in srgb,var(--preview-dark) 72%,transparent))}.preview-content{position:absolute;inset:0;padding:6.5%;display:flex;flex-direction:column}.preview-content>header{display:flex;align-items:center;justify-content:space-between;font-size:.56rem;font-weight:800;letter-spacing:.08em}.preview-brand{display:flex;align-items:center;gap:.45rem;text-transform:uppercase}.preview-brand img,.preview-brand>b{width:28px;height:28px;object-fit:contain}.preview-brand>b{display:grid;place-items:center;background:var(--preview-primary);color:var(--preview-dark)}.preview-heading{margin:8% 0 5%}.preview-heading small{font-size:.5rem;font-weight:900;letter-spacing:.24em;color:var(--preview-primary)}.preview-heading h3{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:900;line-height:.82;text-transform:uppercase;margin:.35rem 0}.preview-heading>span{display:block;color:var(--preview-primary);font-size:.6rem;font-weight:900;text-transform:uppercase}.preview-content main{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;flex:1;min-height:0}.preview-content main section{padding:.55rem;background:color-mix(in srgb,var(--preview-dark) 87%,transparent);border-top:3px solid var(--preview-primary);overflow:hidden}.preview-content main section:last-child:nth-child(odd){grid-column:1/-1}.preview-section-title{display:flex;gap:.4rem;align-items:baseline;margin-bottom:.45rem;text-transform:uppercase}.preview-section-title b{font-size:.8rem;color:var(--preview-primary)}.preview-section-title span{font-size:.66rem;font-weight:900}.preview-movements{display:flex;flex-direction:column;gap:.2rem}.preview-movements>div{display:grid;grid-template-columns:32% 1fr;gap:.25rem;text-transform:uppercase}.preview-movements b{font-size:.48rem;color:var(--preview-primary)}.preview-movements span{font-size:.5rem;font-weight:700;line-height:1.1}.preview-content footer{display:flex;justify-content:space-between;margin-top:4%;padding-top:3%;border-top:1px solid #ffffff40;font-size:.42rem;letter-spacing:.1em;text-transform:uppercase}.preview-athlete .preview-overlay{background:linear-gradient(90deg,var(--preview-dark) 0 55%,color-mix(in srgb,var(--preview-dark) 45%,transparent))}.preview-competition .preview-content main section{border:1px solid #ffffff30;border-top:3px solid var(--preview-primary)}.preview-special .preview-heading h3{font-style:italic}.preview-warning{display:flex;flex-direction:column;padding:.8rem 1rem;border-radius:.5rem;background:#fff1d3;color:#6e4a00;font-size:.8rem}.preview-warning span{font-size:.72rem;margin-top:.2rem}@media(max-width:1199px){.live-preview-wrap{position:static;max-width:520px;margin:1rem auto 0}}
