/* Base */
/* Light theme: green accents, orange buttons */
:root {
  --bg: #f7fafc;            /* background */
  --bg-elev: #ffffff;        /* surfaces */
  --text: #0f172a;           /* primary text */
  --muted: #64748b;          /* secondary text */
  --green: #10b981;          /* accent green */
  --green-700: #059669;
  --orange: #ff7a00;         /* primary buttons */
  --orange-700: #e86a00;
  --shadow: 0 8px 24px rgba(2,6,23,.06);
  --radius: 12px;
}

body { padding-bottom: 56px; background: var(--bg); color: var(--text); }
.container, .container-fluid { max-width: 1100px; }

/* Navbar */
.navbar { background: var(--bg-elev) !important; border-bottom: 1px solid #e2e8f0; box-shadow: var(--shadow); }
.navbar .navbar-brand { font-weight: 800; letter-spacing: .2px; color: var(--green); }
.navbar .nav-link { color: var(--muted); }
.navbar .nav-link:hover { color: var(--green); }

/* Cards */
.card { border: 1px solid #e5e7eb; border-radius: var(--radius); background: var(--bg-elev); box-shadow: var(--shadow); }
.card .card-header { background: #f8fafc; color: var(--text); border-bottom: 1px solid #e5e7eb; font-weight: 600; }
.card .card-body { color: var(--text); }

/* Tables */
.table { color: var(--text); background: var(--bg-elev); }
.table thead th { background: #eef2f7; color: #334155; border-color: #e5e7eb; }
.table tbody tr { background: #ffffff; }
.table tbody tr:nth-of-type(odd) { background: #fafafa; }
.table-hover tbody tr:hover { background: #f1f5f9; }
.table td, .table th { border-color: #e5e7eb; }
.table-warning { --bs-table-bg: #fff7e6; color: var(--text); }

/* Buttons */
.btn { border-radius: 10px; border: 1px solid transparent; box-shadow: 0 1px 2px rgba(2,6,23,.05); }
.btn-primary, .btn-success, .btn-danger { background: var(--orange); border-color: var(--orange-700); color: #fff; }
.btn-primary:hover, .btn-success:hover, .btn-danger:hover { filter: brightness(1.05); }
.btn-outline-secondary { color: var(--text); border-color: #cbd5e1; }
.btn-outline-secondary:hover { background: #eef2f7; border-color: var(--green); }

/* Forms */
.form-control, .form-select { border-radius: 10px; background: #ffffff; color: var(--text); border: 1px solid #e5e7eb; }
.form-control:focus, .form-select:focus { box-shadow: 0 0 0 .25rem rgba(16,185,129,.18); border-color: var(--green); background: #ffffff; color: var(--text); }

/* Alerts */
.alert-success { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }
.alert-warning { background: #fff7ed; color: #92400e; border-color: #fed7aa; }
.alert-danger { background: #fef2f2; color: #7f1d1d; border-color: #fecaca; }

/* QR */
.qr-image { max-width: 320px; filter: drop-shadow(0 8px 28px rgba(2,6,23,.12)); border-radius: 12px; }

/* Auth card */
.auth-card { max-width: 520px; margin: 48px auto; background: var(--bg-elev); border: 1px solid #e5e7eb; border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px; }
.auth-card h3 { margin-bottom: 16px; }

