/* ── Reset ── */
* { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Base ── */
body { font-family: Arial, sans-serif; background: #f4f4f4; background-image: url('boxed-bg.png'); background-repeat: repeat; background-attachment: fixed; }

/* ── Header ── */
header { background: #0961c9; color: white; padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
header h1 { font-size: 1.2rem; }
header nav { display: flex; flex-wrap: wrap; gap: 0.4rem; }
header a, header nav a { color: white; font-size: 0.85rem; text-decoration: none; padding: 0.35rem 0.85rem; border: 1px solid rgba(255,255,255,0.5); border-radius: 4px; transition: background 0.15s; white-space: nowrap; }
header a:hover, header nav a:hover { background: rgba(255,255,255,0.15); border-color: white; }
@media (max-width: 600px) {
    header { flex-direction: column; align-items: flex-start; }
    header h1 { font-size: 1rem; }
    header nav { width: 100%; }
    header nav a { font-size: 0.8rem; padding: 0.3rem 0.65rem; }
}

/* ── Layout ── */
.container { padding: 1.5rem; margin: 0 auto; }

/* ── Messages ── */
.error { background: #fce4e4; border: 1px solid #f5a0a0; color: #c00; padding: 0.75rem; border-radius: 4px; margin-bottom: 1rem; }
.success { background: #e4f7ec; border: 1px solid #a0d4b5; color: #1a6b3a; padding: 0.75rem; border-radius: 4px; margin-bottom: 1rem; font-size: 0.9rem; }

/* ── Labels ── */
.section-label { font-size: 0.75rem; font-weight: bold; color: #999; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
.meta { font-size: 0.8rem; color: #888; margin-bottom: 0.75rem; text-align: right; }

/* ── Stat boxes ── */
.stats { display: flex; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.stat { background: white; padding: 1rem 1.5rem; border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,0.15); text-align: center; flex: 1; min-width: 140px; }
.stat strong { display: block; font-size: 2rem; color: #0961c9; }
.stat span { font-size: 0.85rem; color: #666; }

/* ── Buttons ── */
.btn { padding: 0.4rem 1rem; border: none; border-radius: 4px; font-size: 0.9rem; cursor: pointer; }
.btn-primary { background: #0961c9; color: white; }
.btn-secondary { background: #eee; color: #333; text-decoration: none; display: inline-block; }

/* ── Empty state ── */
.no-data { text-align: center; padding: 2rem; color: #666; background: white; border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,0.15); }

/* ── Tables ── */
table { width: 100%; background: white; }
th { background: #0961c9; color: white; padding: 0.75rem 1rem; text-align: left; font-size: 0.85rem; }
td { padding: 0.5rem 1rem; border-bottom: 1px solid #eee; font-size: 0.9rem; color: #333; }
tr:last-child td { border-bottom: none; }
tr:hover td { background: #f9f9f9; }
tfoot tr td { background: #eef4fc; border-top: 2px solid #0961c9; font-weight: bold; }
