/* Scoped to the calendar and its day content; shared shell and navigation stay shared. */
.checkin-page-head{align-items:center;margin:6px 0 14px}.checkin-page-head h1{font-size:var(--text-page)}.checkin-page-head .section-link{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:var(--text-sm)}.checkin-page-head .section-link svg{width:14px;height:14px}
.checkin-calendar-card{padding:12px 12px 8px}.checkin-month-head{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:0;align-items:center;margin-bottom:8px}.checkin-month-head h2{grid-area:1/1/2/5;pointer-events:none;font-size:var(--text-section);text-align:center;font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.checkin-month-arrow{grid-row:1;grid-column:1;z-index:1;width:44px;height:44px;display:grid;place-items:center;background:none;border-radius:var(--radius-pill)}.checkin-month-head h2+.checkin-month-arrow{grid-column:3}.checkin-month-arrow svg{width:18px;height:18px}.checkin-today{grid-row:1;grid-column:4;z-index:1;height:44px;display:grid;place-items:center;background:none;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-bold);border-radius:var(--radius-pill)}
.checkin-weekdays,.checkin-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.checkin-weekdays span{text-align:center;height:28px;font-size:var(--text-sm);color:var(--muted)}.checkin-dates{row-gap:2px}.checkin-date{position:relative;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border-radius:12px;font-size:var(--text-body);font-weight:var(--weight-regular);color:var(--text);font-variant-numeric:tabular-nums}.checkin-date>span{display:grid;place-items:center;width:32px;height:30px}.checkin-date.outside{color:var(--muted)}.checkin-date.is-today>span{border:1px solid var(--accent);border-radius:50%;color:var(--accent)}.checkin-date.is-selected{background:var(--accent-soft);color:var(--accent-strong);opacity:1;font-weight:var(--weight-bold)}.checkin-date.is-selected>span{border-radius:50%;background:var(--accent);color:#fff}.checkin-date i{position:absolute;bottom:3px;width:4px;height:4px;background:var(--accent);border-radius:50%}.checkin-calendar-legend{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 4px 8px;font-size:var(--text-xs);line-height:1.5;color:var(--muted)}.checkin-calendar-legend>span{display:flex;align-items:center;gap:5px}.checkin-calendar-legend i{width:4px;height:4px;border-radius:50%;background:var(--accent)}.checkin-calendar-toggle{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--surface-2);border-radius:10px;font-size:var(--text-xs);color:var(--muted)}.checkin-calendar-toggle span{width:14px;height:14px;transform:rotate(-90deg)}.checkin-calendar-toggle[aria-expanded=false] span{transform:rotate(90deg)}.checkin-calendar-toggle svg{width:14px;height:14px}
.checkin-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.checkin-section-head h2{font-size:var(--text-section)}.checkin-section-head>span{font-size:var(--text-sm);color:var(--muted)}.checkin-course{padding:16px}.checkin-course-main{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}.checkin-course-main>img{width:64px;height:84px;object-fit:cover;border-radius:10px;background:var(--surface-2)}.checkin-course-name{display:flex;align-items:center;gap:2px;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.checkin-course-name svg{width:12px;height:12px;flex:none}.checkin-course h3{font-size:var(--text-title);line-height:1.5;margin:5px 0}.checkin-course-main p{font-size:var(--text-sm);line-height:1.6}.checkin-course-primary{display:flex;justify-content:center;width:100%;gap:8px;margin-top:16px}.checkin-course-actions{display:flex;justify-content:space-around;align-items:center;gap:8px;margin-top:8px}.checkin-course-actions>a,.checkin-course-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 0;background:none;font-size:var(--text-sm);white-space:nowrap}.checkin-course-actions svg{width:16px;height:16px;color:var(--muted)}.checkin-no-record{font-size:var(--text-sm);color:var(--muted);text-align:center;margin-top:16px}.checkin-records{padding:4px 16px}.checkin-records .record-row{min-height:72px}.checkin-empty{text-align:center;padding:24px 16px}.checkin-empty h3,.checkin-access h3{font-size:var(--text-title);margin-bottom:8px}.checkin-empty p,.checkin-access p{font-size:var(--text-sm)}.checkin-empty .secondary,.checkin-access .secondary{margin-top:12px}.checkin-add-note{display:flex;margin:8px auto 0}.checkin-links{display:flex;align-items:center;justify-content:center;gap:30px;padding-top:18px}.checkin-links a{display:flex;align-items:center;gap:4px;min-height:44px;color:var(--muted);font-size:var(--text-sm)}.checkin-links svg{width:14px;height:14px}.checkin-return{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--accent);font-size:var(--text-sm)}
