:root{
    --bg: #e7eff7;
    --panel: #ffffff;
    --text: #1a1f36;
    --text-muted: #4b5563;
    --blue: #0050b3;
    --blue-hover: #2b6cb0;
    --success: #1c9c5a;
    --danger: #d64545;
}

body {
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

.container { max-width: 1100px; }

.card {
    background: var(--panel);
    border: 1px solid #d8e0e8;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(15,23,42,0.06);
    color: var(--text);
}

.widget-title { font-size: 0.9rem; color: var(--text-muted); }
.widget-value { font-size: 1.7rem; font-weight:700; color: var(--text); }

.table { color: var(--text); background: var(--panel); }
.table thead th { background: #f0f4f8; color: var(--text); border-bottom: 1px solid #dfe8ef; }

.btn-primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.btn-primary:hover { background: var(--blue-hover); border-color: var(--blue-hover); }

.form-control, .form-select {
    border: 1px solid #cfd8e3;
    background: #fff;
    color: var(--text);
    border-radius: 6px;
}

.form-control:focus, .form-select:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 4px rgba(0,80,179,0.12);
    outline: none;
}

/* Navbar brand */
.navbar-brand { font-weight:700; }
.nav-link { color: rgba(255,255,255,0.95) !important; }

/* Responsive tweaks */
@media (max-width: 767px){
    .grid-widgets { display:grid; grid-template-columns:1fr; gap:12px; }
    .table-responsive { overflow:auto; }
}
@media (min-width: 768px){
    .grid-widgets { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
}

/* Small charts size */
.small-chart { height: 160px; }
