* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin: 0; background: #f4f5f7; color: #1f2430; }
.topbar { display: flex; align-items: center; gap: 24px; padding: 12px 24px; background: #1f2430; color: #fff; }
.topbar .brand { font-weight: 600; margin-right: auto; }
.topbar nav a { color: #cdd3df; text-decoration: none; margin-right: 16px; }
.topbar nav a:hover { color: #fff; }
.logout-form { display: flex; align-items: center; gap: 8px; margin: 0; }
.logout-form .user { color: #9aa3b5; font-size: 0.9em; }
.logout-form button { background: none; border: 1px solid #555; color: #cdd3df; padding: 4px 10px; border-radius: 4px; cursor: pointer; }
.container { max-width: 1100px; margin: 24px auto; padding: 0 16px; }
table { width: 100%; border-collapse: collapse; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #e6e8ec; }
th { background: #fafbfc; font-size: 0.85em; text-transform: uppercase; color: #6b7280; }
.card { background: #fff; padding: 20px; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,0.08); margin-bottom: 20px; }
.btn { display: inline-block; background: #2f6feb; color: #fff; padding: 6px 14px; border-radius: 4px; border: none; cursor: pointer; text-decoration: none; font-size: 0.9em; }
.btn.danger { background: #d33; }
.btn.secondary { background: #6b7280; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 0.78em; color: #fff; }
.badge.published { background: #2f9e44; }
.badge.draft { background: #f08c00; }
.badge.yanked { background: #d33; }
.login-body { display: flex; align-items: center; justify-content: center; height: 100vh; background: #1f2430; }
.login-box { background: #fff; padding: 32px; border-radius: 8px; width: 320px; }
.login-box label { display: block; margin-bottom: 12px; font-size: 0.9em; }
.login-box input { width: 100%; padding: 8px; margin-top: 4px; border: 1px solid #ccc; border-radius: 4px; }
.login-box button { width: 100%; padding: 10px; background: #2f6feb; color: #fff; border: none; border-radius: 4px; cursor: pointer; margin-top: 8px; }
.error { color: #d33; }
form.inline { display: inline; }
.stats { display: flex; gap: 16px; margin-bottom: 20px; }
.stat { flex: 1; background: #fff; padding: 16px; border-radius: 6px; text-align: center; box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.stat .num { font-size: 1.8em; font-weight: 700; }
.stat .label { color: #6b7280; font-size: 0.85em; }
.key-reveal { background: #fffbe6; border: 1px solid #f0c36d; padding: 12px; border-radius: 4px; word-break: break-all; font-family: monospace; }
.doc-tabs { display: flex; gap: 4px; margin-bottom: -1px; }
.doc-tab { padding: 8px 16px; background: #e9ebef; color: #1f2430; text-decoration: none; border-radius: 6px 6px 0 0; font-size: 0.9em; }
.doc-tab.active { background: #fff; font-weight: 600; box-shadow: 0 -1px 2px rgba(0,0,0,0.05); }
.doc-content h2 { margin-top: 0; }
.doc-content h3 { margin-top: 24px; }
.doc-content pre { background: #f4f5f7; padding: 10px; border-radius: 4px; overflow-x: auto; }
.doc-content code { background: #f4f5f7; padding: 1px 4px; border-radius: 3px; }
