:root {
  --color-bg: #f5f6f8;
  --color-surface: #ffffff;
  --color-border: #e3e5e9;
  --color-text: #1f2329;
  --color-text-muted: #6b7280;
  --color-accent: #2563eb;
  --color-accent-hover: #1d4ed8;
  --color-success: #16a34a;
  --color-warning: #d97706;
  --color-danger: #dc2626;
  --color-cancelled: #9ca3af;
  --radius: 8px;
  --shadow: 0 1px 3px rgba(0,0,0,0.08);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 14px;
}
a { color: var(--color-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 16px; border-radius: var(--radius); border: none;
  font-size: 14px; font-weight: 500; cursor: pointer; transition: background .15s;
}
.btn-primary { background: var(--color-accent); color: #fff; }
.btn-primary:hover { background: var(--color-accent-hover); }
.btn-block { width: 100%; }

.alert { padding: 12px 14px; border-radius: var(--radius); margin-bottom: 16px; font-size: 13px; }
.alert-error { background: #fef2f2; color: var(--color-danger); border: 1px solid #fecaca; }
.alert-success { background: #f0fdf4; color: var(--color-success); border: 1px solid #bbf7d0; }

.badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 500; }
.badge-status-new { background: #eef2ff; color: #4338ca; }
.badge-status-in_progress { background: #fef9c3; color: #854d0e; }
.badge-status-review { background: #e0f2fe; color: #075985; }
.badge-status-done { background: #dcfce7; color: #166534; }
.badge-status-postponed { background: #f3f4f6; color: #4b5563; }
.badge-status-cancelled { background: #f3f4f6; color: var(--color-cancelled); }
.badge-priority-low { background: #f3f4f6; color: #6b7280; }
.badge-priority-normal { background: #eef2ff; color: #4338ca; }
.badge-priority-high { background: #fff7ed; color: #c2410c; }
.badge-priority-critical { background: #fef2f2; color: var(--color-danger); font-weight: 700; }
