body { font-family: Arial, sans-serif; margin: 0; padding: 0; background: #f6f7fb; }
header { background: #222; color: #fff; padding: 10px 14px; position: sticky; top: 0; z-index: 10; }
header a { color: #fff; text-decoration: none; margin-right: 14px; opacity: 0.92; }
header a:hover { opacity: 1; }
main { padding: 16px; }

.table { width: 100%; border-collapse: collapse; }
.table th, .table td { border: 1px solid #ddd; padding: 8px; vertical-align: top; }
.table th { background: #f3f3f3; }

.overdue { background: #ffe0e0; }
.due-soon { background: #fff5d6; }
.done { background: #f2f2f2; color: #666; }

.badge { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 12px; background: #eee; }
.badge.red { background: #ffcccc; }
.badge.orange { background: #ffe2b6; }
.badge.green { background: #dff7df; }

.muted { color: #777; }

.checkbox-row { display: flex; gap: 12px; flex-wrap: wrap; }
.checkbox-row label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; margin-right: 6px; }
.checkbox-row input { width: auto; }

.form-row { display: flex; gap: 12px; flex-wrap: wrap; }
.form-group { margin-bottom: 10px; min-width: 220px; }
label { display: block; font-size: 12px; color: #333; margin-bottom: 4px; }
input[type=text], input[type=password], input[type=date], textarea, select { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; }
textarea { min-height: 90px; }

.btn { display: inline-block; padding: 8px 12px; border: 1px solid #333; border-radius: 4px; background: #fff; cursor: pointer; text-decoration: none; color: #111; }
.btn:hover { filter: brightness(0.98); }
.btn.primary { background: #222; color: #fff; border-color: #222; }
.btn.danger { border-color: #b00; color: #b00; }

.flash { padding: 10px; margin: 10px 0; border-radius: 4px; }
.flash.success { background: #dff7df; border: 1px solid #9cd69c; }
.flash.error { background: #ffe0e0; border: 1px solid #e3a1a1; }

small.muted { color: #777; }

.footer { margin-top: 16px; font-size: 12px; color: #666; }

.card { border: 1px solid #ddd; border-radius: 6px; padding: 12px; margin-bottom: 12px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.06); }
.card h3 { margin-top: 0; }

.split { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }

@media (max-width: 980px) {
  .split { grid-template-columns: 1fr; }
}
