/* Login / setup / admin-management pages */
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; font-family: Arial, sans-serif; color: #e0e0e0;
  background: linear-gradient(135deg, #0f1217 0%, #1a1f2e 100%); display: flex; align-items: flex-start; justify-content: center; padding: 6vh 16px; }
.box { width: 100%; max-width: 520px; background: #1e1e1e; border: 1px solid #333; border-radius: 16px; padding: 32px; box-shadow: 0 8px 24px rgba(0,0,0,0.5); }
.box.wide { max-width: 820px; }
h1 { color: #00aaff; margin-top: 0; font-size: 1.6rem; }
h2 { color: #00aaff; font-size: 1.2rem; margin-top: 30px; }
label { display: block; font-weight: bold; margin: 16px 0 6px; }
label small { font-weight: normal; color: #999; }
input { width: 100%; padding: 12px; font-size: 1rem; border: 1px solid #333; border-radius: 8px; background: #222; color: #e0e0e0; font-family: inherit; }
input:focus { outline: 2px solid #00aaff; border-color: transparent; }
.btn, button { display: inline-block; margin-top: 20px; padding: 12px 26px; font-size: 1.05rem; font-weight: bold; border: none; border-radius: 10px;
  background: #00c853; color: #fff; cursor: pointer; text-decoration: none; font-family: inherit; }
.btn.secondary, button.secondary { background: #2c3344; border: 1px solid #3a4152; font-weight: normal; }
button.danger { background: #5a1020; border: 1px solid #ff1744; font-weight: normal; padding: 6px 14px; margin: 0; font-size: 0.9rem; }
.error { background: rgba(255,23,68,0.15); border: 1px solid #ff1744; color: #ffd6dd; padding: 12px 14px; border-radius: 8px; }
.ok { background: rgba(0,200,83,0.15); border: 1px solid #00c853; color: #c8ffd9; padding: 12px 14px; border-radius: 8px; }
.note { background: rgba(0,170,255,0.12); border: 1px solid #2f4a66; color: #cfeaff; padding: 12px 14px; border-radius: 8px; }
.small { font-size: 0.9rem; margin-top: 24px; }
a { color: #00aaff; }
code { background: #111; padding: 2px 6px; border-radius: 4px; }
table { width: 100%; border-collapse: collapse; margin-top: 10px; }
td, th { text-align: left; padding: 10px 8px; border-bottom: 1px solid #333; vertical-align: middle; }
th { color: #999; font-weight: normal; font-size: 0.9rem; }
.top-links { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.top-links .btn { margin-top: 0; }
