.trainingSection{margin-top:30px}.trainingIntro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px}.trainingIntro p{margin-bottom:0}.trainingLayout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.compactSelect{width:auto;max-width:230px;font-size:12px;margin:0;padding:9px}.lessonHistory{max-height:520px;overflow:auto}.recordRow{width:100%;display:flex;text-align:left;gap:14px;align-items:center;padding:18px 22px;border-bottom:1px solid #2b3445}.recordRow:hover{background:#ffffff04}.recordIcon{width:35px;height:35px;background:#343044;color:#bca5d9;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.flownIcon{background:#244538;color:#a8dfb9}.recordMain{flex:1}.recordMain b{font-size:12px}.recordRow .small{font-size:10px}.syllabusFoot{padding:18px 22px;border-top:1px solid #30394a}.syllabusFoot a{color:#bda7e7;font-size:12px}.calendarTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendarTop h2{font-size:14px}.calendarTop .secondary{padding:5px 10px}.miniCalendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:18px 0}.miniWeek{text-align:center;color:#8e9bb2;font-size:10px;padding:5px}.miniDay{position:relative;aspect-ratio:1;min-width:0;border:1px solid transparent;border-radius:9px;font-size:11px;color:#a9b4ca}.miniDay:hover{background:#30394b}.miniDay.flown{background:#2c5741;color:#c8f3d7;border-color:#49745a;font-weight:650;box-shadow:0 2px 8px #0001}.miniDay.flown i{width:3px;height:3px;border-radius:50%;background:#a4dbb7;position:absolute;bottom:4px;left:50%}.miniDay.focused{outline:2px solid #c1a4f0;outline-offset:1px}.calendarLegend{font-size:10px;color:#a1b1bc;display:flex;gap:7px;align-items:center}.greenDot{width:7px;height:7px;border-radius:50%;background:#8cc4a0}.calendarMetrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #30394b;border-bottom:1px solid #30394b;padding:18px 0;margin:18px 0}.calendarMetrics strong{font-size:21px;font-weight:600;display:block;color:#e2eeea}.calendarMetrics span{font-size:9px;color:#98a9bb}.flightCalendar #flightDayDetail .recordRow{padding:12px 0;flex-wrap:wrap}.watchRow{display:flex;gap:15px;padding:20px 0;border-bottom:1px solid #30394b;align-items:start}.watchRow>div{flex:1}.watchRow p{font-size:12px;margin:8px 0}.watchRow b{font-size:13px}.watchMark{background:#44372d;color:#d2b983;border:1px solid #806e4344;width:25px;height:25px;display:grid;place-items:center;border-radius:7px;font-weight:600}.wideModal{width:1050px;max-width:96vw;max-height:94vh;overflow:auto}.recordFields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 15px}.checkLabel{display:flex;align-items:center;gap:9px}.checkLabel input{width:auto;margin:0}.gradingLegend{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.gradeTableHead,.gradeItem{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(140px,.8fr) minmax(190px,1.6fr);gap:16px;align-items:center}.gradeTableHead{padding:12px 0;border-bottom:1px solid #394259;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#9daac1}.gradeItem{padding:12px 0;border-bottom:1px solid #30394b}.gradeItem input{margin-top:3px}.gradeItem select,.gradeItem textarea{margin:0;font-size:12px}.itemLabel{font-size:12px}.trainingEditor h2{font-size:19px}.trainingSection .tabs{flex-wrap:wrap}.trainingSection .tabs button{font-size:12px}@media(max-width:900px){.trainingLayout{grid-template-columns:1fr}.flightCalendar{max-width:440px}.recordFields{grid-template-columns:1fr 1fr}.gradeTableHead{display:none}.gradeItem{grid-template-columns:1.2fr 1fr}.gradeItem textarea{grid-column:1/-1}}@media(max-width:550px){.trainingIntro{align-items:start;flex-direction:column}.recordFields{grid-template-columns:1fr}.recordRow{padding:15px;gap:10px}.wideModal{padding:17px}.recordMain{min-width:130px}.compactSelect{max-width:160px}}

/* Three grades, three unambiguous colors. */
.gradeBadge{font-weight:650;border-radius:6px;letter-spacing:.1px;display:inline-flex;align-items:center;gap:6px}.gradeBadge:before{content:'●';font-size:7px}.gradeBadge.satisfactory{color:#b6efcb;background:#234936;border-color:#4f8867}.gradeBadge.unsatisfactory{color:#f4b6bd;background:#4b2b38;border-color:#9a556c}.gradeBadge.incomplete{color:#eed4a2;background:#453d2c;border-color:#8b774d}.itemGrade.satisfactory{border-color:#568567;color:#bfe7cb;background:#243b32}.itemGrade.unsatisfactory{border-color:#986078;color:#edbecb;background:#3b2936}.itemGrade.incomplete{border-color:#7e7053;color:#e1d0a9;background:#343126}.gradeItem{position:relative;transition:background .22s,border-color .22s}.gradeItem.satisfactory{border-left:3px solid #8cbb9c;padding-left:12px}.gradeItem.unsatisfactory{border-left:3px solid #d38ca0;padding-left:12px}.gradeItem.incomplete{border-left:3px solid #baa474;padding-left:12px}.overallGrade{display:flex;flex-direction:column;justify-content:end;gap:9px;padding:14px 0 2px}.lessonStandard{background:#26263c;border:1px solid #55446a;padding:18px;border-radius:10px;margin-top:22px}.lessonStandard p{font-size:12px;color:#c9bfd9}.lessonStandard b{font-size:13px;color:#e3d7f6}.watchMark.unsatisfactory{background:#4b2b38;color:#f4b6bd;border-color:#9a556c}.watchMark.incomplete{background:#453d2c;color:#eed4a2;border-color:#8b774d}.recordRow .gradeBadge{margin-top:6px;font-size:9px}.gradeSpark{position:absolute;right:38%;top:3px;pointer-events:none;color:#c9f5d9;font-size:21px;animation:sparkLift .65s ease-out forwards}.toast:before{content:'✈';display:inline-block;margin-right:10px;animation:planeWiggle .65s ease-out}.miniDay{transition:transform .18s,background .18s,box-shadow .18s}.miniDay:hover{transform:translateY(-2px)}.miniDay.focused{animation:dayPop .25s ease-out}.recordIcon:hover{transform:rotate(-8deg);transition:transform .2s}.gradeChanged{animation:gradeGlow .45s ease-out}.trainingSection .card{animation:cardArrive .25s ease-out both}.trainingSection .card:nth-child(2){animation-delay:.04s}.tabs button{transition:background .2s,transform .2s}.tabs button:hover{transform:translateY(-1px)}
@keyframes sparkLift{0%{opacity:0;transform:translateY(8px) scale(.5) rotate(-20deg)}30%{opacity:1;transform:translateY(-6px) scale(1.1)}100%{opacity:0;transform:translateY(-27px) scale(.7) rotate(20deg)}}@keyframes planeWiggle{0%{transform:translate(-7px,3px) rotate(-12deg);opacity:0}70%{transform:translate(2px,-1px) rotate(4deg)}100%{transform:none;opacity:1}}@keyframes dayPop{50%{transform:scale(1.07)}}@keyframes gradeGlow{0%{background:#ffffff0a}100%{background:transparent}}@keyframes cardArrive{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.miniDay:hover,.tabs button:hover{transform:none}}

.event{overflow:hidden}

.calendar{grid-template-columns:55px repeat(5,minmax(0,1fr))}.calendar .time{display:flex;flex-direction:column;gap:5px;font-size:9px;padding-top:9px}.calendar .time b{font-weight:600;color:#b3bfd3}.calendar .time span{color:#8390a7}.calendar .event{overflow:hidden}.cell{min-width:0}
