.av-plan { color: #272b29; background: #fff; font-family: inherit; font-size: 1rem; line-height: 1.55; margin: 1.5rem 0; max-width: 100%; }
.av-plan, .av-plan * { box-sizing: border-box; }
.av-plan ::selection { background: #dce9df; color: #173e2b; }
.av-plan .av-intro { margin: 0 0 1.5rem; line-height: 1.6; }
.av-plan .av-intro strong { color: #234d37; font-variant-numeric: tabular-nums; }
.av-plan .av-notice { padding: 1rem; margin: 0 0 1.25rem; background: #faf4e6; color: #674514; border: 1px solid #ddcba5; }
.av-plan .av-table { width: 100%; max-width: 100%; table-layout: auto !important; border-collapse: collapse; border: 0; margin: 0; text-align: left; font-size: inherit; }
.av-plan .av-table caption { text-align: left; color: #234d37; font-size: 1.55em; font-weight: 700; padding: 0 0 .8rem; text-transform: none; }
.av-plan .av-table th, .av-plan .av-table td { padding: .85rem .9rem; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid #dfe5df; word-break: normal !important; overflow-wrap: normal !important; hyphens: none !important; line-height: 1.5; text-transform: none; letter-spacing: normal; }
.av-plan .av-table thead th { background: #edf2ee; color: #234d37; font-weight: 600; font-size: .9em; }
.av-plan .av-table tbody th { width: 1%; white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.av-plan .av-table .av-weekday { width: 1%; white-space: nowrap; }
.av-plan .av-table .av-assignment { width: auto; white-space: normal !important; }
.av-plan .av-table tbody tr:nth-child(even) { background: #f7f9f7; }
.av-plan .av-table tbody tr.av-today { background: #e6f0e8; }
.av-plan .av-today-label { display: block; color: #234d37; font-weight: 700; font-size: .8em; }
.av-plan .av-updated { margin: .85rem 0 0; color: #535f57; font-size: .85em; }
.av-plan .av-refresh-error { margin: .75rem 0 0; font-size: .85em; color: #674514; }
@media (max-width: 600px) {
  .av-plan .av-table, .av-plan .av-table caption, .av-plan .av-table tbody { display: block; width: 100%; }
  .av-plan .av-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .av-plan .av-table tbody tr { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: .8rem; padding: 1rem .75rem; border-bottom: 1px solid #dfe5df; }
  .av-plan .av-table tbody th, .av-plan .av-table tbody td { display: block; border: 0; padding: 0; width: auto; }
  .av-plan .av-table .av-weekday { white-space: normal; }
  .av-plan .av-table .av-assignment { grid-column: 1 / -1; padding-top: .4rem; }
  .av-plan .av-today-label { display: inline; margin-left: .45rem; }
}
@media print {
  .av-plan { color: #000; font-size: 10pt; }
  .av-plan .av-table { display: table; }
  .av-plan .av-table caption { display: table-caption; }
  .av-plan .av-table thead { display: table-header-group; position: static; width: auto; height: auto; clip-path: none; }
  .av-plan .av-table tbody { display: table-row-group; }
  .av-plan .av-table tbody tr { display: table-row; break-inside: avoid; }
  .av-plan .av-table tbody th, .av-plan .av-table tbody td { display: table-cell; padding: .3rem .5rem; }
  .av-plan .av-refresh-error { display: none; }
}
