/* Shared visual rhythm for the teacher and student applications. */
:root{--yc-sky:#a8def3;--yc-ink:#eff6fc;--yc-line:#31547b;--yc-muted:#b1c7dd;--yc-card:#0e2a50;--yc-radius:16px}
.yc-matrix button,#portal button{transition:background-color .15s,border-color .15s;touch-action:manipulation}
.yc-matrix button:focus-visible,#portal button:focus-visible{outline:3px solid var(--yc-sky);outline-offset:3px}
.yc-matrix .primary,#portal .portal-create{background:var(--yc-sky);border:1px solid var(--yc-sky);color:#082449;font-weight:650;min-height:48px;border-radius:12px}
.yc-matrix .primary:hover,#portal .portal-create:hover{background:#c5edfc;border-color:#c5edfc}
.yc-matrix .panel{border-radius:var(--yc-radius)}
.yc-student [data-page="evolution"],.yc-student [data-evolution-strength],.yc-student [data-exercise-evolution]{width:100%;min-width:0}
.yc-student .yc-evolution{width:100%;margin:18px 0 24px}
.yc-student .evolution-kind-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;padding:5px;background:#071d3d;border:1px solid var(--yc-line);border-radius:14px;margin-bottom:20px}
.yc-student .evolution-kind-tabs button{border:1px solid transparent;border-radius:10px;background:transparent;color:var(--yc-muted);min-height:46px;font-size:14px;padding:10px}
.yc-student .evolution-kind-tabs button[aria-pressed=true]{background:var(--yc-sky);color:#082449;border-color:var(--yc-sky);font-weight:700}
.yc-student .evolution-sections{display:grid;gap:16px;min-width:0}
.yc-student .evo-sector{min-width:0;width:100%}
.yc-student .evo-sector-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;min-height:62px;border:1px solid var(--yc-line);border-radius:14px;padding:16px 20px;background:var(--yc-card);font-size:17px;font-weight:650;text-align:left}
.yc-student .evo-sector-toggle small{display:block;margin-top:4px;color:var(--yc-muted);font-size:12px;font-weight:400}
.yc-student .evo-sector-toggle[aria-expanded=true]{border-color:#669bb7;background:#16385d}
.yc-student .evo-chevron{display:grid;place-items:center;width:30px;height:30px;flex:none;background:#092344;border:1px solid var(--yc-line);border-radius:50%;font-size:18px;transition:transform .15s}
.yc-student [aria-expanded=true]>.evo-chevron{transform:rotate(180deg)}
.yc-student .evo-sector-body,.yc-student .evo-family-layout{margin-top:16px;min-width:0}
.yc-student .evo-family-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px}
.yc-student .evo-family-browser{min-width:0;background:#0a2244;border:1px solid var(--yc-line);border-radius:14px;padding:16px;align-self:start}
.yc-student .yc-evolution [data-evo-list]{display:grid;gap:6px;max-height:520px;overflow:auto}
.yc-student .yc-evolution .exercise-option{min-width:0;max-width:none;width:100%;margin:0;padding:12px;border:1px solid #244669;background:#102d50;white-space:normal;min-height:48px}
.yc-student .yc-evolution .exercise-option[aria-pressed=true]{border-color:var(--yc-sky);background:#1a476b}
.yc-student .yc-evolution .search{padding:0 10px;gap:8px}
.yc-student .yc-evolution .search input{margin:0;min-height:46px}
.yc-student .yc-evolution .active-calendar,.yc-student .sessions-workspace .session-analytics{display:block;width:100%;padding:24px;margin:0 0 20px;border:1px solid var(--yc-line);border-radius:var(--yc-radius);background:linear-gradient(135deg,#12345a,#0b2447)}
.yc-student .yc-evolution .calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.yc-student .yc-evolution .calendar-heading h3{font-size:17px;font-weight:650;margin:0 0 4px}
.yc-student .yc-evolution .calendar-heading p{font-size:12px;color:var(--yc-muted)}
.yc-student .calendar-navigation{display:grid;grid-template-columns:44px minmax(140px,1fr) 44px;align-items:center;gap:10px;margin:0}
.yc-student .calendar-navigation strong{text-transform:none;font-size:14px;text-align:center}
.yc-student .calendar-navigation button{width:44px;height:44px;min-height:44px;border:1px solid #4b6e95;background:#17395f;border-radius:11px;font-size:26px;line-height:1;padding:0}
.yc-student .yc-evolution .active-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:none;text-align:center}
.yc-student .yc-evolution .calendar-day,.yc-student .yc-evolution .calendar-empty{display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;align-items:center;justify-content:center;gap:5px;min-width:0;height:64px;min-height:0;padding:5px;position:relative;border-radius:10px;font-size:15px;font-variant-numeric:tabular-nums;text-align:center}
.yc-student .yc-evolution .calendar-day>b{width:auto;font-weight:550;line-height:1}
.yc-student .yc-evolution .calendar-day>i{position:absolute;top:auto;right:auto;bottom:3px;font-size:10px;line-height:1}
.yc-student .yc-evolution .calendar-day.is-active{box-shadow:none;background:#164652;border-color:#508e91}
.yc-student .yc-evolution .session-active-calendar .calendar-day.is-active{background:#183958;border-color:#527597}
.yc-student .yc-evolution .calendar-weekday{padding:3px 0 7px;font-size:12px;color:var(--yc-muted)}
.yc-student .calendar-markers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px;min-height:7px;max-width:100%}
.yc-student .calendar-markers:empty{display:none}
.yc-student .yc-evolution .calendar-markers i{position:static;display:block;width:6px;height:6px;border-radius:50%;background:var(--activity-color);margin:0}
.yc-student .activity-calendar-legend{padding-top:14px;border-top:1px solid #2d4e70;margin-top:18px!important;gap:10px 16px}
.yc-student .activity-calendar-legend>span{font-size:12px}
.yc-student .evolution-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}
.yc-student .evolution-totals>div{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:6px;border:1px solid var(--yc-line);border-radius:14px;background:#102e52;padding:20px;min-width:0}
.yc-student .evolution-totals strong{font-size:36px;line-height:1.1;font-variant-numeric:tabular-nums;color:#c3eafa}
.yc-student .evolution-totals span{font-size:12px;line-height:1.4;color:var(--yc-muted)}
.yc-student .yc-evolution .overview-section{margin-top:20px;padding:24px;border:1px solid var(--yc-line);border-radius:var(--yc-radius);background:#0b2447}
.yc-student .yc-evolution .overview-section>h3{font-size:18px;margin:0 0 18px}
.yc-student .yc-evolution .pr-highlights{gap:12px;margin-top:16px}
.yc-student .yc-evolution .pr-hero{border-radius:12px;padding:18px;min-width:0}
.yc-student .yc-evolution .pr-hero>strong{font-size:28px}
.yc-student .sessions-workspace .session-analytics h2{font-size:23px;margin:6px 0 20px}
.yc-student .sessions-workspace .yoga-analytics{border-top:3px solid #8fd5ff}
.yc-student .sessions-workspace .sports-analytics{border-top:3px solid #e6bd75}
.yc-student .session-key-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.yc-student .session-key-numbers>div+div{border-left:1px solid #365b7e;padding-left:20px}
.yc-student .session-key-numbers strong{font-size:38px;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.yc-student .session-key-numbers span{display:block;margin-top:8px;font-size:12px}
.yc-student .session-modality-row{padding:12px 0;border-bottom:1px solid #2c4a6c}
.yc-student .session-modality-row:last-child{border-bottom:0}
.yc-student .modality-bars{display:grid;gap:12px;padding:20px 0;margin:20px 0 8px;border-top:1px solid #31547b}
.yc-student .modality-bar-row{display:grid;grid-template-columns:44px minmax(0,1fr) 66px;align-items:center;gap:10px;font-size:12px}
.yc-student .modality-bar-row time{color:var(--yc-muted)}
.yc-student .modality-bar-row strong{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}
.yc-student .modality-bar-row small{font-weight:400;color:var(--yc-muted)}
.yc-student .modality-bar-track{display:block;height:12px;border-radius:4px;background:#061c37;overflow:hidden}
.yc-student .modality-bar-track i{display:block;height:100%;border-radius:4px}
.yc-student .sessions-workspace .modality-focus>p{margin-top:10px;font-size:12px}
.yc-student .session-history{border:1px solid var(--yc-line);border-radius:14px;padding:0 18px;background:#0b2447}
.yc-student .session-history>summary{min-height:60px;align-items:center;border:0}
.yc-student .evolution-export{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0;margin:0}
.yc-student .evolution-export button{min-height:50px;padding:12px 22px;border-radius:12px}
.yc-student .evolution-export p:empty{display:none}
.yc-student .evolution-toolbar{display:block;width:100%;padding:0;margin:0 0 24px;border:0}
.yc-student .evolution-period{width:100%;border:1px solid var(--yc-line);border-radius:14px;background:#0a2244;overflow:hidden}
.yc-student .evolution-period>summary{display:flex;align-items:center;gap:14px;padding:18px 20px;min-height:62px;cursor:pointer;font-size:14px;list-style:none}
.yc-student .evolution-period>summary::-webkit-details-marker{display:none}
.yc-student .evolution-period>summary>small{margin-left:auto;font-size:12px;color:var(--yc-muted)}
.yc-student .evolution-period-content{padding:0 20px 20px}
.yc-student .evolution-period .segmented{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;background:none}
.yc-student .evolution-period .segmented button{min-height:44px;font-size:12px;border:1px solid var(--yc-line);border-radius:10px;padding:10px 14px;background:#112f51}
.yc-student .evolution-period .segmented button[aria-pressed=true]{background:var(--yc-sky);color:#082449;border-color:var(--yc-sky)}
.yc-student .evolution-custom-period{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-top:18px}
.yc-student .evolution-custom-period label{min-width:0;font-size:12px}
.yc-student .evolution-custom-period input{min-height:46px;width:100%;min-width:0;margin:5px 0 0;font-size:16px}
.yc-student .evolution-custom-period button{min-height:46px}
/* Weekly calendars share the same card geometry in both portals. */
.portal-agenda{border-radius:var(--yc-radius);border-color:var(--yc-line);width:100%;min-width:0}
.portal-agenda-heading{padding:20px;gap:16px}
.portal-agenda-heading h2{font-size:18px}
.portal-week-navigation{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;text-align:center;font-variant-numeric:tabular-nums}
.portal-week-navigation button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #41678d!important;border-radius:11px;background:#16395f!important;color:#e5f5ff;font-size:26px}
.portal-week-calendar{grid-template-columns:repeat(var(--agenda-days,5),minmax(0,1fr));gap:10px;padding:0 16px 16px}
.portal-week-day>header{align-items:center;justify-content:center;text-align:center;gap:6px;padding:14px 8px;background:#102d51}
.portal-week-day>header strong{font-size:13px}.portal-week-day>header time{font-size:12px}
.portal-week-day>div{padding:8px;display:grid;gap:8px}
.portal-week-day .portal-workout,.yc-daily .portal-week-day .portal-workout{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;width:100%;min-height:132px;margin:0;padding:14px 8px;border:1px solid #31587b!important;border-radius:10px;background:#123052}
.portal-week-day .portal-workout:hover:not(:disabled){background:#1a3e61;border-color:#8bc3dc!important}
.portal-week-day .portal-workout>span{display:block;width:100%}
.portal-week-day .portal-workout strong{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.portal-week-day .portal-workout time{font-size:14px;margin-top:10px;font-variant-numeric:tabular-nums}
.portal-week-day .portal-workout small{font-size:11px;line-height:1.4;margin-top:8px;color:#b7cbe0}
.portal-week-day .portal-workout.is-recorded{background:#153b43;border-color:#3c776e!important}
.portal-week-day .portal-done{margin:0;font-size:18px;line-height:1}
.portal-week-empty{text-align:center;padding:28px 8px}
.yc-daily{max-width:none;padding:0 0 96px}.yc-daily>h1{margin:0 0 24px;font-size:26px}
.yc-daily [data-daily-manage-week]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:12px;border-color:#567fa2;background:#16395f;font-size:14px}
.yc-daily .daily-content-editor,.yc-daily .daily-class-heading,.yc-daily .daily-yoga-note{margin-left:auto;margin-right:auto;max-width:760px}
@media(max-width:760px){
 .yc-student .evo-family-layout{grid-template-columns:minmax(0,1fr);gap:18px}
 .yc-student .yc-evolution [data-evo-list]{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px;overflow:auto}
 .yc-student .evo-sector-toggle{padding:15px 16px;font-size:16px}
 .yc-student .yc-evolution .active-calendar,.yc-student .sessions-workspace .session-analytics,.yc-student .yc-evolution .overview-section{padding:16px;border-radius:14px}
 .yc-student .yc-evolution .calendar-heading{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:16px}
 .yc-student .calendar-navigation{width:100%;grid-template-columns:44px minmax(0,1fr) 44px}
 .yc-student .yc-evolution .active-calendar-grid{gap:5px}
 .yc-student .yc-evolution .calendar-day,.yc-student .yc-evolution .calendar-empty{height:43px;font-size:13px;padding:4px 1px;border-radius:8px}
 .yc-student .evolution-totals{gap:8px;margin-bottom:20px}
 .yc-student .evolution-totals>div{padding:14px 10px;gap:8px}
 .yc-student .evolution-totals strong{font-size:27px}
 .yc-student .evolution-totals span{font-size:11px;min-height:31px}
 .yc-student .session-key-numbers strong{font-size:32px}
 .yc-student .evolution-export button{width:100%}
 .yc-student .evolution-period>summary{display:grid;grid-template-columns:1fr auto;gap:6px;padding:16px}
 .yc-student .evolution-period>summary>small{grid-row:2;margin:0}
 .yc-student .evolution-period>summary>span:last-child{grid-row:1/3;grid-column:2}
 .yc-student .evolution-period-content{padding:0 16px 16px}
 .yc-student .evolution-period .segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .yc-student .evolution-period .segmented button{padding:10px 4px}
 .yc-student .evolution-custom-period{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .yc-student .evolution-custom-period button{grid-column:1/-1}
 .portal-agenda-heading{display:grid;grid-template-columns:minmax(0,1fr);padding:16px;gap:14px}
 .portal-week-navigation{width:100%;font-size:13px}
 .portal-week-calendar{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 10px)/2);overflow-x:auto;gap:10px;padding:0 16px 16px;scroll-padding:16px;scroll-snap-type:x mandatory}
 .portal-week-day{scroll-snap-align:start;min-height:210px}
 .portal-actions{gap:10px}.portal-actions .portal-create{min-height:50px;border-radius:12px;font-size:13px}
 .yc-daily [data-daily-manage-week]{width:100%;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.yc-matrix button,#portal button,.evo-chevron{transition:none}}

/* The student login uses the same Google action as the teacher login. */
#portal .yc-access{width:100%;max-width:440px;margin:30px auto;padding:28px;border:1px solid #3c6289;border-radius:20px;background:linear-gradient(145deg,#14365d,#0b2245);box-shadow:0 16px 40px #020e252e}
#portal .yc-access h1{margin:0 0 14px;font-size:27px}
#portal .yc-access p{font-size:14px;margin:0 0 24px}
#portal .yc-access button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:56px;background:#f4f8fc;color:#123252;border:1px solid #c4d5e6;box-shadow:0 3px 0 #05183150;font-weight:650;border-radius:12px}
#portal .yc-access button svg{width:24px;height:24px;flex:none}
#portal .yc-access button .teacher-google-arrow{margin-left:auto;font-size:22px}
#portal .yc-access [data-access-status]{margin:18px 0 0;min-height:0;color:#ffd2c4}
#portal .yc-access [data-access-status]:empty{display:none}
@media(max-width:420px){#portal .yc-access{padding:22px 18px;margin-top:22px}#portal .yc-access button{font-size:14px;gap:10px}}

.yc-teacher .student-lifecycle .admission-actions{display:grid;grid-template-columns:1fr;gap:10px}
.yc-teacher .student-lifecycle .admission-actions button{width:100%;min-height:48px;border-radius:11px}
.yc-teacher .student-lifecycle [data-lifecycle-choice="delete"]{background:#412734;color:#ffd7d0;border-color:#9c6570}
.yc-teacher .student-lifecycle [data-lifecycle-choice="cancel"]{background:#163a60;border-color:#648cb1}
.yc-teacher .student-lifecycle [data-lifecycle-close]{background:transparent}
.yc-teacher .student-lifecycle [data-lifecycle-notice]:empty{display:none}
.yc-teacher .student-lifecycle [data-lifecycle-notice]{margin-top:18px;color:#ffd7d0;font-size:13px}

/* One class owns its workout action and schedule controls in the selected week. */
.yc-daily .daily-slot-card{min-width:0;overflow:hidden;border:1px solid #31587b;border-radius:12px;background:#123052}
.yc-daily .daily-slot-card .portal-workout{border:0!important;border-radius:0;min-height:132px}
.yc-daily .daily-class-adjust{width:100%;min-height:44px;padding:10px 6px;border:0;border-top:1px solid #31587b;border-radius:0;background:#173c60;color:#c7e6f4;font-size:12px;font-weight:600}
.yc-daily .daily-class-adjust:hover{background:#215378}
.yc-daily .daily-add-class{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;padding:10px 6px;border:1px dashed #50789a;border-radius:10px;background:transparent;color:#abdff0;font-size:13px;font-weight:600}
.yc-daily .daily-add-class:hover{background:#173c60;border-style:solid}
.yc-daily .daily-add-class span{font-size:19px;line-height:1}
.yc-daily .daily-cancelled-class{display:grid;gap:7px;justify-items:center;width:100%;min-height:110px;padding:12px 6px;border:1px dashed #58677e;border-radius:10px;background:#192b45;color:#b6c2d6;text-align:center;font-size:12px}
.yc-daily .daily-cancelled-class small{color:#dec8b6}.yc-daily .daily-cancelled-class strong{color:#acdff3;font-size:12px}
.yc-daily .daily-class-dialog{max-width:520px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #436a90;border-radius:18px;background:#102b4c;color:#eef5ff}
.yc-daily .daily-class-dialog::backdrop{background:#020c22b3;backdrop-filter:blur(3px)}
.yc-daily .daily-class-dialog .reg-editor-heading{padding:20px;align-items:center}
.yc-daily .daily-class-dialog h2{margin:4px 0 0;font-size:23px}
.yc-daily .daily-class-date{margin:0;color:#a6c4df;font-size:12px}
.yc-daily .daily-class-dialog .reg-editor-body{padding:0 20px 20px;display:grid;gap:18px}
.yc-daily .daily-class-scope{margin:0;color:#adcce4;font-size:13px}
.yc-daily .daily-class-dialog label{display:grid;gap:8px;font-size:13px;color:#c8dced}
.yc-daily .daily-class-dialog input{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #456787;border-radius:10px;background:#0a2040;color:#fff;font-size:16px;box-sizing:border-box;color-scheme:dark}
.yc-daily .daily-class-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.yc-daily .daily-class-fields label>span{display:none}
.yc-daily .daily-class-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 20px;border-top:1px solid #345474;background:#0d2342}
.yc-daily .daily-class-actions button{min-height:48px;margin:0;border:1px solid #42698d;border-radius:11px;padding:12px;font-size:13px;line-height:1.35}
.yc-daily .daily-class-actions .daily-cancel-class{background:#382b3b;color:#f1c6ba;border-color:#795765}
.yc-daily .daily-class-actions .reg-submit{background:#a7e0f2;color:#0b2b48;border-color:#a7e0f2;font-weight:700}
.yc-daily .daily-class-dialog [data-class-status]:empty{display:none}

@media(min-width:761px) and (max-width:1100px){
 .yc-daily .portal-week-calendar{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:16px}
 .yc-daily .portal-week-day{scroll-snap-align:start}
}

/* Account identity is edited independently, without discarding an open profile draft. */
.yc-student .student-email-field dd,.yc-student .student-name-field dd,.yc-student [data-student-name]{overflow-wrap:anywhere}
.yc-student .student-email-edit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:10px;padding:10px 15px;border:1px solid #5b88ac;border-radius:10px;background:#194467;color:#c6efff;font-size:13px;font-weight:650;box-shadow:0 2px 0 #07182c40}
.yc-student .student-email-edit:hover{background:#205579;border-color:#9bdbed}.yc-student .student-email-edit svg{width:17px;height:17px}
.yc-student [data-student-email-status],.yc-student [data-student-name-status]{display:block;margin-top:8px;color:#9ae0be;font-size:12px}.yc-student [data-student-email-status]:empty,.yc-student [data-student-name-status]:empty{display:none}
.yc-teacher .student-email-dialog{width:calc(100% - 32px);max-width:480px;padding:24px;border:1px solid #426b90;border-radius:20px;background:#102c4e;color:#ecf5ff;max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}
.yc-teacher .student-email-dialog::backdrop{background:#030e25b8;backdrop-filter:blur(3px)}
.yc-teacher .email-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.yc-teacher .email-dialog-heading h2{font-size:23px;margin:0}.yc-teacher .email-dialog-heading button{width:44px;min-height:44px;padding:0;font-size:26px;border-radius:10px}
.yc-teacher .email-student-name{margin:6px 0 24px;color:#aac9e2;font-size:14px}
.yc-teacher .student-email-dialog label{display:grid;gap:10px;font-size:13px;color:#c8ddee}
.yc-teacher .student-email-dialog input{width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #577b9a;border-radius:11px;background:#091f3d;color:#fff;font-size:16px;box-sizing:border-box}
.yc-teacher .email-access-note{margin:12px 0 20px;font-size:13px;color:#b7cee0;line-height:1.5}
.yc-teacher [data-email-status],.yc-teacher [data-name-status]{font-size:13px;color:#f4cdb9;line-height:1.5}.yc-teacher [data-email-status]:empty,.yc-teacher [data-name-status]:empty{display:none}
.yc-teacher .email-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px}.yc-teacher .email-dialog-actions button{min-height:48px;border-radius:11px;font-size:14px;font-weight:650}.yc-teacher .email-dialog-actions .primary{background:#a8e1f3;color:#0b2c49;border-color:#a8e1f3}
@media(max-width:420px){.yc-teacher .student-email-dialog{padding:20px}.yc-teacher .email-dialog-heading h2{font-size:21px}}

/* Evolution: one compact highlight per movement family, ties kept together. */
.yc-student .evolution-kind-tabs button{min-width:0}
.yc-student .yc-evolution .evo-summary-pr{min-width:0;display:flex;flex-direction:column;gap:16px}
.yc-student .yc-evolution .evo-summary-pr header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.yc-student .yc-evolution .evo-pr-frequency{font-size:12px;color:#bfd4e8}
.yc-student .yc-evolution .evo-pr-result{display:grid;gap:6px;min-width:0}
.yc-student .yc-evolution .evo-pr-result+.evo-pr-result{border-top:1px solid #355675;padding-top:16px}
.yc-student .yc-evolution .evo-pr-result>span{color:#c4d8e9;font-size:12px}
.yc-student .yc-evolution .evo-pr-result h4{margin:0;overflow-wrap:anywhere}
.yc-student .yc-evolution .evo-pr-result>strong{font-size:25px;color:#c0e8fa}
.yc-student .yc-evolution .evo-pr-result small{color:#bfd4e8;font-size:12px}
