:root{--bg:#0f172a;--panel:#111827;--card:#1f2937;--muted:#94a3b8;--text:#e5e7eb;--accent:#10b981;--warn:#f59e0b;--danger:#ef4444}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;line-height:1.4;background:var(--bg);color:var(--text)}
.container{max-width:1200px;margin:0 auto;padding:24px}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.panel{background:var(--panel);border:1px solid #1f2937;border-radius:8px;padding:16px}
.card{background:var(--card);border:1px solid #334155;border-radius:8px;padding:16px}
.muted{color:var(--muted)}
.title{font-size:20px;margin:0 0 8px}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
label{font-size:14px}
select,input[type=date],input[type=text],input[type=file]{background:#0b1220;border:1px solid #334155;color:var(--text);border-radius:6px;padding:8px}
button{background:var(--accent);color:#062a21;border:0;padding:10px 14px;border-radius:6px;font-weight:600;cursor:pointer}
button.secondary{background:#334155;color:#e5e7eb}
input.datepicker{min-width:150px}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;border-bottom:1px solid #334155}
th{text-align:left;color:#cbd5e1}
.kpi{font-size:22px;font-weight:700}
.kpi-sub{font-size:12px;color:var(--muted)}
.nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.nav a{color:#cbd5e1;text-decoration:none;margin-right:12px}
.flash{padding:10px;border-radius:6px;margin-bottom:10px}
.flash.success{background:#083c30;color:#bbf7d0;border:1px solid #14532d}
.flash.error{background:#3f1d1d;color:#fecaca;border:1px solid #7f1d1d}

/* DataTables dark theme tweaks */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  background:#0b1220;color:var(--text);border:1px solid #334155;border-radius:6px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--accent) !important;color:#062a21 !important;border:1px solid var(--accent);
}
.dataTables_wrapper .dataTables_info { color: var(--muted); }
.dataTables_wrapper .dataTables_filter label, .dataTables_wrapper .dataTables_length label { color: var(--muted); }

/* Flatpickr dark tweaks */
.flatpickr-calendar{background:var(--panel);border:1px solid #334155;color:var(--text)}
.flatpickr-months .flatpickr-month, .flatpickr-weekdays{color:var(--text)}
.flatpickr-day{color:var(--text)}
.flatpickr-day.today{border-color:var(--accent)}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange{background:var(--accent);border-color:var(--accent);color:#062a21}
.flatpickr-day:hover{background:#334155;border-color:#334155}
