/* Toast notification (bottom-center) */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--maroon-dark);color:#fff;padding:12px 22px;border-radius:10px;
  font-size:.85rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transition:all .3s ease;z-index:999;max-width:90vw;
}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* Flash banner shown after redirects (PHP-side messages) */
.page-flash{
  max-width:920px;margin:1rem auto 0;padding:.85rem 1.2rem;border-radius:10px;
  font-size:.86rem;font-weight:600;
}
.flash-success{background:#d4f5e5;color:var(--success);}
.flash-error{background:#fde2e2;color:var(--danger);}
.flash-info{background:var(--gold-pale);color:#7a5c0a;}

/* Field-level helper text */
.help-text{font-size:.72rem;color:var(--text-muted);margin-top:3px;}

/* Empty-state message reused in HoD/admin tables */
.no-notifs{color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem 0;}

/* Generic page container for non-dashboard pages (auth, etc.) */
.center-wrap{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:2rem;}

/* Simple table styling reused across HoD/admin pages */
table{width:100%;border-collapse:collapse;font-size:.84rem;}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);}
thead th{background:var(--bg);color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;}

.btn-small{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:none;font-family:'Sora',sans-serif;}
.signature-pad-wrap{border:1.5px dashed var(--border);border-radius:10px;background:var(--bg);position:relative;}
#sigCanvas{display:block;width:100%;height:130px;cursor:crosshair;background:#fff;border-radius:10px;}
