/* Login page */
.login-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(165deg, var(--purple-deep), var(--purple-mid));
  margin:0; padding:24px;
}
.login-card{
  background:#fff; border-radius:8px; padding:36px 34px; width:100%; max-width:380px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.login-logo{ width:56px; height:56px; border-radius:50%; margin:0 auto 14px; display:block; }
.login-card h1{ text-align:center; font-size:1.4rem; color:var(--purple-deep); margin-bottom:22px; }
.login-card .field{ margin-bottom:16px; }
.login-card label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:6px; }
.login-card input{ width:100%; padding:.7em .8em; border:1.5px solid var(--wall-line); border-radius:4px; font-size:.95rem; }

/* Admin shell */
.admin-header{
  background:var(--purple-deep); color:var(--parchment); padding:14px 0;
  display:flex; align-items:center;
}
.admin-header .wrap{ display:flex; align-items:center; gap:16px; }
.admin-header .who{ margin-left:auto; font-family:var(--font-mono); font-size:.82rem; text-align:right; }
.admin-header .who .role-tag{ display:block; color:var(--gold-soft); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
.admin-header button.logout{
  background:transparent; border:1px solid rgba(247,242,231,.4); color:var(--parchment);
  padding:.4em .9em; border-radius:4px; font-size:.82rem; cursor:pointer; margin-left:14px;
}
.admin-header button.logout:hover{ border-color:var(--gold); color:var(--gold-soft); }

.admin-tabs{ background:#fff; border-bottom:1px solid var(--wall-line); }
.admin-tabs .wrap{ display:flex; gap:4px; flex-wrap:wrap; }
.admin-tabs button{
  background:none; border:0; border-bottom:3px solid transparent; padding:14px 16px;
  font-family:var(--font-body); font-weight:600; font-size:.9rem; color:#6b6274; cursor:pointer;
}
.admin-tabs button.active{ color:var(--purple-deep); border-bottom-color:var(--gold); }

.admin-main{ padding:32px 0 70px; }
.admin-panel{ display:none; }
.admin-panel.active{ display:block; }

.summary-row{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.stat-chip{
  background:#fff; border:1px solid var(--wall-line); border-top:3px solid var(--gold);
  border-radius:4px; padding:12px 18px; min-width:120px;
}
.stat-chip .n{ font-family:var(--font-mono); font-size:1.4rem; font-weight:700; color:var(--purple-deep); }
.stat-chip .l{ font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#6b6274; }

.admin-table-wrap{ background:#fff; border:1px solid var(--wall-line); border-radius:6px; overflow-x:auto; }
table.admin-table{ width:100%; border-collapse:collapse; font-size:.86rem; min-width:760px; }
table.admin-table th, table.admin-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--wall-line); white-space:nowrap; }
table.admin-table th{ font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:#6b6274; background:var(--parchment-dim); position:sticky; top:0; }
table.admin-table td.wrap-cell{ white-space:normal; max-width:260px; }
table.admin-table tr:hover{ background:var(--parchment-dim); }

.row-actions{ display:flex; gap:6px; }
.row-actions button{
  font-family:var(--font-body); font-size:.76rem; padding:.35em .7em; border-radius:4px; border:1px solid var(--wall-line);
  background:#fff; cursor:pointer;
}
.row-actions button.confirm{ border-color:#1f6b2c; color:#1f6b2c; }
.row-actions button.confirm:hover{ background:#dcf0dc; }
.row-actions button.reject{ border-color:#7a1f1f; color:#7a1f1f; }
.row-actions button.reject:hover{ background:#fbe7e7; }

select.status-select{ font-size:.8rem; padding:.3em .5em; border-radius:4px; border:1px solid var(--wall-line); }

.panel-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
.panel-head h2{ font-size:1.2rem; color:var(--purple-deep); margin:0; }

.toolbar{ display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.toolbar input, .toolbar select{ padding:.55em .7em; border:1.5px solid var(--wall-line); border-radius:4px; font-size:.88rem; }

.officer-form, .bulk-form{ background:#fff; border:1px solid var(--wall-line); border-radius:6px; padding:22px; margin-bottom:22px; }
.officer-form h3, .bulk-form h3{ font-size:1rem; color:var(--purple-deep); margin-bottom:14px; }

.empty-row td{ text-align:center; color:#8a8090; font-style:italic; padding:24px; }

.remit-row{ display:flex; gap:6px; align-items:center; }
.remit-row input.remit-amount{
  width:90px; padding:.3em .5em; font-size:.82rem; border:1px solid var(--wall-line); border-radius:4px;
}
.remit-row button{
  font-family:var(--font-body); font-size:.76rem; padding:.35em .7em; border-radius:4px;
  border:1px solid #1f6b2c; color:#1f6b2c; background:#fff; cursor:pointer; white-space:nowrap;
}
.remit-row button:hover{ background:#dcf0dc; }
