:root{--purple:#341252;--teal:#06999d;--gold:#c6a15e;--ink:#30233d;--muted:#83788c;--line:#eee9f1}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:var(--ink);font:15px/1.8 Tahoma,Arial,sans-serif}a{color:var(--teal);text-decoration:none}button,.button{border:0;border-radius:10px;background:var(--teal);color:white;padding:11px 22px;cursor:pointer;font:inherit;display:inline-block}button:hover,.button:hover{filter:brightness(.94)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3,p{margin:0 0 15px}h1{font-size:29px}h2{font-size:23px}small{display:block;color:var(--muted)}.eyebrow{font-size:12px;color:var(--teal)}.muted{color:var(--muted)}aside{position:fixed;right:0;top:0;bottom:0;width:245px;background:white;border-left:1px solid var(--line);padding:25px 18px;display:flex;flex-direction:column}.identity{text-align:center;color:var(--purple)}.identity img{display:block;width:115px;height:115px;object-fit:contain;margin:0 auto 9px}.identity strong{display:block;font-size:21px}.identity small{font-size:10px}.navlabel{font-size:11px;color:var(--muted);margin:40px 14px 10px}nav a{display:block;padding:12px 17px;margin-bottom:7px;border-radius:10px;color:#71657c}nav a.active{background:#e9f7f5;color:#047e83;font-weight:bold;border-right:3px solid var(--teal)}.asidefoot{margin-top:auto;padding:20px 13px 0;border-top:1px solid var(--line)}.ghost{background:#f0f5f5;color:var(--teal);padding:7px 14px}.asidefoot .ghost{margin-top:12px}.workspace{margin-right:245px;padding:30px 4vw;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h1{margin:5px 0}header>.muted{font-size:12px}.welcome{background:var(--purple);color:white;border-radius:20px;padding:32px 38px;display:flex;justify-content:space-between;margin-bottom:25px;border-bottom:4px solid var(--gold)}.welcome .eyebrow{color:#d8bd87}.welcome h2{font-size:31px;margin:9px 0}.welcome p{color:#dfd7e7}.motif{font-size:115px;color:var(--gold);line-height:1.3;text-align:center;padding:0 30px}.motif small{font-size:12px;color:#d8bd87}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stats article{background:white;border:1px solid var(--line);padding:20px;border-radius:14px}.stats span{color:var(--muted)}.stats strong{display:block;font-size:32px;color:var(--purple);margin-top:6px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:25px;margin-bottom:24px}.lessonrow{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:17px 0}.avatar{height:42px;width:42px;border-radius:12px;background:#e9f6f4;color:var(--teal);display:grid;place-items:center}.lessonrow time{margin-right:auto;font-size:13px}.badge{background:#eaf7ef;color:#48865a;border-radius:30px;padding:4px 14px;font-size:11px}.gridform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:bold}input,select,textarea{width:100%;border:1px solid #ddd6e3;border-radius:9px;padding:11px;background:#fcfcfd;font:inherit;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #83d7d4}input[type=email],input[type=password],input[type=url],input[type=datetime-local]{direction:ltr}textarea{min-height:100px;resize:vertical}.wide{grid-column:1/-1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}th{font-size:12px;color:var(--muted);background:#faf9fc;font-weight:normal}td,th{padding:15px;border-bottom:1px solid var(--line)}td{font-size:13px}td small{font-size:11px}.inline{display:flex;gap:6px}.danger{background:none;color:#b44b57;padding:3px 0;font-size:11px}.error{background:#fff0ee;color:#a43931;padding:13px 18px;border-radius:10px;margin-bottom:20px}.empty{text-align:center;color:var(--muted);padding:35px}footer{text-align:center;color:#a99fb1;font-size:11px;margin:28px 0}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1100px;margin:auto;padding:40px;gap:80px}.brand img{width:200px;display:block;margin-bottom:20px}.brand h1{font-size:42px;color:var(--purple);line-height:1.6}.brand p{color:var(--muted)}.login form{display:grid;gap:20px}.login .panel{padding:35px;border-top:4px solid var(--gold)}.report{background:white;border:2px solid var(--gold);border-radius:22px;text-align:center;max-width:800px;margin:25px auto;padding:28px 38px}.report>img{width:105px;display:block;margin:auto}.report h2{font-size:36px;color:var(--purple);margin:8px}.reportfacts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bbe2df;background:#f0faf9;border-radius:12px;padding:20px 8px;margin:25px 0;font-size:12px;color:var(--teal)}.reportfacts strong{display:block;color:var(--purple);font-size:18px}.report h3{background:var(--purple);color:white;padding:7px;border-radius:9px;font-size:20px;margin-top:20px}.reporttext{text-align:right;line-height:2.5;padding:10px 20px}.level{color:var(--teal);font-size:28px}.blessing{color:var(--gold);margin:10px}.report button{margin-top:15px}@media(max-width:1000px){aside{width:200px}.workspace{margin-right:200px;padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.gridform{grid-template-columns:repeat(2,minmax(0,1fr))}.motif{display:none}.login{gap:30px}.reportfacts{grid-template-columns:repeat(2,1fr);gap:15px}}@media(max-width:700px){aside{position:static;width:auto;padding:14px}.identity img{width:60px;height:60px}.identity small,.navlabel,.asidefoot small{display:none}nav{display:flex;flex-wrap:wrap;gap:4px;margin-top:15px}nav a{font-size:12px;padding:7px}.asidefoot{display:flex;align-items:center;justify-content:space-between;margin:5px 0 0;padding:8px}.asidefoot .ghost{margin:0}.workspace{margin:0;padding:18px}header{align-items:start}.welcome{padding:23px}.welcome h2{font-size:25px}.panel{padding:18px}.gridform{grid-template-columns:1fr}.login{display:block;padding:25px}.brand{text-align:center}.brand img{width:120px;margin:0 auto 15px}.brand h1{font-size:29px}.brand h1 br{display:none}.login .panel{padding:25px;margin-top:25px}.lessonrow{flex-wrap:wrap}.report{padding:20px}.stats{gap:10px}.stats article{padding:16px}}@media print{body{background:white}aside,header,footer,.noprint,.report:not(.printing){display:none!important}.workspace{margin:0;padding:0}.report.printing{display:block;border-radius:0;margin:0;max-width:none;break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4;margin:12mm}}

/* Motion and group workspace */
.identity img,.brand img{animation:logo-float 5s ease-in-out infinite;filter:drop-shadow(0 6px 7px #34125212)}
.workspace>.panel,.workspace>.welcome,.workspace>.stats,.login>.panel{animation:content-in .5s ease-out both}
button,.button,nav a,.group-card{transition:transform .2s,box-shadow .2s,background .2s}
button:hover,.button:hover{transform:translateY(-2px)}
.group-card:hover{box-shadow:0 10px 25px #3412520c}
aside{overflow-y:auto}.asidefoot{padding-bottom:12px}nav a{padding-top:9px;padding-bottom:9px}.navlabel{margin-top:22px}
.splash{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#fff;pointer-events:none;animation:splash-exit .5s ease 1.4s forwards}
.splash-inner{text-align:center;animation:content-in .65s ease-out}.splash img{width:min(230px,50vw);display:block;margin:auto auto 18px;animation:splash-logo 1.4s ease-in-out}
.splash strong{display:block;color:var(--purple);font-size:28px}.splash span{display:block;color:var(--teal);margin-top:8px}
.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.group-card{padding:22px;border:1px solid var(--line);border-radius:15px;background:#fdfcfe;border-top:3px solid var(--gold)}
.group-card h3{font-size:23px;color:var(--purple);margin-top:8px}.group-card p{font-size:13px}.member-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.member-chips span{border-radius:20px;background:#e9f7f5;color:#047e83;padding:4px 12px;font-size:12px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.actions .button{font-size:12px;padding:9px 14px}.member-picker{border:1px solid var(--line);border-radius:12px;padding:18px}.member-picker legend{padding:0 10px;color:var(--purple)}.member-option{display:inline-flex;flex-direction:row;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:10px;margin:5px;cursor:pointer}.member-option input{width:18px;height:18px;accent-color:var(--teal)}.member-option[hidden]{display:none}.member-option small{font-weight:normal}.share-report{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.share-report textarea{line-height:2;min-height:230px;background:#f2faf9}.whatsapp{background:#16874d}.month-filter{align-items:end;max-width:420px;margin:20px 0 24px}.month-filter label{flex:1}.month-filter button{white-space:nowrap}#copy-status{font-size:13px;color:var(--teal);margin-top:12px}
@keyframes logo-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes content-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-logo{0%{opacity:0;transform:scale(.8) rotate(-5deg)}45%,80%{opacity:1;transform:scale(1) rotate(0)}100%{transform:scale(1.03)}}@keyframes splash-exit{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.splash{display:none}}
@media print{.splash{display:none!important}*{animation:none!important;transform:none!important}}

/* Academy motion */
.identity img,.brand img,.report>img{animation:academy-logo 4s ease-in-out infinite;transform-origin:center;filter:drop-shadow(0 8px 10px #34125218)}
.stats article{animation:content-in .65s ease-out both}.stats article:nth-child(2){animation-delay:.08s}.stats article:nth-child(3){animation-delay:.16s}.stats article:nth-child(4){animation-delay:.24s}
.lessonrow,.group-card{animation:content-in .6s ease-out both}
nav a:hover{transform:translateX(-4px);background:#f0f8f7}.panel{transition:box-shadow .25s}.panel:hover{box-shadow:0 5px 24px #34125206}
.splash{background:radial-gradient(ellipse at 20% 20%,#e8f8f6,transparent 55%),radial-gradient(ellipse at 80% 80%,#f3edf8,transparent 55%),#fff;animation:splash-exit .55s ease 1.65s forwards}
.splash-mark{position:relative;width:min(245px,60vw);aspect-ratio:1;margin:0 auto 24px;padding:22px}
.splash-mark:before,.splash-mark:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:50%;border-top-color:var(--teal);border-bottom-color:var(--gold);animation:orbit 2.3s linear infinite}
.splash-mark:after{inset:9px;border-top-color:var(--purple);border-bottom-color:transparent;animation-direction:reverse;animation-duration:3.4s}
.splash .splash-mark img{width:100%;height:100%;object-fit:contain;border-radius:50%;margin:0;animation:logo-reveal 1.8s ease both;box-shadow:0 10px 40px #34125212}
.splash strong{animation:content-in .7s .15s ease both}.splash span{animation:content-in .7s .3s ease both}.splash-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.splash-dots i{width:7px;height:7px;background:var(--teal);border-radius:50%;animation:dot-bounce .9s ease-in-out infinite}.splash-dots i:nth-child(2){background:var(--gold);animation-delay:.15s}.splash-dots i:nth-child(3){background:var(--purple);animation-delay:.3s}
@keyframes academy-logo{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-7px) rotate(2deg) scale(1.04)}}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes logo-reveal{0%{opacity:0;transform:scale(.65) rotate(-14deg)}45%{opacity:1;transform:scale(1.05) rotate(2deg)}75%,100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes dot-bounce{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-7px);opacity:1}}
@media(prefers-reduced-motion:reduce){.splash{display:none}.identity img,.brand img,.report>img,.stats article,.lessonrow,.group-card{animation:none!important}nav a:hover{transform:none}}
@media print{.identity img,.brand img,.report>img,.stats article,.lessonrow,.group-card{animation:none!important;transform:none!important}.splash{display:none!important}}
.teacher-card{margin-top:20px}.sectionhead{display:flex;justify-content:space-between;gap:15px;align-items:start}.teacher-card details{border-top:1px solid var(--line);padding-top:12px}.teacher-card summary{cursor:pointer}.teacher-card details[open] summary{margin-bottom:10px}

.illustrated-report{background:radial-gradient(ellipse at 10% 5%,#bfe7fa88,transparent 45%),linear-gradient(160deg,#e8f8ff,#fafdff 45%,#dcf2ff);border:3px double #4388ae;color:#1e4d76;padding:26px 32px;position:relative;overflow:hidden;box-shadow:0 10px 30px #20649b12}
.report-decoration{display:flex;justify-content:space-between;color:#358bb2;font-size:34px;margin-bottom:-20px}.report-emblem{border:2px solid #5ba2b5;background:linear-gradient(135deg,#f3fcff,#b6dbe6);border-radius:45% 45% 22% 22%;width:150px;padding:12px;margin:0 auto 15px;box-shadow:0 4px 14px #2c678b22}.report-emblem img{width:85px;height:85px;object-fit:contain;display:block;margin:auto;border-radius:12px}.report-emblem small{font-weight:bold;color:#225d78;font-size:13px}
.illustrated-report .ribbon{background:linear-gradient(100deg,#2363a5,#0e8090,#235fa4);color:white;border:3px double #9ed7ef;border-radius:24px 8px 24px 8px;box-shadow:0 4px 0 #83bed655;padding:7px 25px;margin:22px auto 18px;max-width:90%}.illustrated-report h2.ribbon{font-size:40px}.report-month{font-size:13px;margin-top:-10px;color:#417c9b}
.illustrated-report .reportfacts{border:2px solid #74accb;background:#f0fbffd9;color:#36769c;margin:20px -12px 28px;box-shadow:0 5px 0 #8cc9e933}.illustrated-report .reportfacts>div{border-left:1px solid #9ec4da;padding:0 8px}.illustrated-report .reportfacts>div:last-child{border:0}.illustrated-report .reportfacts strong{color:#153c67;font-size:21px;overflow-wrap:anywhere}
.achievement-intro{font-size:22px;font-weight:bold;border-bottom:1px solid #8fbacf;padding-bottom:12px}.achievement-list{text-align:right;list-style:none;counter-reset:achievement;padding:0;margin:15px 0 24px}.achievement-list li{counter-increment:achievement;position:relative;padding:8px 51px 8px 12px;font-size:20px;font-weight:bold;white-space:pre-wrap;overflow-wrap:anywhere}.achievement-list li:before{content:counter(achievement);position:absolute;right:0;top:7px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:white;background:linear-gradient(135deg,#4aafde,#225a9f);box-shadow:0 3px 5px #3471a333}
.revision-strip{display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(90deg,#d4efff,#9ed4f4);border:1px solid #64a3c9;border-radius:30px;padding:10px 18px;font-size:20px;font-weight:bold}.revision-strip p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.revision-strip>span{font-size:28px}.illustrated-report .level{color:#195487;font-size:32px;background:#cceaff;display:inline-block;padding:0 30px;border-radius:18px}.illustrated-report .blessing{color:#215c8e;font-weight:bold;font-size:22px;white-space:pre-wrap}.report-actions{background:#ffffffd9;border-radius:13px;padding:18px;margin-top:28px}.report-actions .actions{justify-content:center}.report-actions button{font-size:12px}.group-report-link{display:inline-block;margin:12px}.report-editor{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.member-chips a{border-radius:20px;background:#e9f7f5;padding:4px 12px;font-size:12px}
@media(max-width:700px){.illustrated-report{padding:18px 14px}.illustrated-report h2.ribbon{font-size:30px}.illustrated-report .reportfacts{margin:15px 0}.illustrated-report .reportfacts strong{font-size:17px}.achievement-list li{font-size:17px}.achievement-intro,.revision-strip,.illustrated-report .blessing{font-size:18px}}
@media print{.illustrated-report{border:2px solid #4388ae;box-shadow:none}.report-emblem img{animation:none!important}.achievement-list li{break-inside:avoid}.illustrated-report .ribbon{break-after:avoid}}

.batch-students{margin:20px 0}.batch-student{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.batch-choice{display:flex;flex-direction:row;align-items:center;gap:12px}.batch-choice input{width:19px;height:19px;accent-color:var(--teal)}.batch-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:22px}.batch-previews figure{margin:0;border:1px solid var(--line);border-radius:12px;padding:10px;background:#f5fbff;text-align:center}.batch-previews img{width:100%;height:250px;object-fit:contain}.batch-previews figcaption{font-size:12px;margin-top:8px}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}#batch-status{color:var(--teal);margin:18px 0}

.period-fields{display:flex;gap:16px;flex-wrap:wrap;align-items:end}.period-fields [data-period-kind]:not([hidden]){display:flex;gap:16px;flex-wrap:wrap}.period-fields [hidden]{display:none}

.wa-destination {margin:16px 0;padding:16px;border:1px solid #bed8cb;border-radius:12px;background:#f5faf7;}
.wa-destination [hidden] {display:none!important;}

.availability-success {padding:12px 16px;border-radius:10px;background:#e7f5ec;color:#205c3b;}
.availability-cards {display:grid;gap:16px;}
.availability-card[hidden] {display:none!important;}
.availability-card h3 {margin:0;}
.availability-card .actions {gap:8px;flex-wrap:wrap;}
.availability-form input[type="time"] {direction:ltr;}
@media(max-width:640px){.availability-form{grid-template-columns:1fr;}.availability-card{padding:14px;}}

/* The same academy palette is used in preview, print and PNG. */
.academy-report.illustrated-report{background:#fff;border:2px solid var(--gold);border-radius:30px;color:var(--ink);padding:30px;box-shadow:0 0 0 12px #fbfaf7;}
.academy-report .report-emblem{background:white;border:0;box-shadow:none;width:180px;padding:0;margin:0 auto 18px;border-radius:0;}
.academy-report .report-emblem img{width:170px;height:170px;object-fit:contain;border-radius:0;}
.academy-report .academy-name{color:var(--purple);font-size:35px;margin:10px 0 22px;}
.academy-report h3.ribbon{background:var(--teal);border:0;box-shadow:none;border-radius:28px;font-size:23px;color:white;padding:10px 20px;}
.academy-report .report-month{color:var(--muted);margin:12px 0;padding-bottom:16px;border-bottom:2px dashed var(--gold);}
.academy-report .reportfacts{background:#f5f9f9;border:1px solid #e3d7c0;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;text-align:right;margin:20px 0;padding:18px;gap:16px;}
.academy-report .reportfacts>div{border:0;color:var(--purple);}
.academy-report .reportfacts strong{color:var(--ink);font-size:18px;}
.academy-report-section{text-align:right;border-bottom:1px solid var(--line);padding:16px 8px;overflow-wrap:anywhere;break-inside:avoid;}
.academy-report-section h4{color:var(--teal);font-size:19px;margin:0 0 8px;}
.academy-report-section p{white-space:pre-wrap;line-height:1.9;margin:0;}
.academy-report-section.next-work{border:1px dashed var(--gold);background:#faf7ef;padding:18px;border-radius:15px;margin:16px 0;}
.academy-report-footer{border-top:1px solid var(--gold);color:var(--purple);margin-top:24px;padding-top:18px;font-weight:bold;}
[data-report-for][hidden]{display:none!important;}
@media(max-width:700px){.academy-report.illustrated-report{padding:20px 14px;}.academy-report .academy-name{font-size:28px;}.academy-report .reportfacts{grid-template-columns:1fr;}}
@media print{.academy-report.illustrated-report{box-shadow:none;}.academy-report .reportfacts{grid-template-columns:1fr 1fr;}.academy-report .report-actions{display:none!important;}}

.academy-report-tagline{display:block;text-align:center;color:var(--purple);font-size:15px;font-weight:bold;padding:8px 0 4px;margin:12px auto 0;}
@media print{.academy-report-tagline{color:var(--purple);text-decoration:none;}}

.trial-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:14px;background:#faf7ef;border:1px solid var(--gold);border-radius:10px;}.trial-option input{width:20px;height:20px;accent-color:var(--teal);}.trial-report-badge{display:table;margin:12px auto 18px;padding:6px 28px;background:#faf7ef;border:1px solid var(--gold);border-radius:24px;color:var(--purple);font-size:20px;font-weight:bold;}

.schedule-days{border:1px solid var(--line);border-radius:12px;padding:14px;}.schedule-days label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;padding:10px;margin:4px;border-radius:8px;background:#f0faf9;}.schedule-days input{width:18px;height:18px;accent-color:var(--teal);}

.schedule-students{border:1px solid var(--line);border-radius:12px;padding:14px;max-height:360px;overflow:auto;}.schedule-students>label{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:5px;padding:10px;background:#f0faf9;border-radius:8px;}.schedule-students input{width:18px;height:18px;accent-color:var(--teal);}

/* Gentle interaction and entrance motion. */
@media (prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth;}
 nav a,button,.button,.member-chips a,.group-report-link{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,filter .18s ease;}
 button:not(:disabled):active,.button:active{transform:scale(.97);}
 button:disabled{cursor:wait;}
 input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;}
 input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #06999d12;}
 tbody tr{transition:background-color .2s ease;}
 .availability-success{animation:success-arrive .45s ease-out;}
 .trial-report-badge{animation:badge-arrive .4s ease-out;}
 details[open]>form,details[open]>p{animation:content-in .25s ease-out;}
 .welcome{background:linear-gradient(115deg,#341252,#4a1d66,#087f85);background-size:180% 180%;animation:welcome-colors 10s ease-in-out infinite;}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 button:not(:disabled):hover,.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #06999d24;}
 .stats article{transition:transform .22s ease,box-shadow .22s ease;}
 .stats article:hover{transform:translateY(-4px);box-shadow:0 10px 24px #34125210;}
 tbody tr:hover{background:#f0faf9;}
 .member-chips a:hover{transform:translateY(-2px);box-shadow:0 4px 10px #06999d18;}
}
@keyframes success-arrive{from{opacity:.4;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes badge-arrive{from{opacity:.4;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes welcome-colors{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media print{html{scroll-behavior:auto!important;}*,*::before,*::after{animation:none!important;transition:none!important;}.welcome{background:var(--purple)!important;}}

.simple-schedule-step{background:#f6faf9;border:1px solid #d9eeea;border-radius:14px;padding:20px;}.simple-schedule-step h3{color:var(--purple);}.schedule-slot{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line);}.schedule-repeat{padding:12px;border:1px solid var(--line);border-radius:10px;}.schedule-repeat summary{cursor:pointer;color:var(--teal);font-weight:bold;}.schedule-repeat label{max-width:300px;margin-top:12px;}.schedule-summary{background:#eaf7f5;padding:14px;border-radius:12px;color:var(--purple);font-weight:bold;}.schedule-students>label[hidden]{display:none!important;}@media(max-width:650px){.schedule-slot{grid-template-columns:1fr 1fr;}.schedule-slot button{grid-column:1/-1;}.simple-schedule-step{padding:14px;}}
