Files
hemx/examples/saas/templates/app.css
T
slhx agent 38cfb263aa feat(examples): add saas tutorial skeleton
Add a compile-tested v1 tutorial skeleton that proves the production-shaped app boundary without provider-heavy scope: auth/session context, CSRF-checked mutation, local persistence adapter, generated form/slot/keyed row/page/push effects, plain CSS, SSE shape, and one explicit metrics island.

req: examples/001

req: auth/001

req: auth/002

req: auth/004

req: form/001

req: failure/004

req: page_swap/002

req: push/003
2026-06-05 09:15:57 +02:00

17 lines
1.2 KiB
CSS

:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; }
body { margin: 0; background: #f7f4ee; color: #201b16; }
.dashboard { max-width: 960px; margin: 0 auto; padding: 2rem; }
.hero, .panel, .status-row { background: white; border: 1px solid #e6ded2; border-radius: 18px; padding: 1.25rem; box-shadow: 0 12px 40px rgba(34, 24, 8, 0.08); }
.eyebrow { color: #8a5a00; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.lede { max-width: 56rem; color: #5d5147; }
.tabs, .project-form, .status-row { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.tabs { margin: 1rem 0; }
button, input { font: inherit; }
button { border: 0; border-radius: 999px; background: #1f5eff; color: white; padding: .65rem 1rem; }
input { border: 1px solid #cfc4b8; border-radius: 10px; padding: .55rem .7rem; }
.field-error, .flash { color: #a02b12; font-weight: 700; }
.summary { color: #516034; }
.project-list { display: grid; gap: .7rem; padding: 0; list-style: none; }
.project-row { display: flex; justify-content: space-between; border: 1px solid #eee0cb; border-radius: 12px; padding: .75rem; }
.metrics-island { min-width: 18rem; border-left: 4px solid #1f5eff; padding-left: 1rem; }