@import "tailwindcss"; /* Farb-Variablen: Defaults entsprechen r-hofmann.de; werden zur Laufzeit aus den Einstellungen (settings.colors) überschrieben. */ :root { --c-primary: #003388; --c-primary-dark: #0d315c; --c-accent: #ff6900; --c-header-text: #ffffff; --c-row-bg: #e3e4f1; --c-row-bg-alt: #f4f4fa; --c-add: #6da54c; --c-del: #e2371d; } body { background: #ffffff; color: #1a1a1a; font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif; } /* ---------- Buttons ---------- */ .btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 9999px; padding: 0.35rem 1rem; font-size: 0.8rem; font-weight: 600; color: #ffffff; cursor: pointer; border: 1px solid rgb(0 0 0 / 0.15); transition: filter 0.15s ease; text-decoration: none; white-space: nowrap; } .btn:hover { filter: brightness(1.08); } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn-add { background: var(--c-add); } .btn-del { background: var(--c-del); } .btn-primary { background: var(--c-primary); } .btn-neutral { background: #6b7280; } /* ---------- Formulare ---------- */ .input { width: 100%; border: 1px solid #d1d5db; border-radius: 0.375rem; padding: 0.4rem 0.6rem; font-size: 0.9rem; background: #ffffff; color: #1a1a1a; } .input:focus { outline: 2px solid var(--c-primary); outline-offset: 0; } .label { display: block; font-size: 0.8rem; font-weight: 600; margin-bottom: 0.15rem; color: #374151; } .card { background: #ffffff; border: 1px solid #e5e7eb; border-radius: 0.5rem; padding: 1rem; box-shadow: 0 1px 2px rgb(0 0 0 / 0.05); } /* ---------- Speisekarten-Tabelle ---------- */ .menu-table { width: 100%; border-collapse: separate; border-spacing: 2px; table-layout: fixed; } .menu-table th.day-head { background: var(--c-primary); color: var(--c-header-text); padding: 0.5rem 0.5rem; font-size: 0.9rem; line-height: 1.3; } .menu-table th.section-head { background: var(--c-primary); color: var(--c-header-text); text-align: left; vertical-align: middle; padding: 0.6rem 0.8rem; font-size: 0.95rem; } .menu-table th.section-head .time { font-weight: 400; font-size: 0.8rem; } .menu-table td.cell { background: var(--c-row-bg); vertical-align: top; text-align: center; padding: 0.5rem; font-size: 0.85rem; } .menu-table tr:nth-child(even) td.cell { background: var(--c-row-bg-alt); } .menu-table td.cell.closed-cell { vertical-align: middle; background: #fee2e2; } .menu-table td.cell .dish { margin-bottom: 0.35rem; } .menu-table td.cell .dish sup { font-size: 0.6rem; color: #4b5563; margin-left: 0.15rem; } /* ---------- Chip-Auswahl (Allergene/Zusatzstoffe je Gericht) ---------- */ .chip { display: inline-flex; align-items: center; gap: 0.25rem; border-radius: 9999px; padding: 0.2rem 0.65rem; font-size: 0.75rem; line-height: 1.2; border: 1px solid #d1d5db; background: #f9fafb; color: #374151; cursor: pointer; transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease; } .chip:hover { border-color: var(--c-primary); } .chip-active { background: var(--c-primary); border-color: var(--c-primary); color: #ffffff; } .dish-codes { font-size: 0.65rem; color: #6b7280; vertical-align: super; margin-left: 0.15rem; }