* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, Segoe UI, Roboto, sans-serif; background: #f4f5f7; color: #1c2128; }
.topbar { background: #12213b; color: #fff; }
.topbar-inner { max-width: 1100px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; gap: 20px; }
.brand { color: #fff; font-weight: 600; text-decoration: none; font-size: 1.1rem; }
.topnav { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.topnav a { color: #cdd6e3; text-decoration: none; }
.topnav a:hover { color: #fff; }
.user-chip { color: #9fb0c9; font-size: 0.9rem; }
.page { max-width: 1100px; margin: 24px auto; padding: 0 20px 60px; }
.card { background: #fff; border: 1px solid #e1e4e8; border-radius: 8px; padding: 24px; margin-bottom: 20px; }
.card-narrow { max-width: 420px; margin: 60px auto; }
h1 { margin-top: 0; }
.form-stack label { display: block; margin-bottom: 14px; font-size: 0.9rem; color: #444; }
.form-stack input, .form-stack select { display: block; width: 100%; padding: 8px 10px; margin-top: 4px; border: 1px solid #ccd2d8; border-radius: 4px; font-size: 1rem; }
.btn { display: inline-block; padding: 8px 16px; border-radius: 5px; border: 1px solid #12213b; background: #12213b; color: #fff; text-decoration: none; cursor: pointer; font-size: 0.95rem; }
.btn:hover { background: #1c355c; }
.btn-secondary { background: #fff; color: #12213b; }
.alert { padding: 10px 14px; border-radius: 5px; margin-bottom: 16px; }
.alert-error { background: #fde8e8; color: #8a1f1f; border: 1px solid #f3b8b8; }
.alert-info { background: #e8f0fe; color: #1a3a6b; border: 1px solid #b8cdf3; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eaecef; font-size: 0.92rem; }
th { color: #57606a; font-weight: 600; }
.org-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.org-tile { background: #fff; border: 1px solid #e1e4e8; border-radius: 8px; padding: 18px; }
.org-tile h3 { margin: 0 0 6px; }
.pill { display: inline-block; padding: 2px 9px; border-radius: 12px; font-size: 0.78rem; font-weight: 600; }
.pill-active { background: #d9f2e3; color: #1a6b3c; }
.pill-inactive { background: #eee; color: #666; }
.pill-suspended { background: #fde8e8; color: #8a1f1f; }
.muted { color: #8a94a3; font-size: 0.85rem; }
