:root { --brand:#0b3d2e; --accent:#c8a02c; --bg:#f6f7f5; --card:#ffffff; --text:#1c1c1c; }
* { box-sizing: border-box; }
body { margin:0; font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:var(--bg); color:var(--text); }
header.app-header { background:var(--brand); color:#fff; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; }
header.app-header h1 { font-size:18px; margin:0; }
nav.public-nav { display:flex; overflow-x:auto; background:#0e4d38; }
nav.public-nav button { flex:1; min-width:90px; background:none; border:none; color:#fff; padding:10px 6px; font-size:12px; cursor:pointer; }
nav.public-nav button.active { background:var(--accent); color:#111; font-weight:600; }
main { padding:16px; max-width:720px; margin:0 auto; }
.card { background:var(--card); border-radius:10px; padding:14px; margin-bottom:12px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
.card h3 { margin:0 0 6px; }
.badge { display:inline-block; font-size:11px; padding:2px 8px; border-radius:10px; background:#eee; margin-right:6px; }
.badge.urgent { background:#f8d7da; color:#842029; }
.badge.important { background:#fff3cd; color:#664d03; }
form.stack label { display:block; font-size:13px; margin:10px 0 4px; }
form.stack input, form.stack select, form.stack textarea { width:100%; padding:8px; border:1px solid #ccc; border-radius:6px; font-size:14px; }
button.primary { background:var(--brand); color:#fff; border:none; padding:10px 16px; border-radius:8px; margin-top:12px; cursor:pointer; }
button.secondary { background:#eee; color:#111; border:none; padding:8px 14px; border-radius:8px; cursor:pointer; }
.error { color:#a4262c; font-size:13px; }
.muted { color:#666; font-size:12px; }
