/* TFD 2026 operational workflow refinement */
.tfd-op-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#fffefa;border:1px solid #e5e4dc;border-radius:13px;box-shadow:0 8px 22px rgba(31,42,39,.035)}
.tfd-op-strip strong{font-size:12px;color:#26322e}.tfd-op-strip p{margin-top:2px;font-size:10.5px;color:#7a8380}
.tfd-op-actions{display:flex;gap:7px;flex-wrap:wrap}.tfd-op-actions a,.tfd-op-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #d8d5c9;border-radius:9px;background:#fff;color:#42504b!important;text-decoration:none;font-size:10.5px;font-weight:850}.tfd-op-actions .primary{background:#255f56;border-color:#255f56;color:#fff!important}
.tfd-op-search{width:min(360px,100%);min-height:38px!important}
.tfd-op-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #ead2a7;border-radius:12px;background:#fff6e7;color:#72501d;font-size:11px;font-weight:700;line-height:1.5}.tfd-op-alert.red{border-color:#ecc9c0;background:#fff1ed;color:#8c3d31}.tfd-op-alert.green{border-color:#cce0d7;background:#eef8f3;color:#285f4a}.tfd-op-alert b{font-weight:900}

/* Classes / assignments */
.tfd-class-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px}.tfd-class-tools .meta{font-size:10.5px;color:#7b8380;font-weight:700}
.tfd-inline-summary{display:flex;gap:8px;flex-wrap:wrap}.tfd-inline-summary span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f2f0e8;border:1px solid #e7e4da;color:#5d6662;font-size:9.8px;font-weight:800}.tfd-inline-summary b{color:#28332f}
.tfd-table-action details{position:relative}.tfd-table-action details[open] summary{background:#f3efe4!important}.tfd-table-action details form{box-shadow:0 16px 40px rgba(31,42,39,.09)}
.tfd-danger-btn{border-color:#ecc8bd!important;background:#fff2ee!important;color:#963b2e!important}.tfd-danger-btn:hover{background:#fde7e1!important}

/* Timetable */
.tfd-conflict-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 14px;border:1px solid #ebc5bb;border-radius:12px;background:#fff2ee;color:#8f4033}.tfd-conflict-banner strong{font-size:12px}.tfd-conflict-banner span{font-size:10.5px;font-weight:700}
.tfd-tt-day-card{scroll-margin-top:110px}.tfd-tt-slot-card{transition:border-color .15s ease,box-shadow .15s ease}.tfd-tt-slot-card:hover{border-color:#d2cfc4!important;box-shadow:0 9px 24px rgba(31,42,39,.05)}
.tfd-tt-filtered-out{display:none!important}

/* Teacher assignment */
.tfd-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tfd-readiness{padding:10px 11px;border:1px solid #e5e4dc;border-radius:10px;background:#faf9f4}.tfd-readiness span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#7b8380}.tfd-readiness strong{display:block;margin-top:3px;font-size:12px;font-weight:900;color:#2c3934}.tfd-readiness.ready strong{color:#266047}.tfd-readiness.needs{background:#fff7e9;border-color:#ecd8b3}.tfd-readiness.needs strong{color:#8c5f1a}
.tfd-register-tools{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-bottom:10px}.tfd-register-tools input{max-width:280px}

/* Marks entry */
.tfd-marks-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.tfd-marks-summary>div{padding:10px 11px;border:1px solid #e8e6dd;border-radius:10px;background:#faf9f4}.tfd-marks-summary span{display:block;font-size:9.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#7c8481}.tfd-marks-summary strong{display:block;margin-top:3px;font-size:17px;font-weight:900;color:#26322e}.tfd-marks-error{display:none;margin-top:10px;padding:9px 11px;border-radius:9px;background:#fff0ec;border:1px solid #efc8be;color:#983b2e;font-size:10.5px;font-weight:800}.tfd-marks-error.show{display:block}.tfd-invalid-input{border-color:#c85b49!important;box-shadow:0 0 0 3px rgba(200,91,73,.11)!important}.tfd-unsaved{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#f2efe7;color:#696356;font-size:9.8px;font-weight:850}.tfd-unsaved.changed{background:#fff0d7;color:#825919}.tfd-unsaved i{width:6px;height:6px;border-radius:50%;background:#aaa}.tfd-unsaved.changed i{background:#c48829}

/* Leave approval */
.tfd-leave-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tfd-leave-stat{padding:11px 12px;border:1px solid #e5e4dc;border-radius:11px;background:#fffefa}.tfd-leave-stat span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#7a8380}.tfd-leave-stat strong{display:block;margin-top:3px;font-size:20px;font-weight:900;color:#26322e}.tfd-leave-actions{display:flex;gap:6px;flex-wrap:wrap}.tfd-leave-actions button{min-height:32px;padding:6px 9px;border-radius:8px;border:1px solid #d9d6ca;background:#fff;font-size:10px;font-weight:900}.tfd-leave-actions .approve{background:#edf8f2;border-color:#c6e1d5;color:#276047}.tfd-leave-actions .reject{background:#fff0ec;border-color:#edc7bc;color:#963c2e}.tfd-leave-actions .save{background:#f4f1e8;color:#514d43}.tfd-leave-row.pending td{background:#fffcf4!important}.tfd-leave-reason{max-width:330px;white-space:normal;line-height:1.45}

/* Staff profile */
.tfd-staff-anchor{position:sticky;top:78px;z-index:14;display:flex;gap:6px;overflow-x:auto;padding:8px;margin-bottom:12px;background:rgba(245,244,239,.94);border:1px solid #e0ded5;border-radius:11px;backdrop-filter:blur(10px)}.tfd-staff-anchor a{flex:0 0 auto;padding:6px 9px;border-radius:7px;text-decoration:none!important;color:#4d5955!important;font-size:10px;font-weight:850}.tfd-staff-anchor a:hover{background:#fff;color:#255f56!important}
.tfd-staff-health{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.tfd-staff-health>div{padding:11px;border:1px solid #e5e4dc;border-radius:10px;background:#fffefa}.tfd-staff-health span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#7b8380}.tfd-staff-health strong{display:block;margin-top:3px;font-size:17px;font-weight:900}.tfd-staff-section{scroll-margin-top:130px}

/* Report detail */
.tfd-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tfd-report-toolbar .left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tfd-report-table-search{width:min(320px,100%)}.tfd-report-visible{font-size:10px;font-weight:800;color:#75807c}.tfd-report-table thead th{position:sticky;top:0;z-index:2}.tfd-report-row-hidden{display:none!important}.tfd-report-table td{max-width:340px;white-space:normal;overflow-wrap:anywhere}.tfd-report-table .tfd-empty-filter{display:none}

@media(max-width:1050px){.tfd-marks-summary,.tfd-staff-health,.tfd-leave-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tfd-readiness-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tfd-op-strip{align-items:stretch}.tfd-op-actions{width:100%}.tfd-op-actions a,.tfd-op-actions button{flex:1}.tfd-class-tools{grid-template-columns:1fr}.tfd-readiness-grid{grid-template-columns:1fr}.tfd-staff-anchor{top:66px}.tfd-register-tools{align-items:stretch}.tfd-register-tools input{max-width:none;width:100%}}
@media(max-width:520px){.tfd-marks-summary,.tfd-staff-health,.tfd-leave-stats{grid-template-columns:1fr 1fr}.tfd-leave-actions{display:grid;grid-template-columns:1fr 1fr}.tfd-report-toolbar{align-items:stretch}.tfd-report-table-search{width:100%}}
