.admin-shell { max-width: 1120px; }
.admin-topbar { gap: 16px; }
.admin-back { text-decoration: none; }
.admin-main { padding: 25px 0 30px; }
.admin-intro { padding: 23px 0 15px; max-width: 800px; }
.admin-intro h1 { margin: 8px 0 10px; font-family: Manrope, sans-serif; font-size: clamp(30px, 4vw, 42px); line-height: 1.1; letter-spacing: -1.3px; }
.admin-intro p { max-width: 720px; color: #D4DFEA; line-height: 1.7; margin: 0; font-size: 13px; }
.admin-panel { background: #112B49; border: 1px solid rgba(208,208,206,.17); border-radius: 18px; padding: clamp(18px, 3vw, 28px); box-shadow: 0 12px 32px rgba(0,0,0,.19); margin-top: 18px; }
.admin-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.admin-panel-heading h2 { margin: 5px 0 0; font: 700 21px Manrope, sans-serif; color: #F5F7FA; letter-spacing: -.45px; }
.admin-panel-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #E87722; background: rgba(232,119,34,.14); font-size: 24px; }
.admin-panel > p { color: #AEBFD0; font-size: 12px; line-height: 1.7; }
.admin-login-form { max-width: 480px; display: grid; gap: 10px; margin-top: 20px; }
.admin-login-form label { color: #D0D0CE; font-size: 12px; font-weight: 700; }
.admin-login-form input { width: 100%; min-height: 46px; background: #0C2340; border: 1px solid rgba(208,208,206,.3); color: #F5F7FA; border-radius: 10px; padding: 11px 13px; font: inherit; outline: none; }
.admin-login-form input:focus { border-color: #E87722; box-shadow: 0 0 0 3px rgba(232,119,34,.14); }
.admin-login-form .button { justify-content: center; min-height: 44px; font-size: 12px; margin-top: 4px; }
.queue-heading { align-items: flex-start; }
.queue-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.queue-actions .button { min-height: 35px; padding: 8px 11px; font-size: 10px; }
.pending-count { background: rgba(232,119,34,.15); color: #FFB276; border: 1px solid rgba(232,119,34,.3); padding: 8px 10px; border-radius: 9px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.admin-description { margin: 15px 0 18px; }
.pending-list { display: grid; gap: 12px; }
.pending-card { border: 1px solid rgba(208,208,206,.18); background: #0C2340; border-radius: 13px; padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; }
.pending-card-main { min-width: 0; }
.pending-card-main h3 { margin: 0; color: #F5F7FA; font: 700 15px Manrope, sans-serif; overflow-wrap: anywhere; }
.pending-card-main p { margin: 6px 0 0; color: #AEBFD0; font-size: 11px; line-height: 1.65; }
.pending-card-main .pending-athlete { color: #D0D0CE; font-weight: 700; }
.pending-tag { display: inline-flex; margin-top: 9px; border-radius: 6px; padding: 5px 7px; background: rgba(232,119,34,.14); color: #FFB276; font-size: 9px; font-weight: 800; }
.pending-card-actions { display: flex; flex-direction: column; gap: 8px; min-width: 130px; }
.pending-card-actions .button { justify-content: center; min-height: 36px; font-size: 10px; padding: 8px 10px; }
.button-approve { background: #CEE000; border-color: #CEE000; color: #0C2340; }
.button-approve:hover { background: #DDEB38; }
.button-reject { background: transparent; border-color: rgba(206,0,55,.55); color: #FF9EAF; }
.button-reject:hover { background: rgba(206,0,55,.12); }
.admin-empty { padding: 28px 15px; text-align: center; color: #AEBFD0; background: rgba(255,255,255,.025); border: 1px dashed rgba(208,208,206,.2); border-radius: 12px; font-size: 12px; line-height: 1.7; }
.admin-message { margin-top: 14px; border: 1px solid rgba(0,181,226,.3); background: rgba(0,181,226,.1); color: #E6F4F8; padding: 13px 15px; border-radius: 10px; font-size: 12px; line-height: 1.7; }
.admin-message.error { border-color: rgba(206,0,55,.4); background: rgba(206,0,55,.12); color: #FFE4EA; }
.admin-message a { color: #FFB276; }
.admin-security-note { margin: 17px 2px 0; color: #AEBFD0; font-size: 10px; line-height: 1.7; }
.admin-security-note strong { color: #D0D0CE; }
.admin-footer-link { color: #FFB276; text-decoration: none; font-weight: 700; }
.admin-footer-link:hover { text-decoration: underline; }
code { color: #FFB276; background: rgba(232,119,34,.1); padding: 2px 5px; border-radius: 4px; }
@media (max-width: 720px) {
  .admin-shell { padding: 0 15px; }
  .admin-topbar { height: auto; min-height: 76px; flex-wrap: wrap; padding: 12px 0; }
  .brand-logo-wrap { width: 145px; }
  .brand-copy small { white-space: normal; font-size: 7px; }
  .admin-back { font-size: 10px; padding: 8px 9px; }
  .queue-heading { flex-direction: column; }
  .queue-actions { justify-content: flex-start; }
  .pending-card { grid-template-columns: 1fr; }
  .pending-card-actions { flex-direction: row; }
  .pending-card-actions .button { flex: 1; }
}


/* Gestão de solicitações de brindes */
.admin-subsection { margin-top: 30px; padding-top: 25px; border-top: 1px solid rgba(208,208,206,.18); }
.admin-subsection .admin-description { margin-bottom: 16px; }
.redemption-admin-list { display: grid; gap: 12px; }
.redemption-admin-card { border: 1px solid rgba(208,208,206,.18); background: #0C2340; border-radius: 13px; padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; }
.redemption-admin-main { min-width: 0; }
.redemption-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.redemption-title-row h3 { margin: 0; color: #F5F7FA; font: 700 15px Manrope, sans-serif; overflow-wrap: anywhere; }
.redemption-admin-main p { margin: 6px 0 0; color: #AEBFD0; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.redemption-admin-main .pending-athlete { color: #D0D0CE; font-weight: 700; }
.redemption-admin-main .redemption-audit { color: #B9D6E6; font-size: 10px; }
.redemption-admin-status { display: inline-flex; border-radius: 6px; padding: 5px 8px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.status-requested { background: rgba(232,119,34,.15); color: #FFB276; border: 1px solid rgba(232,119,34,.28); }
.status-approved { background: rgba(0,181,226,.13); color: #7EDFF2; border: 1px solid rgba(0,181,226,.25); }
.status-delivered { background: rgba(206,224,0,.12); color: #E3EF53; border: 1px solid rgba(206,224,0,.24); }
.redemption-admin-actions { display: flex; min-width: 150px; flex-direction: column; gap: 8px; }
.redemption-admin-actions .button { min-height: 36px; font-size: 10px; padding: 8px 10px; justify-content: center; white-space: normal; }
.button-delivered { background: #00B5E2; border-color: #00B5E2; color: #0C2340; }
.button-delivered:hover { background: #54CBEA; }
.delivered-note { display: inline-flex; justify-content: center; border-radius: 8px; padding: 9px 11px; font-size: 10px; font-weight: 800; color: #E3EF53; background: rgba(206,224,0,.1); }
@media (max-width: 720px) {
  .redemption-admin-card { grid-template-columns: 1fr; }
  .redemption-admin-actions { min-width: 0; }
}

.admin-subsection #redemptionCounts { white-space: normal; text-align: center; line-height: 1.5; }


/* Aprovação inicial dos colaboradores por matrícula Primetals */
.user-approval-section { margin-top: 0; padding-top: 0; border-top: 0; }
.user-request-card { border: 1px solid rgba(208,208,206,.18); background: #0C2340; border-radius: 13px; padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; }
.user-request-card h3 { margin: 0; color: #F5F7FA; font: 700 15px Manrope, sans-serif; overflow-wrap: anywhere; }
.user-request-card p { margin: 6px 0 0; color: #AEBFD0; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.user-request-card .user-gid-value { color: #FFB276; letter-spacing: .3px; }
@media (max-width: 720px) { .user-request-card { grid-template-columns: 1fr; } }

/* Administration inherits the same friendly light palette as the main app. */
.admin-intro h1 { color: #0C2340; }
.admin-intro p { color: #4F657B; }
.admin-panel { background: #FFFFFF; border-color: #DCE5EF; box-shadow: 0 8px 24px rgba(12,35,64,.075); }
.admin-panel-heading h2 { color: #0C2340; }
.admin-panel-icon { color: #A84300; background: #FFF0E5; }
.admin-panel > p { color: #5F7185; }
.admin-login-form label { color: #344C63; }
.admin-login-form input { background: #FFFFFF; border-color: #C7D5E3; color: #1D3045; }
.admin-login-form input:focus { border-color: #A84300; box-shadow: 0 0 0 3px rgba(232,119,34,.15); }
.pending-count { background: #FFF0E5; color: #88400D; border-color: #F0D0B9; }
.pending-card, .redemption-admin-card, .user-request-card { background: #F8FAFD; border-color: #DCE5EF; }
.pending-card-main h3, .redemption-title-row h3, .user-request-card h3 { color: #20364D; }
.pending-card-main p, .redemption-admin-main p, .user-request-card p { color: #5F7185; }
.pending-card-main .pending-athlete, .redemption-admin-main .pending-athlete { color: #344C63; }
.pending-tag { background: #FFF0E5; color: #88400D; }
.button-approve { background: #237650; border-color: #237650; color: #FFFFFF; }
.button-approve:hover { background: #195E3F; }
.button-reject { background: #FFFFFF; border-color: #C95A5A; color: #A12F35; }
.button-reject:hover { background: #FDEDEC; }
.admin-empty { color: #5F7185; background: #F8FAFD; border-color: #D4DFEA; }
.admin-message { border-color: #C9DFEF; background: #EAF4FC; color: #244F72; }
.admin-message.error { border-color: #F3C8C5; background: #FDEDEC; color: #8A302B; }
.admin-message a { color: #A84300; }
.admin-security-note { color: #5F7185; }
.admin-security-note strong { color: #344C63; }
.admin-footer-link { color: #A84300; }
.admin-footer-link:hover { color: #873600; }
code { color: #88400D; background: #FFF0E5; }
.admin-subsection { border-top-color: #E2EAF2; }
.redemption-admin-main .redemption-audit { color: #5F7185; }
.status-requested { background: #FFF0E5; color: #88400D; border-color: #F0D0B9; }
.status-approved { background: #E6F3FA; color: #245E87; border-color: #C7E1EF; }
.status-delivered { background: #E8F5EE; color: #216A47; border-color: #C6E7D4; }
.button-delivered { background: #245E87; border-color: #245E87; color: #FFFFFF; }
.button-delivered:hover { background: #194B6D; }
.delivered-note { color: #216A47; background: #E8F5EE; }
.user-request-card .user-gid-value { color: #A84300; }
