@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;600&display=swap');
:root {
  --maroon: #6B0F1A; --maroon-dark: #4A0A12; --white: #fff; --black: #0D0D0D;
  --grey-light: #F4F4F5; --grey-mid: #E0E0E2; --grey-dark: #555558;
  --sidebar-w: 240px; --font-heading: 'Oswald',sans-serif; --font-body: 'Source Sans 3',sans-serif;
  --radius: 4px; --shadow: 0 4px 24px rgba(0,0,0,0.10);
}
*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
body { font-family: var(--font-body); background: #f0f0f2; color: #333; min-height: 100vh; display:flex; }
a { color: var(--maroon); text-decoration:none; }

/* Sidebar */
.admin-sidebar {
  width: var(--sidebar-w); background: var(--black); min-height: 100vh;
  position: fixed; top:0; left:0; bottom:0; overflow-y:auto; z-index:100;
  display:flex; flex-direction:column;
}
.sidebar-logo { padding: 20px 20px 16px; border-bottom: 1px solid #222; }
.sidebar-logo .name { font-family: var(--font-heading); color: white; font-size:18px; line-height:1.1; }
.sidebar-logo .sub { font-size:11px; color:#666; text-transform:uppercase; letter-spacing:1px; }
.sidebar-nav { flex:1; padding: 12px 0; }
.sidebar-section { padding: 16px 20px 6px; font-size:10px; color:#555; text-transform:uppercase; letter-spacing:2px; font-weight:600; }
.sidebar-nav a {
  display:flex; align-items:center; gap:10px; padding: 9px 20px;
  color: #aaa; font-size:14px; transition: all 0.15s;
}
.sidebar-nav a:hover { color:white; background: rgba(255,255,255,0.05); }
.sidebar-nav a.active { color:white; background: var(--maroon); border-left: 3px solid #e0a0a8; }
.sidebar-nav a .icon { width:18px; text-align:center; font-size:15px; }
.sidebar-footer { padding:16px 20px; border-top:1px solid #222; font-size:12px; color:#555; }
.sidebar-footer a { color:#888; }

/* Main */
.admin-main { margin-left: var(--sidebar-w); flex:1; display:flex; flex-direction:column; min-height:100vh; }
.admin-topbar { background: white; padding: 0 28px; height:56px; display:flex; align-items:center; justify-content:space-between; box-shadow: 0 1px 4px rgba(0,0,0,0.08); position:sticky; top:0; z-index:50; }
.admin-topbar h1 { font-family: var(--font-heading); font-size:20px; letter-spacing:0.5px; }
.admin-topbar .user { font-size:13px; color:var(--grey-dark); }
.admin-content { padding: 28px; flex:1; }

/* Cards */
.a-card { background:white; border-radius:var(--radius); box-shadow: 0 1px 6px rgba(0,0,0,0.07); overflow:hidden; margin-bottom:24px; }
.a-card-header { padding:14px 20px; border-bottom:1px solid var(--grey-mid); display:flex; align-items:center; justify-content:space-between; background:var(--grey-light); }
.a-card-header h3 { font-family:var(--font-heading); font-size:16px; letter-spacing:0.5px; }
.a-card-body { padding:20px; }

/* Stats row */
.admin-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; margin-bottom:28px; }
.admin-stat { background:white; border-radius:var(--radius); padding:18px 20px; box-shadow:0 1px 6px rgba(0,0,0,0.07); border-left:4px solid var(--maroon); }
.admin-stat .val { font-family:var(--font-heading); font-size:32px; color:var(--maroon); }
.admin-stat .lbl { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:var(--grey-dark); margin-top:2px; }

/* Table */
.a-table-wrap { overflow-x:auto; }
.a-table { width:100%; border-collapse:collapse; font-size:14px; }
.a-table thead th { padding:10px 14px; background:#f8f8f9; border-bottom:2px solid var(--grey-mid); font-family:var(--font-heading); font-size:12px; text-transform:uppercase; letter-spacing:0.5px; color:var(--grey-dark); text-align:left; white-space:nowrap; }
.a-table tbody tr { border-bottom:1px solid var(--grey-mid); transition:background 0.1s; }
.a-table tbody tr:hover { background:#faf8f9; }
.a-table tbody td { padding:10px 14px; }

/* Forms */
.form-grid { display:grid; gap:16px; }
.form-grid-2 { grid-template-columns:1fr 1fr; }
.form-grid-3 { grid-template-columns:1fr 1fr 1fr; }
.form-group { display:flex; flex-direction:column; gap:5px; }
.form-group label { font-size:12px; text-transform:uppercase; letter-spacing:0.5px; color:var(--grey-dark); font-weight:600; }
.form-control { padding:9px 12px; border:1px solid var(--grey-mid); border-radius:var(--radius); font-family:var(--font-body); font-size:14px; color:#333; transition:border-color 0.2s; }
.form-control:focus { outline:none; border-color:var(--maroon); box-shadow:0 0 0 3px rgba(107,15,26,0.08); }
textarea.form-control { min-height:80px; resize:vertical; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; border-radius:var(--radius); border:none; cursor:pointer; font-family:var(--font-heading); font-size:13px; letter-spacing:0.5px; text-transform:uppercase; font-weight:500; transition:all 0.2s; text-decoration:none; }
.btn-primary { background:var(--maroon); color:white; }
.btn-primary:hover { background:var(--maroon-dark); color:white; }
.btn-outline { background:white; border:1px solid var(--grey-mid); color:var(--grey-dark); }
.btn-outline:hover { border-color:var(--maroon); color:var(--maroon); }
.btn-danger { background:#dc2626; color:white; }
.btn-danger:hover { background:#b91c1c; }
.btn-success { background:#16a34a; color:white; }
.btn-sm { padding:5px 12px; font-size:11px; }
.btn-group { display:flex; gap:6px; }

/* Alerts */
.alert { padding:12px 16px; border-radius:var(--radius); margin-bottom:20px; font-size:14px; }
.alert-success { background:#dcfce7; color:#166534; border:1px solid #bbf7d0; }
.alert-danger { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.alert-info { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }

/* Badges */
.badge { display:inline-block; padding:2px 8px; border-radius:20px; font-size:11px; font-weight:600; }
.badge-win { background:#dcfce7; color:#166534; }
.badge-loss { background:#fef2f2; color:#b91c1c; }
.badge-maroon { background:var(--maroon); color:white; }
.badge-grey { background:var(--grey-mid); color:var(--grey-dark); }
.badge-gold { background:#fef3c7; color:#92400e; }
.badge-green { background:#dcfce7; color:#166534; }

/* Modal */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:1000; align-items:center; justify-content:center; }
.modal-overlay.open { display:flex; }
.modal { background:white; border-radius:var(--radius); max-width:600px; width:95%; max-height:90vh; overflow-y:auto; box-shadow:0 20px 60px rgba(0,0,0,0.3); }
.modal-header { padding:16px 20px; border-bottom:1px solid var(--grey-mid); display:flex; justify-content:space-between; align-items:center; }
.modal-header h3 { font-family:var(--font-heading); font-size:18px; }
.modal-body { padding:20px; }
.modal-footer { padding:14px 20px; border-top:1px solid var(--grey-mid); display:flex; justify-content:flex-end; gap:8px; }

@media(max-width:768px) { .admin-sidebar{transform:translateX(-100%);} .admin-main{margin-left:0;} .form-grid-2,.form-grid-3{grid-template-columns:1fr;} }
