@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
/* Clean light theme — loaded after ready.css / demo.css to override the admin template */
:root {
  --bg: #f6f7fb;
  --surface: #ffffff;
  --text: #1f2937;
  --muted: #6b7280;
  --border: #e5e7eb;
  --primary: #4f46e5;
  --primary-dark: #4338ca;
  --primary-soft: #eef2ff;
  --success: #16a34a;
  --danger: #dc2626;
  --radius: 12px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .06);
}

html, body {
  font-family: 'Inter', 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  background: var(--bg) !important;
  color: var(--text);
}
a { text-decoration: none !important; }
a, .text-primary { color: var(--primary); }
a:hover { color: var(--primary-dark); }

/* Header & sidebar */
.main-header, .main-header .logo-header, .main-header .navbar-header {
  background: var(--surface) !important;
  border-bottom: 1px solid var(--border);
  box-shadow: none !important;
}
.main-header .navbar-header { border-bottom: 1px solid var(--border); }
.navbar-header .navbar-nav .nav-link, .navbar-header .nav-link i, .navbar-header .nav-link { color: var(--text) !important; }
.navbar-header .form-control { background: var(--bg); border: 1px solid var(--border); border-radius: 999px; }

.sidebar {
  background: var(--surface) !important;
  border-right: 1px solid var(--border);
  box-shadow: none !important;
}
.sidebar .user { border-bottom: 1px solid var(--border); }
.sidebar .user .info a, .sidebar .user .info span, .sidebar .nav > .nav-item > a, .sidebar .nav > .nav-item > a p,
.sidebar .nav > .nav-item > a i, .sidebar .user-level { color: var(--text) !important; }
.sidebar .nav > .nav-item { margin: 2px 12px; }
.sidebar .nav > .nav-item > a { border-radius: 10px; transition: background .15s; }
.sidebar .nav > .nav-item > a:hover { background: var(--primary-soft) !important; }
.sidebar .nav > .nav-item.active > a, .sidebar .nav > .nav-item.active > a:hover {
  background: var(--primary-soft) !important;
  border-left: 0 !important;
}
.sidebar .nav > .nav-item.active > a p, .sidebar .nav > .nav-item.active > a i { color: var(--primary) !important; font-weight: 600; }
.sidebar .nav > .nav-item .badge { border-radius: 999px; font-weight: 600; }

/* Content */
.main-panel > .content { background: transparent !important; padding-top: 24px; }
.page-title { font-weight: 700; color: var(--text); letter-spacing: -.01em; }

/* Cards */
.card {
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}
.card .card-header { background: transparent !important; border-bottom: 1px solid var(--border) !important; }
.card .card-footer { background: transparent !important; border-top: 1px solid var(--border) !important; }
.card-title { font-weight: 700; color: var(--text); }
.card-category { color: var(--muted); }

/* Buttons */
.btn { border-radius: 10px !important; font-weight: 600; box-shadow: none !important; }
.btn-primary, .btn-info { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }
.btn-primary:hover, .btn-info:hover { background: var(--primary-dark) !important; border-color: var(--primary-dark) !important; }
.btn-success { background: var(--success) !important; border-color: var(--success) !important; }
.btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; }
.btn-outline-success { color: var(--success) !important; border-color: var(--success) !important; }
.btn-outline-success:hover { background: var(--success) !important; color: #fff !important; }
.btn-outline-primary { color: var(--primary) !important; border-color: var(--primary) !important; }
.btn-outline-primary:hover { background: var(--primary) !important; color: #fff !important; }

/* Forms */
.form-control, .custom-select, select.form-control {
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  background: var(--surface);
  color: var(--text);
  box-shadow: none !important;
}
.form-control:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, .15) !important;
}
label { color: var(--muted); font-weight: 600; font-size: 13px; }

/* Tables */
.table thead th { background: var(--bg); color: var(--muted); border-bottom: 1px solid var(--border) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.table td, .table th { border-top: 1px solid var(--border) !important; }
.table-striped tbody tr:nth-of-type(odd) { background: #fafafe; }

/* Alerts & modals */
.alert { border-radius: 10px; border: 0; }
.modal-content { border: 0; border-radius: var(--radius); box-shadow: 0 20px 50px rgba(16, 24, 40, .18); }
.badge-success { background: #dcfce7 !important; color: #166534 !important; }
.badge-danger { background: #fee2e2 !important; color: #991b1b !important; }
.badge-warning { background: #fef3c7 !important; color: #92400e !important; }
.badge-info { background: #dbeafe !important; color: #1e40af !important; }

/* Login / register / forgot pages */
.h-100 > .container .card { border-radius: 16px !important; box-shadow: 0 10px 40px rgba(16, 24, 40, .10) !important; }
.h-100 .card .btn-primary { padding: 10px 16px; }

@media (max-width: 768px) {
  .main-panel > .content { padding: 16px 8px; }
}
