/* Scoped additions to the established NSSE bilingual school interface. */
.f-notification-button[hidden]{display:none!important}.f-academic-only .f-side-bottom>a{display:none}
.tp-welcome{background:linear-gradient(120deg,#123f35,#236650);border:1px solid #235c46}
.tp-welcome h2{color:#fff}.tp-welcome p{color:#d6e7dc}
.tp-welcome button,.f-content button[data-nav],.f-content button[data-action^="tp-"],.tp-attendance-choices button,.f-content button[data-action="mark-absent"]{border:1px solid #cdded2;border-radius:8px;background:#f4f8f2;color:#194e3b;padding:10px 15px;font:inherit;cursor:pointer;line-height:1.4}
.tp-welcome button:hover,.f-content button[data-action^="tp-"]:hover{background:#deebdf;border-color:#80a68c}
.tp-welcome button:focus-visible,.f-content button[data-action^="tp-"]:focus-visible{outline:3px solid #c3b070;outline-offset:3px}
.f-content>.f-panel{margin-bottom:20px}.f-content .f-panel>h3{margin:22px 0 12px}
.tp-welcome h2{max-width:680px}.tp-welcome .f-toolbar{margin-top:20px}
.tp-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.tp-filter .f-form{margin:0}.tp-filter .f-form-actions{margin-top:16px}
.tp-list-item{padding:16px 0;border-bottom:1px solid #e1e8df}.tp-list-item:last-child{border-bottom:0}.tp-list-item small{display:block;color:#637869;margin-top:7px}
.f-panel progress{width:100%;height:10px;accent-color:#287050}
.tp-sheet-dialog{width:min(1200px,96vw)!important;max-width:96vw}.tp-sheet-dialog .f-dialog-body{padding:20px}
.tp-marks-roster{margin-top:18px;max-height:45vh;overflow:auto;border:1px solid #dce5d9;border-radius:10px}
.tp-marks-roster table{min-width:730px}.tp-marks-roster th{position:sticky;top:0;background:#edf3ed;z-index:1}.tp-marks-roster td{padding:9px 12px}
.tp-marks-roster input{min-width:80px;width:100%;margin:3px 0}.tp-marks-roster input[data-score]{width:100px}
.tp-marks-roster [aria-invalid=true]{border-color:#a14f35;background:#fff5f1}.tp-marks-roster [data-score-summary]{white-space:nowrap;font-variant-numeric:tabular-nums}
.tp-attendance-choices{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.tp-attendance-choices button{font-size:11px;padding:8px 9px;min-height:36px}
.tp-attendance-choices [aria-pressed=true]{background:#1c624b;color:#fff;border-color:#1c624b}.tp-attendance-choices [data-status=Absent][aria-pressed=true]{background:#a4513d;border-color:#a4513d}
.f-sidebar nav{overflow:auto;min-height:0;flex:1}.f-sidebar{display:flex;flex-direction:column}.f-side-bottom{flex:none}
@media(max-width:1050px){.tp-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tp-filter-grid{grid-template-columns:1fr}.tp-sheet-dialog{max-width:98vw;width:98vw!important}.tp-attendance-choices button{min-height:44px;padding:10px}.tp-marks-roster{max-height:55vh}.tp-marks-roster input{font-size:16px}.tp-filter .f-form-actions button{width:100%}}
@media print{.tp-filter,.tp-attendance-choices,.tp-welcome .f-toolbar{display:none!important}.tp-marks-roster{max-height:none;overflow:visible}}
