.training-home-details{margin-top:18px;display:grid;gap:7px}.training-home-details p{margin:0;font-size:.875rem;color:var(--muted)}.training-home-details .tag{justify-self:start;margin-top:5px}.training-home-details strong{color:#ddd;font-weight:550}
.agenda-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:10px}.agenda-tabs button{background:transparent;border:1px solid transparent;color:var(--muted);padding:12px 18px;white-space:nowrap;border-radius:9px}.agenda-tabs button[aria-selected=true]{background:#ff762e16;color:var(--orange);border-color:#ff762e40}
.makeup-manager{margin:28px 0}.makeup-manager>label{max-width:280px}.makeup-manager-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.makeup-manager-slot{border:1px solid var(--line);padding:18px;border-radius:12px}.makeup-manager-slot strong{font-size:1.5rem;margin-right:15px}.makeup-manager-slot p{font-size:.875rem;color:var(--muted);margin:8px 0 15px}.makeup-manager-slot .actions{flex-wrap:wrap}.makeup-day{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.makeup-slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.makeup-slots button{min-width:100px;font-size:1.125rem}.makeup-slots small{display:block;color:var(--muted);font-size:.875rem;font-weight:400}.session-tools{flex-wrap:wrap;margin-top:14px}.session-tools button{font-size:.875rem}.training-profile{margin:24px 0}.training-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.training-stats>div{display:grid;gap:5px}.training-stats span,.training-stats small{font-size:.875rem;color:var(--muted)}.training-stats strong{font-size:1.75rem;letter-spacing:-.04em}.level-summary{border-top:1px solid var(--line);padding-top:22px;margin:25px 0}.achievement-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 25px}.achievement{border:1px solid #ff762e50;border-radius:8px;padding:9px 13px;font-size:.875rem;background:#ff762e09}.cycle-row{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:15px 0;font-size:.875rem}.cycle-row span{color:var(--muted)}.cycle-row strong{flex-shrink:0}
.attendance-qr{width:min(100%,320px);background:#fff;padding:12px;border-radius:12px;margin:20px auto}.attendance-qr svg{display:block;width:100%;height:auto}#qr-video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#000;border-radius:12px}.presence-confirm{max-width:680px;margin:20px auto}.scheduled-plan{border:1px solid #ff762e55;background:#ff762e09;border-radius:10px;padding:18px;margin:18px 0}.scheduled-plan p{font-size:.875rem}
.qr-teacher,.presence-success{text-align:center}.qr-teacher h2{margin-top:12px}.qr-teacher button{margin:8px 4px}.qr-class-details{display:grid;gap:8px;margin:24px 0}.qr-class-details dt{color:var(--muted);font-size:.875rem}.qr-class-details dd{margin:0 0 12px}.attendance-status{display:inline-block;border-radius:6px;padding:5px 8px;background:#ffffff09;font-size:.875rem}.attendance-status.confirmed{color:#b1e7c7;background:#47a66b22;border:1px solid #47a66b55}.attendance-audit{font-size:.875rem;margin-top:16px;flex-basis:100%}.attendance-audit p{margin-top:12px;line-height:1.6}.attendance-summary{margin:24px 0}.attendance-summary p{margin:12px 0}.attendance-month{display:grid;gap:4px}.attendance-month strong{font-size:clamp(2.5rem,8vw,4rem);letter-spacing:-.04em;line-height:1.1}.attendance-month span{color:var(--muted)}.attendance-summary .reward-heading{margin-top:26px}.attendance-summary progress{margin-top:16px}.student-attendance,.attendance-notices,.training-history{margin-top:24px}.training-notice{border-top:1px solid var(--line);padding:18px 0}.training-notice p{margin:8px 0}.training-notice:first-of-type{margin-top:18px}.training-notice:last-child{padding-bottom:0}.reward-earned{color:#b1e7c7}.history-training{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:20px 0}.history-training:first-of-type{margin-top:20px}.history-training p{margin:8px 0}.history-training>div{min-width:0;flex:1 1 230px}.qr-window-note{flex-basis:100%;margin:0}.success-check{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#47a66b22;color:#b1e7c7;border:1px solid #47a66b55;font-size:2rem;animation:attendance-success .25s ease-out}.presence-success h2{margin:14px 0}.session-tools button:disabled,.history-row-actions button:disabled{opacity:.45;cursor:not-allowed}@keyframes attendance-success{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.success-check{animation:none}}
.history-selection-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.history-checkbox{display:inline-flex;align-items:center;gap:10px;margin:0;min-height:40px;cursor:pointer;font-size:.875rem}.history-checkbox input{width:22px;height:22px;margin:0;accent-color:var(--orange);flex:0 0 22px}.history-row-select{flex:0 0 26px}.history-row-actions{flex-wrap:wrap;gap:8px}.history-row-actions button{font-size:.875rem}.history-selection-toolbar button:disabled{opacity:.4;cursor:not-allowed}.history-delete-preview{font-size:.875rem;line-height:1.7;padding-left:20px;max-height:180px;overflow:auto}.history-deletion-log{border-top:1px solid var(--line);padding-top:16px}
@media(max-width:700px){.makeup-manager-slots{grid-template-columns:1fr}.training-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.training-profile .section-title{flex-wrap:wrap}.cycle-row{flex-wrap:wrap;gap:6px}.agenda-tabs button{padding:10px 12px;font-size:.875rem}.training-home-details p{font-size:.875rem}.history-training>div:not(.history-row-actions){flex-basis:calc(100% - 40px)}.history-row-actions{width:100%;justify-content:flex-end}}

.edit-class-schedule{min-height:44px;white-space:normal;text-align:center}.class-schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-schedule-fields label,.class-schedule-fields input{min-width:0;width:100%}
@media(max-width:700px){.history-row-actions:has(.edit-class-schedule){gap:12px}.history-row-actions .edit-class-schedule{flex:0 0 100%;width:100%;min-height:48px;order:-1}.class-schedule-fields{grid-template-columns:1fr;gap:0}}

.document-shortcut,.document-consent,.image-permission,.notification-settings,.contract-document{margin:24px 0}.legal-document{margin:22px 0}.legal-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:.9375rem;color:#d4d5d7}.legal-document h2{margin-bottom:12px}.legal-document .small{padding-bottom:20px;border-bottom:1px solid var(--line)}.document-consent .check-label,.image-permission .check-label{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.check-label input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--orange);margin-top:3px}.contract-details{display:grid;grid-template-columns:160px 1fr;gap:12px 20px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:28px}.contract-details dt{color:var(--muted)}.contract-details dd{margin:0;overflow-wrap:anywhere}.contract-signatures{margin-top:35px;line-height:2}.footer-legal{display:flex;gap:16px;flex-wrap:wrap}.footer-legal a,.auth-legal a{color:var(--muted);text-decoration:underline;text-underline-offset:4px}.auth-legal{margin-top:25px}.notification-settings .small{max-width:680px}
@media(max-width:600px){.contract-details{grid-template-columns:1fr;gap:4px}.contract-details dd{margin-bottom:12px}footer{flex-wrap:wrap;gap:15px}.footer-legal{width:100%}.document-shortcut .actions{flex-wrap:wrap}}
@media print{body.printing-contract{background:#fff!important;color:#111!important;display:block!important}body.printing-contract aside,body.printing-contract header,body.printing-contract footer,body.printing-contract .heading,body.printing-contract .no-print,body.printing-contract .contract-document:not(.print-selected),body.printing-contract #toast,body.printing-contract dialog{display:none!important}body.printing-contract main{margin:0!important;padding:0!important;max-width:none!important}body.printing-contract .contract-document.print-selected{border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important;margin:0!important;color:#111!important}body.printing-contract .legal-body,body.printing-contract .small,body.printing-contract p,body.printing-contract dt{color:#222!important}body.printing-contract .eyebrow{color:#111!important}body.printing-contract .contract-signatures{break-inside:avoid}}
.training-history>.section-title{flex-wrap:wrap;gap:14px}.training-history>.section-title h2{margin:0}.training-history>.section-title .primary{font-size:.9375rem;min-height:44px}
.class-rsvp{display:grid;gap:10px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.class-rsvp .small{color:var(--muted)}.class-rsvp button{justify-self:start;min-height:44px}.class-rsvp.confirmed{border-color:#47a66b55;background:#47a66b12}.class-rsvp.confirmed strong{color:#b1e7c7}

.student-trainings{scroll-margin-top:24px}.student-trainings>.section-title{flex-wrap:wrap;gap:16px}.student-training-history{margin-top:24px}.student-training-history>summary{cursor:pointer;font-weight:600;padding:16px 0;font-size:1rem}.student-trainings .section-title p{margin:8px 0 0}

.rsvp-participants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rsvp-person{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.rsvp-person.confirmed{border-color:#47a66b55;background:#47a66b12}.rsvp-person.confirmed strong{color:#b1e7c7}@media(max-width:640px){.rsvp-participants{grid-template-columns:1fr}}
.agenda-tabs button[aria-current=page]{background:#ff762e16;color:var(--orange);border-color:#ff762e40}
.agenda-student-directory>.section-title{flex-wrap:wrap;gap:10px}.agenda-student-directory h2{margin:0}.agenda-student-list{display:grid}
.agenda-student-link{display:flex;align-items:center;gap:16px;width:100%;min-height:88px;padding:20px 0;text-align:left;background:transparent;border:0;border-radius:0;color:#f5f5f5;border-top:1px solid var(--line)}
.agenda-student-link:hover,.agenda-student-link:focus-visible{background:#ff762e0d}.agenda-student-link:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:8px}.agenda-student-link .avatar{flex-shrink:0}
.agenda-student-label{display:grid;gap:6px;min-width:0;flex:1}.agenda-student-label strong{font-size:1rem;overflow-wrap:anywhere}.agenda-student-label>span{color:var(--muted);font-size:.875rem;font-weight:400}.agenda-student-arrow{color:var(--orange);font-size:1.5rem}
.agenda-student-summary .student-identity{margin-bottom:20px}.agenda-student-summary h2{margin:0 0 10px}.agenda-history-link{margin-top:16px}.teacher-home-overview{margin-bottom:24px}
.history-restore-list{display:grid;gap:4px;max-height:360px;overflow:auto;margin:14px 0;padding:8px;border:1px solid var(--line);border-radius:10px}
.history-restore-option{padding:12px 8px;border-bottom:1px solid var(--line);align-items:flex-start}
.history-restore-option:last-child{border-bottom:0}
.history-restore-option>span{display:grid;gap:6px;min-width:0}
.history-restore-option small{color:var(--muted)}
.history-header-actions{flex-wrap:wrap}
@media(max-width:640px){.history-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.history-header-actions button{min-width:0;font-size:.875rem;padding:10px;min-height:48px}}
