:root{
  --admin-bg:#031d17;
  --admin-panel:#062f25;
  --admin-gold:#d8b365;
  --admin-light:#fff7df;
}
.admin-body{
  min-height:100vh;
  padding:22px;
}
.admin-header{
  max-width:1280px;
  margin:0 auto 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  color:var(--admin-light);
}
.admin-header h1,.admin-card h2,.admin-login h1{
  margin:0;
  color:var(--gold-2);
  font-family:Cinzel, serif;
}
.admin-header p,.admin-card p,.admin-login p{
  color:rgba(255,247,223,.78);
}
.admin-logout,.mini-link,.mini-btn{
  border:1px solid var(--admin-gold);
  color:var(--admin-light);
  background:rgba(216,179,101,.08);
  border-radius:10px;
  padding:9px 12px;
  text-decoration:none;
  cursor:pointer;
  display:inline-block;
}
.admin-wrap{
  max-width:1280px;
  margin:auto;
}
.admin-login{
  max-width:480px;
  margin:8vh auto;
  padding:30px;
  border-radius:22px;
  background:rgba(3,29,23,.96);
}
.admin-login form,.admin-form{
  display:grid;
  gap:14px;
}
.admin-card{
  margin:18px 0;
  padding:24px;
  border-radius:22px;
  background:rgba(3,29,23,.96);
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.stat{
  border-radius:18px;
  padding:20px;
  background:rgba(3,29,23,.95);
  display:grid;
  gap:8px;
}
.stat span{
  color:rgba(255,247,223,.75);
  font-weight:700;
}
.stat strong{
  color:var(--gold-2);
  font:800 42px Cinzel, serif;
}
.admin-form{
  grid-template-columns:1fr 1fr auto;
  align-items:end;
}
.admin-table-wrap{
  overflow:auto;
}
.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:980px;
}
.admin-table th,.admin-table td{
  border-bottom:1px solid rgba(216,179,101,.25);
  padding:12px;
  vertical-align:top;
  color:var(--admin-light);
}
.admin-table th{
  color:var(--gold-2);
  font-family:Cinzel, serif;
  text-align:left;
}
.inline-edit{
  display:contents;
}
.actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.mini-btn{
  font-size:12px;
}
.mini-btn.danger{
  border-color:#ff9b9b;
  color:#ffd1d1;
}
.mini-btn.send{
  background:linear-gradient(90deg,#f4df9c,#c79539);
  color:#173b2f;
  font-weight:800;
}
.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:20px;
  font-weight:800;
  font-size:12px;
}
.badge.present{background:rgba(67,196,122,.22);color:#a7ffc8}
.badge.absent{background:rgba(255,110,110,.18);color:#ffc4c4}
.badge.pending{background:rgba(244,223,156,.14);color:#fff0a7}
.admin-notice,.admin-alert{
  padding:14px 16px;
  border-radius:14px;
  margin:14px 0;
  font-weight:700;
}
.admin-notice{
  background:rgba(67,196,122,.18);
  color:#bfffd6;
  border:1px solid rgba(67,196,122,.45);
}
.admin-alert{
  background:rgba(255,110,110,.15);
  color:#ffd2d2;
  border:1px solid rgba(255,110,110,.45);
}
@media (max-width:760px){
  .admin-body{padding:12px}
  .admin-header{display:grid}
  .admin-stats,.admin-form{grid-template-columns:1fr}
}

@media (max-width:980px){
  .admin-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .admin-stats{grid-template-columns:1fr}
  .actions{display:grid}
  .mini-btn,.mini-link{width:100%;text-align:center}
}
