:root { --ink: #1d2733; --muted: #5d6b7a; --line: #d7dee6; --accent: #0b6bcb; --bg: #f7f9fb; }
body { margin: 0; padding: 16px; font: 15px/1.5 system-ui, sans-serif; color: var(--ink); background: var(--bg); }
header { display: flex; align-items: center; justify-content: space-between; max-width: 960px; margin: 0 auto 16px; }
main { max-width: 960px; margin: 0 auto; }
#add { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--accent); color: #fff; font-size: 24px; cursor: pointer; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 600; font-size: 13px; }
#empty { color: var(--muted); }
dialog form { display: grid; gap: 6px; min-width: min(360px, 80vw); }
.actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.warn { padding: 8px 10px; border: 1px solid #e0a800; background: #fff8e1; color: #6b4e00; }
.filter { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
#empty-filter { color: var(--muted); }
.info { padding: 8px 10px; border: 1px solid #9cc3f0; background: #eef5fd; color: #12406f; }
.info button { margin-left: 6px; }
