/* Simple baseline styling for the /app area (no Tailwind required) */
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 0; background: #f8fafc; }
a { color: #0f172a; text-decoration: none; }
a:hover { text-decoration: underline; }

.shell { display: flex; min-height: 100vh; }
.sidebar { width: 240px; background: #fff; border-right: 1px solid #e2e8f0; padding: 16px; }
.sidebar .brand { font-weight: 700; margin-bottom: 12px; }
.sidebar nav a { display: block; padding: 8px 10px; border-radius: 8px; margin-bottom: 4px; }
.sidebar nav a:hover { background: #f1f5f9; }

.main { flex: 1; }
.topbar { height: 56px; background: #fff; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; padding: 0 16px; }
.page { padding: 24px; }

.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; max-width: 640px; }
.h1 { font-size: 28px; margin: 0 0 8px; }
.muted { color: #475569; margin: 0 0 16px; }

label { display: block; font-weight: 600; margin: 10px 0 6px; }
input[type="text"] { width: 100%; max-width: 420px; padding: 10px; border-radius: 8px; border: 1px solid #cbd5e1; }
button, input[type="submit"] { background: #0f172a; color: #fff; border: 0; border-radius: 8px; padding: 10px 14px; cursor: pointer; }
button:hover, input[type="submit"]:hover { opacity: 0.92; }

.flash { max-width: 900px; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; border: 1px solid #e2e8f0; background: #fff; }
.flash.notice { border-color: #bbf7d0; background: #f0fdf4; }
.flash.alert { border-color: #fecaca; background: #fef2f2; }
