.ac-training,.ac-panel{padding:20px;margin-bottom:18px}
.ac-training .panel-head h2,.ac-panel h2{margin:8px 0 5px;font-size:21px}
.ac-training .hint,.ac-panel .hint{margin:0;line-height:1.6}
.ac-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.ac-lessons button{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:4px 10px;text-align:left;background:#faf8ff;border:1px solid #ddd3f2;border-radius:13px;padding:14px;min-height:88px;color:inherit}
.ac-lessons button:hover,.ac-lessons button:focus-visible{border-color:#8566c3;box-shadow:0 0 0 2px #ddd3f2}
.ac-lessons button>span{grid-row:span 2;color:#7b56b0;font-weight:800}
.ac-lessons button b{font-size:15px}.ac-lessons button small{color:var(--muted);line-height:1.45}
.ac-lesson-detail{line-height:1.65}.ac-lesson-detail>p{color:var(--muted)}.ac-lesson-detail ol{padding-left:24px}.ac-lesson-detail li{margin-bottom:11px}
.ac-practice{border-left:4px solid #906dc4;background:#f7f3ff;padding:12px 16px;border-radius:8px}.ac-practice p{margin:5px 0 0}
.ac-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.ac-header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.ac-month-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:15px 0}.ac-month-nav strong{font-size:19px;min-width:120px;text-align:center}.ac-month-nav button{min-width:36px;min-height:34px}
.ac-calendar-scroll{overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #e1dcea;border-radius:12px}.ac-calendar{min-width:680px;background:#fff}
.ac-weekdays,.ac-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ac-weekdays span{background:#f5f1fb;text-align:center;padding:9px 2px;font-weight:800;color:#56496d}.ac-weekdays span:nth-child(6){color:#356aab}.ac-weekdays span:nth-child(7){color:#ba5062}
.ac-day{border-right:1px solid #ece7f1;border-top:1px solid #ece7f1;min-height:109px;padding:5px;min-width:0}.ac-day:nth-child(7n){border-right:0}.ac-outside{background:#faf9fc;color:#8b8494}.ac-today{background:#fff9ea;box-shadow:inset 0 0 0 2px #e8bc5c}
.ac-day-number{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;min-width:30px;min-height:30px;background:transparent;font-weight:800;color:inherit}.ac-day-number:hover,.ac-day-number:focus-visible{background:#ebddff}.ac-today .ac-day-number{background:#c88724;color:#fff}
.ac-day-items{display:grid;gap:3px}.ac-event{display:flex;gap:3px;align-items:center;width:100%;border:0;border-radius:6px;text-align:left;background:#ece4fa;color:#352253;padding:4px 5px;font-size:11px;line-height:1.35;min-height:24px}.ac-event[hidden]{display:none}.ac-event:hover,.ac-event:focus-visible{background:#d9c7f5}.ac-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.ac-event i{font-size:9px;color:#bb5a29;font-style:normal}
.ac-more{background:transparent;border:0;color:#7042ad;font-weight:800;font-size:11px;padding:4px 2px}.ac-more:hover{text-decoration:underline}.ac-caption{color:var(--muted);font-size:12px;margin:12px 0 0}
.ac-day-detail{display:grid;gap:9px}.ac-day-detail>button,.ac-alert-list>button{width:100%;text-align:left;padding:12px;border:1px solid #e0d7ed;border-radius:10px;background:#faf8ff;color:inherit}.ac-day-detail>button:hover,.ac-alert-list>button:hover{border-color:#845bbe}.ac-day-detail small,.ac-alert-list small{display:block;color:var(--muted);margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}
.ac-form{display:grid;gap:14px}.ac-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ac-form label{display:grid;gap:6px;font-weight:700}.ac-form input:not([type=checkbox]),.ac-form textarea{width:100%;border:1px solid #d7d1df;border-radius:9px;padding:10px;font:inherit;background:#fff;color:#292333}.ac-form textarea{resize:vertical}.ac-form .ac-remind{display:flex;align-items:center;gap:8px;font-weight:600}.ac-form .ac-remind input{width:17px;height:17px}
.ac-modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.ac-entry-detail{line-height:1.6}.ac-entry-detail .ac-memo{white-space:pre-wrap;overflow-wrap:anywhere;background:#faf8ff;border-radius:10px;padding:14px;min-height:55px}.ac-entry-detail>small{color:var(--muted)}.ac-alert-list{display:grid;gap:9px}.ac-alert-list button{display:grid;gap:5px}.ac-alert-list b{font-size:16px}
body.dark .ac-calendar,body.dark .ac-form input:not([type=checkbox]),body.dark .ac-form textarea{background:#171b23;color:#edf0f6}body.dark .ac-weekdays span,body.dark .ac-outside{background:#222631;color:#bbc0ca}body.dark .ac-day{border-color:#343b47}body.dark .ac-today{background:#3a3224}body.dark .ac-lessons button,body.dark .ac-day-detail>button,body.dark .ac-alert-list>button,body.dark .ac-practice,body.dark .ac-entry-detail .ac-memo{background:#262234;color:#eef1f6;border-color:#504467}
@media(max-width:760px){.ac-lessons{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-header{flex-direction:column}.ac-header-actions{justify-content:flex-start}}
@media(max-width:520px){.ac-training,.ac-panel{padding:14px}.ac-lessons{grid-template-columns:1fr}.ac-lessons button{min-height:64px}.ac-form-row{grid-template-columns:1fr}.ac-month-nav{gap:5px}.ac-month-nav strong{min-width:105px;font-size:17px}}

/* Compact dashboard controls and persistent folds. */
.ac-compact-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:15px;margin-bottom:16px;border:1px solid #ddd3f1;border-radius:16px;background:#f6f2fc}
.ac-compact-toolbar button{min-height:44px;padding:10px 18px;border-radius:11px;font-weight:700}
[id^="ac-fold-"][hidden],.ac-event[hidden]{display:none!important}
@media(max-width:600px){.ac-compact-toolbar button{flex:1 1 45%;padding:10px}}
