/* Login é standalone (não estende base.html) — inclui reset próprio */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { background: #0a0a0a; color: #e0e0e0; font-family: 'JetBrains Mono', monospace; min-height: 100vh; display: flex; align-items: center; justify-content: center; }

.box { background: #111; border: 1px solid #1a1a1a; border-radius: 12px; padding: 40px; width: 100%; max-width: 380px; margin: 20px; }
@media (max-width: 420px) { .box { padding: 28px 20px; } }

.logo { text-align: center; margin-bottom: 28px; }
.logo span  { color: #ff6b35; font-size: 28px; font-weight: 700; }
.logo small { display: block; color: #555; font-size: 11px; margin-top: 4px; }

.tabs { display: flex; margin-bottom: 24px; border-bottom: 1px solid #1a1a1a; }
.tab-btn { flex: 1; background: none; border: none; color: #555; font-family: 'JetBrains Mono', monospace; font-size: 12px; padding: 10px; cursor: pointer; transition: .2s; border-bottom: 2px solid transparent; }
.tab-btn.active { color: #ff6b35; border-bottom-color: #ff6b35; }
.tab-pane { display: none; }
.tab-pane.active { display: block; }

.form-group { margin-bottom: 14px; }
.form-group label { display: block; font-size: 11px; color: #ff6b35; margin-bottom: 6px; letter-spacing: .5px; }
.form-group input { width: 100%; background: #0d0d0d; border: 1px solid #1a1a1a; color: #e0e0e0; padding: 11px 14px; border-radius: 6px; font-family: 'JetBrains Mono', monospace; font-size: 13px; transition: .2s; }
.form-group input:focus { outline: none; border-color: #ff6b35; }

.pw-wrap { position: relative; }
.pw-wrap input { padding-right: 42px; }
.pw-eye { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #555; cursor: pointer; padding: 0; line-height: 1; font-size: 16px; }
.pw-eye:hover { color: #ff6b35; }

.btn { width: 100%; background: rgba(255,107,53,.1); color: #ff6b35; border: 1px solid #ff6b35; padding: 12px; border-radius: 6px; font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 700; cursor: pointer; transition: .2s; margin-top: 6px; }
.btn:hover { background: #ff6b35; color: #fff; }

.msg { padding: 10px 14px; border-radius: 6px; font-size: 12px; margin-bottom: 14px; }
.msg.error   { background: rgba(255,59,59,.1); color: #ff3b3b; border: 1px solid rgba(255,59,59,.3); }
.msg.success { background: rgba(255,107,53,.1); color: #ff6b35; border: 1px solid rgba(255,107,53,.3); }

/* ── Esqueci / Reset senha ── */
.back { text-align: center; margin-top: 16px; font-size: 11px; color: #555; }
.back a { color: #555; text-decoration: none; }
.back a:hover { color: #ff6b35; }
.hint { font-size: 11px; color: #555; margin-bottom: 20px; line-height: 1.6; }
.codigo-input { letter-spacing: 8px; font-size: 22px; text-align: center; }
