/* FirstPage Foundation — Admin panel styles (kept separate & simple
   from the public site's stylesheet — this is a staff-only tool). */
:root{
  --navy:#013356; --green:#32923B; --green-2:#24732C; --teal:#0088B0;
  --gold:#E8A33D; --paper:#FAF6EC; --ink:#1C2430; --ink-soft:#4A5568;
  --line:#E3DCC8; --white:#fff;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.5;
}
a{ color:var(--teal); }
.admin-header{
  background:var(--navy); color:#fff; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.admin-header .brand{ font-weight:700; font-size:1.1rem; }
.admin-nav{ display:flex; gap:20px; flex-wrap:wrap; }
.admin-nav a{ color:rgba(255,255,255,0.85); text-decoration:none; font-size:0.92rem; font-weight:600; }
.admin-nav a:hover, .admin-nav a.active{ color:#fff; text-decoration:underline; }
.admin-wrap{ max-width:1100px; margin:0 auto; padding:32px 24px 60px; }
.admin-card{
  background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:24px; margin-bottom:24px; box-shadow:0 4px 14px -6px rgba(1,29,50,0.12);
}
h1,h2,h3{ color:var(--navy); margin-top:0; }
table{ width:100%; border-collapse:collapse; font-size:0.92rem; }
th, td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
th{ color:var(--navy); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.03em; }
tr:hover td{ background:#FAF8F1; }
.btn{
  display:inline-flex; align-items:center; gap:6px; padding:10px 18px; border-radius:999px;
  font-weight:700; font-size:0.9rem; text-decoration:none; border:2px solid transparent; cursor:pointer;
}
.btn-primary{ background:var(--gold); color:var(--navy); }
.btn-outline{ background:transparent; border-color:var(--navy); color:var(--navy); }
.btn-danger{ background:#fff; border-color:#c0392b; color:#c0392b; }
.btn-sm{ padding:6px 12px; font-size:0.82rem; }
.field{ margin-bottom:16px; }
.field label{ display:block; font-weight:700; font-size:0.86rem; color:var(--navy); margin-bottom:6px; }
.field input, .field select, .field textarea{
  width:100%; padding:10px 12px; border-radius:8px; border:1.5px solid var(--line);
  font-family:inherit; font-size:0.95rem; background:var(--paper);
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--teal); border-color:var(--teal); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.badge{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:0.76rem; font-weight:700; }
.badge-active, .badge-approved{ background:#E7F5EA; color:var(--green-2); }
.badge-pending{ background:#FDF0DC; color:#96690F; }
.badge-completed, .badge-reviewed{ background:#E4F3F8; color:#0A5C77; }
.badge-paused, .badge-rejected{ background:#FBE5E1; color:#B23B26; }
.alert{ padding:12px 16px; border-radius:8px; margin-bottom:20px; font-size:0.9rem; }
.alert-error{ background:#FBE5E1; color:#96281A; border:1px solid #F1B8AC; }
.alert-success{ background:#E7F5EA; color:var(--green-2); border:1px solid #B9DFC0; }
.login-wrap{ max-width:380px; margin:80px auto; }
.text-muted{ color:var(--ink-soft); font-size:0.85rem; }
.actions-row{ display:flex; gap:8px; flex-wrap:wrap; }
.toolbar{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
@media (max-width:640px){
  .form-row{ grid-template-columns:1fr; }
  table, thead, tbody, th, td, tr{ display:block; }
  thead{ display:none; }
  tr{ border-bottom:2px solid var(--line); padding:10px 0; }
  td{ border:none; padding:4px 0; }
  td::before{ content: attr(data-label); font-weight:700; color:var(--navy); display:block; font-size:0.75rem; text-transform:uppercase; }
}
