/* Teacher refinements: readable scheduling, sentence reports and private documents. */
.tcal-page .tcal-smart-scroll{overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.tcal-page .tcal-smart-grid{height:auto;min-height:100%;grid-template-rows:54px repeat(var(--tcal-rows),minmax(38px,1fr))}
.tcal-smart-grid .tcal-corner,.tcal-smart-grid .tcal-day{position:sticky;top:0;z-index:9;background:#f7f9f3}
.tcal-smart-grid .tcal-day.is-today{background:#ebf3da}
.tcal-smart-grid .tcal-event{overflow:hidden;margin:2px 3px;padding:2px 6px}
.tcal-smart-grid .tcal-event-time{font-size:10px;line-height:13px}
.tcal-smart-grid .tcal-open-copy{font-size:11px;color:#4a7139;justify-content:center}
.tcal-outside{background:repeating-linear-gradient(135deg,#f0f2ee,#f0f2ee 3px,#f5f6f3 3px,#f5f6f3 6px);cursor:default}
.tcal-page .tcal-options select{max-width:205px;font-size:11px}.tcal-rule-note{font-size:11px;color:#6a7c5b}
.tcal-page .tcal-instructions{height:auto;min-height:27px;white-space:normal}.tcal-page .tcal-instructions>strong{line-height:16px}
.tcal-reason select{display:block;margin-top:9px;width:100%;padding:12px;border:1px solid #dbe5d2;border-radius:8px;color:#355a46}
.tx-group-plan h3{font-size:16px;margin:22px 0 10px}.tx-group-plan>select{width:100%;padding:12px;border:1px solid #dce4d5;border-radius:8px}.tx-group-plan p{font-size:12px;line-height:1.6;color:#76866b;margin:8px 0}
.tx-session-unit{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid #e7ebe1}.tx-session-unit b{font-size:12px}.tx-session-unit small{display:block;font-size:10px;color:#819173;margin-top:5px}.tx-session-unit select{width:100%;min-width:0;padding:10px;border:1px solid #dce4d5;border-radius:7px;font-size:12px}
.tx-wide-modal{width:min(1120px,calc(100vw - 40px))!important;max-width:1120px!important}
.tx-error-table{border:1px solid #e0e8df;border-radius:12px;overflow:hidden}.tx-error-head,.tx-error-row{display:grid;grid-template-columns:1fr 1fr 1fr}.tx-error-head{background:#f1f5ec;font-size:11px;font-weight:600;padding:13px 0;color:#526b46}.tx-error-head>span{padding:0 16px}.tx-error-row{border-top:1px solid #e4eae0}.tx-error-row>div{padding:15px 16px;border-right:1px solid #e8eee3;min-width:0}.tx-error-row>div:last-child{border:0;background:#f8fbf3}.tx-error-original{background:#fcf8f2}.tx-error-row small{font-size:9px;letter-spacing:.4px;color:#88917b;display:block;margin-bottom:7px}.tx-error-row p{font-size:13px;line-height:1.65;color:#344b40;margin:0;overflow-wrap:anywhere}.tx-error-original p{color:#9c664c}.tx-error-row:not(:first-child)>div:not(:first-child)>small{color:#749469}
.tx-report-toolbar,.tx-report-footer{display:flex;align-items:center;gap:15px;justify-content:space-between;margin:18px 0}.tx-report-toolbar b{margin-right:auto}.tx-report-toolbar label{font-size:11px;display:flex;align-items:center;gap:8px}.tx-report-toolbar select{padding:8px;border:1px solid #dde5d6;border-radius:7px;max-width:230px}.tx-report-footer small{font-size:10px;color:#819073;max-width:550px;line-height:1.6}.tx-report-footer>div{display:flex;align-items:center;gap:14px;white-space:nowrap}
.tx-previous>p{color:#7f9075;font-size:12px}.tx-previous>div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px;border:1px solid #dde8d4;border-radius:8px;margin-top:9px;background:#f6faef}.tx-previous b{font-size:13px}.tx-previous small{display:block;color:#8a987c;font-size:11px;margin-top:5px}
.tx-invoice-card{padding:22px 24px!important;margin:20px 0;display:flex;align-items:center;gap:20px;justify-content:space-between}.tx-invoice-card>div{display:flex;align-items:center;gap:16px}.tx-invoice-card h2{font-size:17px}.tx-invoice-card p{font-size:12px;color:#859377;line-height:1.6;margin-top:6px}.tx-invoice-document{padding:24px;border:1px solid #dfe5d7;border-radius:12px;background:#fff}.tx-invoice-document header{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #e3e9db}.tx-invoice-document h2{font-size:34px;margin:10px 0 0}.tx-invoice-document small{display:block;color:#88947d;font-size:10px;line-height:1.7}.tx-invoice-parties{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:24px 0}.tx-invoice-parties b{font-size:13px}.tx-invoice-document .tw-table{width:100%;margin:20px 0}.tx-invoice-document td,.tx-invoice-document th{padding:12px 8px;text-align:left;border-bottom:1px solid #e7ebdf}.tx-invoice-total{display:flex;justify-content:flex-end;align-items:center;gap:35px;padding:20px 0}.tx-invoice-total strong{font-size:28px}.tx-invoice-document>p,.tx-invoice-document footer{font-size:11px;color:#839477}.tx-invoice-document footer{margin-top:30px;padding-top:15px;border-top:1px solid #e8ede1}
.tx-sign-form{margin-top:22px;border:1px solid #dbe7cf;background:#f5f9ef;border-radius:12px;padding:24px}.tx-sign-form h3{font-size:18px;margin-bottom:18px}.tx-sign-form label{display:block;font-size:12px}.tx-sign-form input:not([type=checkbox]){display:block;width:100%;border:1px solid #d9e3d0;border-radius:7px;background:#fff;padding:12px;margin:8px 0 12px;color:#284a39}.tx-signature-preview,.tx-signature-script{font:italic 34px/1.5 Georgia,serif;color:#254c3a}.tx-signature-preview{min-height:74px;border-bottom:1px solid #c9d8be;margin-bottom:18px}.tx-sign-form .tx-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.6}.tx-consent input{margin-top:3px;accent-color:#315d3b}.tx-sign-form>.btn{margin:18px 0 12px}.tx-sign-form>small{display:block;font-size:10px;color:#829472}.tx-review-note{background:#fcf3df;padding:14px 18px;border-radius:8px;line-height:1.7;font-size:12px;color:#8a723d}.tx-signed{padding:20px 0}.tx-signed small{font-size:11px;color:#8a987e}
.tx-contract-row{display:flex;align-items:center;gap:18px;padding:24px;border-bottom:1px solid #e6eddf}.tx-contract-row>div{flex:1}.tx-contract-row h3{font-size:16px}.tx-contract-row p{font-size:11px;color:#839377;line-height:1.7;margin-top:7px}.tx-contract-body{white-space:pre-wrap;font-size:14px;line-height:1.9;margin:22px 0;color:#4c6150}.tx-contract-document h2{margin:12px 0;font-size:26px}.tx-contract-document>p{font-size:12px;color:#889a7b}.tx-attachment{display:flex;align-items:center;gap:12px;border:1px solid #e0e8d7;background:#f8faf4;border-radius:8px;padding:14px;font-size:13px}.tx-attachment>span{flex:1}.tx-attachment small{display:block;color:#889b78;font-size:10px;margin-top:5px}
.tx-help-categories{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:25px 0}.tx-help-categories>button{border:1px solid #dde6d4;border-radius:9px;background:#fff;color:#678059;padding:11px 15px;font:inherit;font-size:12px;cursor:pointer}.tx-help-categories>button.active{background:#254f3c;color:#fff;border-color:#254f3c}.tx-help-categories>.tw-search{margin-left:auto}.tx-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tx-help-article{padding:28px!important;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:transform .2s,border-color .2s}.tx-help-article:hover{transform:translateY(-3px);border-color:#9bb97a}.tx-help-article h2{font-size:21px;line-height:1.35;margin:20px 0 13px;min-height:58px}.tx-help-article p{font-size:12px;line-height:1.7;color:#829578;min-height:42px;margin-bottom:25px}.tx-help-article .text-link{font-size:12px;display:flex;align-items:center;gap:9px}.tx-help-tools{padding:25px!important;margin-top:25px}.tx-help-tools p{font-size:12px;line-height:1.7;color:#819273;margin:12px 0}.tx-help-body h2{font-size:26px;margin:15px 0}.tx-help-body p{font-size:13px;color:#8a997c;margin-bottom:25px}.tx-help-body>div:not(.eyebrow){font-size:14px;line-height:1.9}
.tp-avatar-editor{display:flex;gap:20px;align-items:center;margin:18px 0 28px}.tp-avatar-preview{display:flex;align-items:center;justify-content:center;width:88px;height:88px;flex:none;border-radius:50%;background:#e7efdd;color:#5f7c4c;font-size:25px;overflow:hidden}.tp-avatar-preview img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.tp-avatar-editor .tp-upload{margin:0}.tp-avatar-editor small{display:block;margin-top:6px;font-size:10px;color:#849576}.tx-profile-links{display:flex;justify-content:flex-end;margin-bottom:14px}
.tx-admin-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.tx-admin-cards .ta-panel{margin:0}.tx-admin-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e7ebe2}.tx-admin-row>div{flex:1;min-width:0}.tx-admin-row strong{font-size:13px;display:block}.tx-admin-row small{font-size:11px;display:block;margin-top:5px;color:#819174}.tx-admin-row .btn{flex:none}.tx-admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tx-admin-fields textarea{min-height:160px}.tx-admin-fields .span-all{grid-column:1/-1}
@media(max-width:900px){.tx-help-grid{grid-template-columns:1fr 1fr}.tx-session-unit{grid-template-columns:1fr}.tx-report-toolbar{flex-wrap:wrap}.tx-report-footer{align-items:flex-start}.tx-error-row>div{padding:12px}.tx-error-head>span{padding:0 12px}.tx-invoice-card{align-items:flex-start;flex-direction:column}.tcal-toolbar-actions{flex-wrap:wrap}.tx-contract-row{flex-wrap:wrap}.tx-admin-cards{grid-template-columns:1fr}}
@media(max-width:600px){.tx-error-head{display:none}.tx-error-row{grid-template-columns:1fr}.tx-error-row>div{border:0;border-bottom:1px solid #edf0e8}.tx-help-grid{grid-template-columns:1fr}.tx-help-article h2,.tx-help-article p{min-height:0}.tx-invoice-parties{grid-template-columns:1fr}.tx-invoice-document{padding:15px}.tx-report-footer{flex-direction:column}.tx-report-toolbar label{flex:1}.tx-help-categories>.tw-search{margin:10px 0 0;width:100%}.tx-admin-fields{grid-template-columns:1fr}.tx-admin-fields .span-all{grid-column:auto}}

.tx-profile-subnav,.tx-earnings-links{display:flex;justify-content:flex-end;margin:-8px 0 18px}.tcal-fold-cell:disabled{font-size:9px;color:#98a290;background:#f0f2ed;cursor:default}.tcal-fold-time:disabled{cursor:default}

/* Overview keeps every occupied half-hour; the editing view expands unused time. */
.tcal-page.is-overview .tcal-smart-grid{height:100%;min-height:calc(44px + var(--tcal-rows)*16px);grid-template-rows:44px repeat(var(--tcal-rows),minmax(16px,1fr))}
.tcal-page.is-overview .tcal-smart-scroll{scrollbar-gutter:auto;overflow-y:hidden}.tcal-unused{background:#f7f9f4;border-bottom:1px solid #e8eddf;border-right:1px solid #e8eddf}
.tcal-page.is-overview .tcal-instructions{display:none}
.tcal-page.is-overview .tcal-editor{min-height:46px;padding-top:5px;padding-bottom:5px}
.tcal-page.is-overview .tcal-day{padding-top:2px;padding-bottom:2px;gap:0}
.tcal-page.is-overview .tcal-day strong{font-size:17px;line-height:20px}
.tcal-page.is-overview .tcal-day small{font-size:9px;line-height:11px}
.tcal-page.is-overview .tcal-event{justify-content:center}
.tcal-page.is-overview .tcal-event-title,.tcal-page.is-overview .tcal-event-time{display:none}
.tcal-page.is-overview .tcal-time{font-size:10px;padding:0 3px;display:flex;align-items:center;justify-content:center}
.tcal-page.is-overview .tcal-fold-cell{font-size:10px;gap:4px;padding:0 3px}
.tcal-page.is-overview .tcal-mode-help{font-size:11px}
.tcal-repeat-mark{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;color:#658b46;pointer-events:none}
.tcal-repeat-mark .icon{width:14px;height:14px;stroke-width:1.7}
.tcal-repeat-legend .icon{width:12px;height:12px;color:#658b46}
.tcal-opening-choice{display:flex;align-items:center;gap:5px;font-size:11px}
.tcal-opening-choice>span{margin-right:4px;color:#7b896f}
.tcal-repeat-option{display:flex;align-items:center;gap:7px;border:1px solid #dce5d2;background:#fff;border-radius:7px;padding:7px 12px;color:#5e7251;font:inherit;cursor:pointer;text-align:left}
.tcal-repeat-option small{display:block;font-size:9px;font-weight:400;margin-top:3px;opacity:.85}
.tcal-repeat-option.active{border-color:#769653;background:#edf4e0;color:#2f5337;box-shadow:inset 0 0 0 1px #adc591}
.tcal-repeat-option .icon{width:14px;height:14px}
.tcal-repeat-option:focus-visible{outline:2px solid #356343;outline-offset:2px}
.tcal-page .tcal-options{flex-wrap:wrap}
.tx-invoice-layout.can-sign{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:22px;align-items:start}
.tx-invoice-signing{grid-column:2;grid-row:1;position:sticky;top:0}
.tx-invoice-layout.can-sign>#tx-invoice-preview{grid-column:1;grid-row:1;min-width:0}
.tx-invoice-signing .tx-sign-form{margin:0;padding:20px}
.tx-invoice-signing .tx-signature-preview{min-height:46px;font-size:27px;margin-bottom:12px}
.tx-sign-form textarea{display:block;width:100%;resize:vertical;border:1px solid #d9e3d0;border-radius:7px;padding:10px;margin:8px 0;font:inherit;line-height:1.5;background:white;color:#284a39}
.tx-sign-form #tx-address-saved{font-size:10px;color:#4b784d;margin:0 0 12px}
.tx-invoice-signing .tx-sign-form>.btn{margin:5px 0 14px}
.tx-invoice-signing .tx-review-note{font-size:10px;padding:9px;margin:8px 0 12px}
.tx-invoice-layout .tx-invoice-document{padding:22px}
.tx-invoice-layout .tx-invoice-parties{grid-template-columns:1fr 1fr;gap:14px}
.tx-invoice-layout .tx-invoice-parties>div:last-child{grid-column:1/-1}
.tx-payment-address p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;margin:5px 0}
.tx-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tx-help-article{position:relative;padding:16px 46px 16px 18px!important;min-height:0;transition:border-color .15s,background .15s}
.tx-help-article:hover{transform:none;background:#f9fbf5}
.tx-help-article .eyebrow{font-size:9px;letter-spacing:1px}
.tx-help-article h2{font-size:16px;line-height:1.35;min-height:0;margin:7px 0 5px}
.tx-help-article p{min-height:0;margin:0;font-size:11px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tx-help-article .text-link{position:absolute;right:17px;top:50%;font-size:0}
.tx-help-article .text-link .icon{width:17px;height:17px}
.tx-help-tools{padding:18px!important;margin-top:18px}
.sidebar .help-box{padding:13px 14px}
.sidebar .help-title{font-size:12px;line-height:1.5;gap:10px}
.sidebar .help-box p{margin-top:6px;font-size:10px}
.ti-home-notices{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:12px 17px;border:1px solid #dce6d5;border-radius:11px;margin:0 0 18px;background:#f0f5e8}
.ti-home-notices button{display:flex;align-items:center;gap:8px;border:0;background:none;color:#34543c;font:inherit;font-size:11px;cursor:pointer;text-align:left}
.ti-home-notices .icon{width:15px;height:15px;flex:none}
.ti-notice-entry{margin-right:10px;white-space:nowrap}
.ti-home-notice{flex:1;min-width:160px;max-width:400px}
.ti-home-notice>span{flex:1}
.ti-home-notice>i{width:5px;height:5px;border-radius:50%;background:#be8756;flex:none}
.ti-notification{display:flex;align-items:center;gap:18px;width:100%;border:0;border-top:1px solid #e5ecdc;background:#fff;padding:22px;text-align:left;font:inherit;cursor:pointer;color:#38513e}
.ti-notification.is-unread{background:#f6faef;box-shadow:inset 3px 0 #799957}
.ti-notification>span:nth-child(2){flex:1}
.ti-notification b{font-size:14px}.ti-notification p{font-size:12px;line-height:1.7;margin:6px 0;color:#728466}.ti-notification small{font-size:10px;color:#839178}
.notification.ti-bell:after{display:none}
.ti-bell-count{position:absolute;right:-5px;top:-3px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:1px 3px;border-radius:9px;background:#a76c43;color:white;font-size:9px}
.ti-pay-adjustments{margin-top:14px;border-top:1px solid #e7ecdf}
.ti-pay-adjustments button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 0;border:0;background:none;text-align:left;color:#5e7351;font:inherit;font-size:11px;cursor:pointer}
.ti-pay-adjustments button>span{flex:1}.ti-pay-adjustments small{display:block;margin-top:4px;font-size:9px}.ti-pay-adjustments .icon{width:13px}
.ti-notify-check{display:flex;align-items:center;gap:9px;font-size:12px;padding:12px 0}
@media(max-width:1100px){.tcal-page.is-overview .tcal-mode-help{display:none}.tcal-page .tcal-editor{flex-wrap:wrap}.tcal-opening-choice>span{display:none}.tcal-repeat-option{padding:6px 8px}}
@media(max-width:760px){.tx-invoice-layout.can-sign{display:flex;flex-direction:column}.tx-invoice-signing{position:static;width:100%}.tx-invoice-layout>#tx-invoice-preview{width:100%}.tx-help-grid{grid-template-columns:1fr}.ti-home-notice{max-width:none}.ti-notification{padding:16px;gap:12px}}
