
.ac-controls{margin-bottom:12px}.ac-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.ac-control label{display:block;font-size:12px;margin-bottom:4px;color:#555}.ac-control select,.ac-btn{padding:6px 10px;border:1px solid #ddd;border-radius:8px;background:#fff}.ac-btn{cursor:pointer}.ac-btn.active{background:#111;color:#fff;border-color:#111}
.ac-calendar{border:1px solid #e5e5e5;border-radius:12px;padding:8px}.ac-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ac-calendar-header .ac-month-label{font-weight:600}.ac-calendar-header .ac-nav{border:none;background:#f2f2f2;padding:6px 10px;border-radius:6px;cursor:pointer}
.ac-table{width:100%;border-collapse:collapse;table-layout:fixed}.ac-table th,.ac-table td{border:1px solid #f0f0f0;padding:10px;text-align:left;vertical-align:top;height:72px;position:relative}.ac-empty{background:#fafafa}.ac-daynum{font-weight:600;font-size:12px;margin-bottom:2px}
.highlight{background:#ffef9f}.ac-dot{width:6px;height:6px;border-radius:50%;background:#111;display:inline-block;margin-right:2px}
.ac-events{position:relative}.ac-events .tooltip{visibility:hidden;opacity:0;transition:opacity .2s;position:absolute;top:18px;left:6px;background:#222;color:#fff;padding:6px 8px;border-radius:6px;font-size:12px;white-space:pre-line;z-index:999;max-width:220px}
td.highlight:hover .ac-events .tooltip{visibility:visible;opacity:1}
.ac-list-ul{list-style:none;padding:0;margin:0}.ac-list-item{display:flex;gap:12px;border-bottom:1px solid #eee;padding:10px 0}.ac-list-date{width:120px;font-weight:600}.ac-list-title{font-weight:600}.ac-list-course{font-size:12px;color:#666}
