.page.teaching-plan-calendar-page{max-width:none;min-height:calc(100vh - 116px);padding:24px 15px 48px;background:#f3f3f4;color:#676a6c;font:300 14px/21px Lexend,sans-serif}
.teaching-plan-calendar-page>.page-heading{min-height:69px;margin-bottom:0;padding:15px;background:#fafafa}
.teaching-plan-calendar-page>.page-heading h1{color:#6a6a6a;font:500 20px/24px Lexend,sans-serif}
.tpc-shell{color:#676a6c}
.tpc-filter{position:relative;display:grid;grid-template-columns:256px 396px 256px 256px 42px;align-items:start;gap:24px;height:135px;margin:0;padding:9px 15px;border:1px solid #e7eaec;background:#fff}
.tpc-filter label{display:grid;gap:0;min-width:0;font-weight:500}
.tpc-filter label>span{padding-left:5px}
.tpc-filter select{height:33px;padding:5px 10px;border:1px solid #e5e6e7;background:#fff;color:#676a6c;font-weight:300}
.tpc-filter button,.tpc-row-actions button{min-height:31px;padding:4px 8px;border:1px solid #005be8;border-radius:3px;background:#005be8;color:#fff;font-weight:400}
.tpc-filter>button{margin-top:21px}
.tpc-filter button:disabled{opacity:.55}
.tpc-class-tabs,.tpc-views{display:flex;overflow-x:auto;align-items:flex-end;min-height:41px;gap:0;padding:0 10px;border-bottom:1px solid #e7eaec;background:#fff}
.tpc-class-tabs{margin-top:8px}
.tpc-class-tabs button,.tpc-views button{flex:none;min-height:41px;padding:8px 16px;border:0;border-bottom:2px solid transparent;background:#fff;color:#676a6c;font-weight:300;white-space:nowrap}
.tpc-class-tabs button[aria-selected=true],.tpc-views button[aria-selected=true]{border-bottom-color:#ed5565;color:#000}
.tpc-result-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:37px;margin:20px 12px 0}
.tpc-result-top span{margin-right:auto}
.tpc-result-top button{border:0;background:none;color:#1c84c6;text-decoration:underline}
.tpc-year-range{margin:0 12px;min-height:21px}
.tpc-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;min-height:93px;margin:16px 24px 0;border:1px solid #e7eaec;background:#fff}
.tpc-summary>div{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:8px 12px;border-right:1px solid #e7eaec}
.tpc-summary>div:last-child{border-right:0}.tpc-summary strong{color:#212529;font-size:18px;font-weight:600}.tpc-summary small{color:#7a8783;font-size:11px;line-height:15px}
.tpc-table-card{margin:16px 24px 0;padding:16px;border:1px solid #e7eaec;background:#fff}
.tpc-views{padding:0;min-height:41px}.tpc-table-scroll{overflow-x:auto;margin-top:17px}
.tpc-year-table,.tpc-compliance{width:100%;min-width:1450px;border-collapse:collapse;color:#676a6c;font:300 13px/19px Lexend,sans-serif}
.tpc-year-table :is(th,td),.tpc-compliance :is(th,td){border:1px solid #ebebeb;padding:9px 5px;text-align:center;vertical-align:middle}
.tpc-year-table thead th,.tpc-compliance thead th{background:#ededed;color:#000;font:700 13px/18px Lexend,sans-serif}
.tpc-year-table tbody th{text-align:left;font-weight:400;white-space:nowrap}.tpc-year-table tbody tr{height:42px}
.tpc-total{background:#f5f5f6;font-weight:600}.tpc-row-actions{min-width:90px;white-space:nowrap}.tpc-row-actions button{margin:2px;padding:3px 5px;font-size:11px}.tpc-row-actions [data-tpc-cancel]{border-color:#f8ac59;background:#f8ac59}
.tpc-stepper{display:flex;align-items:center;justify-content:center;gap:2px}.tpc-stepper input{width:32px;height:30px;padding:0;border:1px solid #e5e6e7;background:#fff;color:#676a6c;text-align:center;appearance:textfield;-moz-appearance:textfield}
.tpc-stepper input::-webkit-inner-spin-button,.tpc-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.tpc-stepper button{width:18px;height:24px;padding:0;border:1px solid #e5e6e7;background:#fff;color:#364656}.tpc-stepper button:disabled{visibility:hidden}
.tpc-loading,.tpc-error,.tpc-notice,.tpc-boundary{margin:12px 24px}.tpc-error{color:#b42318}.tpc-notice{color:#1d7b4d}
.tpc-month-modal{left:50vw;width:min(1140px,calc(100vw - 32px));max-height:calc(100vh - 56px);padding:20px;border:1px solid #e7eaec;border-radius:5px;color:#676a6c;font:300 14px/21px Lexend,sans-serif}
.tpc-month-modal::backdrop{background:#0006}.tpc-month-modal>button{float:right;border:0;background:transparent;font-size:24px}.tpc-month-modal h2{margin:0 0 20px;color:#212529;font-size:18px}
.tpc-month-grids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-height:calc(100vh - 150px);overflow-y:auto}
.tpc-month-grid{padding:12px;border:1px solid #e7eaec}.tpc-month-grid h3{margin:0 0 8px;font-size:14px;font-weight:500}.tpc-month-grid h3 small{float:right;font-size:11px;font-weight:300}
.tpc-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.tpc-calendar-grid :is(b,span){padding:5px 2px}.tpc-calendar-grid b{font-size:11px}
.tpc-calendar-month-tabs{display:flex;overflow-x:auto;gap:0;margin-top:16px;border-bottom:1px solid #e7eaec}
.tpc-calendar-month-tabs button{flex:none;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:#fff;color:#676a6c;font:300 14px/21px Lexend,sans-serif;white-space:nowrap}
.tpc-calendar-month-tabs button[aria-selected=true]{border-bottom-color:#ed5565;color:#000}
.tpc-calendar-notice,.tpc-calendar-empty{margin:16px 8px;color:#676a6c}
.tpc-report-heading{margin:16px 0 0;color:#676a6c;font:500 16px/24px Lexend,sans-serif}
.tpc-report-footer{margin:16px 0 0;color:#676a6c;font:300 14px/21px Lexend,sans-serif}
@media(max-width:1100px){.tpc-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.tpc-month-grids{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1350px){.tpc-filter{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;padding:16px}.tpc-filter>button{margin-top:0}.tpc-class-tabs{margin-top:16px}}
@media(max-width:700px){.tpc-filter{grid-template-columns:1fr}.tpc-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.tpc-table-card{margin:12px 0}.tpc-month-grids{grid-template-columns:1fr}}
