/* Layout for interactive daily attendance; preserves the school's brand palette. */
.ag-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 18px}
.ag-filter-field{min-width:0}.ag-filter-field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:#425951}.ag-filter-field select,.ag-filter-field input{width:100%;min-width:0}
.ag-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#f4f8f5;padding:12px 16px;border-radius:14px;border:1px solid #e0eae3}
.ag-status{font-size:13px;color:#416050}.ag-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#91aa67;margin-left:8px}.ag-actions{display:flex;gap:8px;flex-wrap:wrap}.ag-actions .btn{font-size:12px}
.ag-summary{margin:14px 0}.ag-metrics{margin:12px 0}.ag-ledger{padding:18px}.ag-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;color:#657770}.ag-legend span:first-child{color:#a34747}.ag-legend span:nth-child(2){color:#b37c37}.ag-legend span:last-child{color:#327e6b}
.ag-tablewrap{max-height:64vh;overflow:auto;border-radius:13px;border:1px solid #e0e9e4}.ag-table{min-width:860px;border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.ag-table thead th{position:sticky;top:0;background:#edf4ef;z-index:2;white-space:nowrap;padding:14px}.ag-table td{padding:10px 8px;border-bottom:1px solid #e8eee9;vertical-align:middle}.ag-table tr.ag-changed{background:#fefaf0}.ag-table .ag-name{position:sticky;right:0;z-index:1;min-width:180px;max-width:220px;background:#fff;border-left:1px solid #e5ede7}.ag-table .ag-changed .ag-name{background:#fefaf0}.ag-number{display:inline-block;color:#809188;margin-left:6px}.ag-table .ag-name b{display:inline;font-size:13px}.ag-table .ag-name small{display:block;color:#71837b;font-size:11px;padding:3px 20px 0 0}.ag-table td[data-kind]{min-width:155px}.ag-cell{border:1px solid #e7ede8;border-radius:10px;padding:8px 9px;background:#f8faf8;min-width:145px;transition:background .15s}.ag-cell.ag-on.ag-absent{background:#fff1ee;border-color:#e8c5be}.ag-cell.ag-on.ag-late{background:#fff7e9;border-color:#e4d2a6}.ag-cell.ag-on.ag-leave{background:#eef8f3;border-color:#c6dfd0}.ag-cell-check{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;color:#52655b;cursor:pointer;white-space:nowrap;margin:0!important}.ag-cell-check input{width:17px;height:17px;accent-color:#28705e;cursor:pointer}.ag-cell-details{display:none;margin-top:8px;gap:5px}.ag-on .ag-cell-details{display:grid}.ag-cell-details select,.ag-cell-details input{height:31px;padding:4px 6px;font-size:11px;width:100%;min-width:0;border-radius:7px;border:1px solid #d5dfd6;background:#fff;box-sizing:border-box}.ag-th-absent{color:#9a4a45!important}.ag-th-late{color:#8b6c35!important}.ag-th-leave{color:#207860!important}.ag-row-state{min-width:92px;text-align:center}.ag-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #e5ece7;padding-top:16px;margin-top:18px}.ag-footer p{font-size:13px;color:#62776a;margin:0}.ag-help{margin:16px 0}
#agPrintRoot{display:none}
@media(max-width:900px){.ag-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-table .ag-name{min-width:155px}}
@media(max-width:600px){.ag-filter-grid{grid-template-columns:1fr}.ag-actions{width:100%}.ag-actions .btn{flex:1}.ag-ledger{padding:12px}.ag-footer button{width:100%}}
@media print{
 body.ag-printing>*:not(#agPrintRoot){display:none!important}
 body.ag-printing{background:#fff!important;direction:rtl!important}
 body.ag-printing #agPrintRoot{display:block!important;font-family:Tahoma,Arial,sans-serif;padding:0 12px;color:#242b27;font-size:11px}
 #agPrintRoot .ag-paper-header{display:flex;align-items:center;gap:16px;border-bottom:2px solid #355b49;padding-bottom:14px;margin-bottom:15px}
 #agPrintRoot .ag-paper-header img{width:65px;height:65px;object-fit:contain}
 #agPrintRoot .ag-paper-header h2{margin:3px 0;font-size:17px;color:#2b5945}
 #agPrintRoot .ag-paper-header p{margin:2px 0}
 #agPrintRoot table{width:100%;border-collapse:collapse;direction:rtl}
 #agPrintRoot th,#agPrintRoot td{border:1px solid #b8c7bd;text-align:right;padding:7px 6px}
 #agPrintRoot th{background:#edf4ef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #agPrintRoot .ag-paper-foot{margin-top:18px;font-size:10px}
 @page{size:A4 portrait;margin:12mm}
}
