:root{
  --mustard:        #E4A61A;
  --mustard-deep:   #B8790C;
  --mustard-bright: #FFC542;
  --mustard-pale:   #F7DFA0;
  --mustard-wash:   #FCEFC7;
  --ink:            #1A140B;
  --ink-soft:       #3A2F1D;
  --ink-dim:        #6B5D45;
  --paper:          #FFFBF2;
  --paper-alt:      #FFF3D6;
  --live:           #E2472B;
  --good:           #2E8B57;
  --line:           rgba(26,20,11,.12);
  --radius-sm: 10px;
  --radius-md: 18px;
  --shadow-soft: 0 20px 40px -20px rgba(26,20,11,.25);
}
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0;
  font-family:'IBM Plex Sans', Arial, sans-serif;
  background:var(--paper-alt);
  color:var(--ink-soft);
  line-height:1.5;
}
a{ color:inherit; }
.admin-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px;
  background:var(--ink);
  color:var(--paper);
}
.admin-topbar .brand{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  letter-spacing:.02em;
  font-size:18px;
  display:flex; align-items:center; gap:10px;
}
.admin-topbar .brand-logo{
  height:46px; width:auto; display:block;
}
.admin-topbar .brand span{ color:var(--mustard-bright); }
.auth-logo{ display:flex; justify-content:center; margin-bottom:18px; }
.auth-logo img{ height:78px; width:auto; }
.admin-topbar .who{ font-size:14px; color:var(--mustard-pale); margin-right:16px; }
.admin-topbar a.logout{
  font-size:14px; padding:8px 14px; border-radius:var(--radius-sm);
  background:var(--mustard); color:var(--ink); text-decoration:none; font-weight:600;
}
.admin-wrap{ max-width:1100px; margin:0 auto; padding:32px 20px 60px; }
.admin-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft); padding:28px;
}
.admin-card h1, .admin-card h2{
  font-family:'Space Grotesk', sans-serif; margin-top:0; color:var(--ink);
}
.admin-auth-page{
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
}
.admin-auth-card{ width:100%; max-width:380px; }
.admin-field{ margin-bottom:16px; }
.admin-field label{ display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink-dim); }
.admin-field input, .admin-field select{
  width:100%; padding:10px 12px; border-radius:var(--radius-sm);
  border:1px solid var(--line); font-size:15px; font-family:inherit; background:var(--paper);
}
.admin-btn{
  display:inline-block; border:none; cursor:pointer;
  background:var(--mustard); color:var(--ink); font-weight:700;
  padding:11px 18px; border-radius:var(--radius-sm); font-size:15px; font-family:inherit;
}
.admin-btn:hover{ background:var(--mustard-deep); color:#fff; }
.admin-btn-secondary{ background:var(--paper-alt); color:var(--ink-soft); }
.admin-btn-secondary:hover{ background:var(--mustard-pale); color:var(--ink); }
.admin-btn-danger{
  display:inline-block; border:none; cursor:pointer;
  background:var(--live); color:#fff; font-weight:700;
  padding:6px 14px; border-radius:var(--radius-sm); font-size:13px; font-family:inherit;
}
.admin-btn-danger:hover{ background:#B8331A; }
.admin-msg{ padding:10px 14px; border-radius:var(--radius-sm); font-size:14px; margin-bottom:16px; }
.admin-msg.error{ background:#FBE3DD; color:var(--live); }
.admin-msg.success{ background:#E1F1E8; color:var(--good); }
.admin-note{ font-size:13px; color:var(--ink-dim); margin-top:14px; }

table.admin-table{ width:100%; border-collapse:collapse; font-size:14px; }
table.admin-table th, table.admin-table td{
  text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:middle;
}
table.admin-table th{ color:var(--ink-dim); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
table.admin-table tr:hover td{ background:var(--mustard-wash); }

.status-pill{
  display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600;
}
.status-pending   { background:#FCEFC7; color:var(--mustard-deep); }
.status-confirmed { background:#DCEBFF; color:#1A5FB4; }
.status-completed { background:#E1F1E8; color:var(--good); }
.status-cancelled { background:#FBE3DD; color:var(--live); }

.status-form{ display:flex; gap:8px; align-items:center; }
.status-form select{ padding:6px 8px; border-radius:var(--radius-sm); border:1px solid var(--line); font-family:inherit; }
.status-form button{
  border:none; background:var(--ink); color:#fff; padding:6px 12px; border-radius:var(--radius-sm);
  font-size:13px; cursor:pointer; font-family:inherit;
}
.status-form button:hover{ background:var(--mustard-deep); }
.admin-empty{ color:var(--ink-dim); padding:20px 0; }
