.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: 10px; }
.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; }
.admin-workspace-toolbar{ justify-content: flex-end; }
.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-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-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; }

.redemption-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 14px; padding-bottom:10px; border-bottom:1px solid #DCE5EF; }
.redemption-tab{ display:inline-flex; align-items:center; gap:8px; border:1px solid #D3DEE9; border-radius:9px; padding:9px 13px; background:#F8FAFD; color:#52677D; font:700 11px Manrope,sans-serif; cursor:pointer; transition:background .15s ease,border-color .15s ease,color .15s ease; }
.redemption-tab:hover{ border-color:#A84300; color:#88400D; }
.redemption-tab.is-active{ background:#FFF0E5; border-color:#E7B58F; color:#88400D; box-shadow:inset 0 -2px 0 #A84300; }
.redemption-tab-count{ display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:#E8EEF5; color:#425A72; font-size:10px; }
.redemption-tab.is-active .redemption-tab-count{ background:#A84300; color:#FFFFFF; }
.finalized-note{ display:inline-flex; justify-content:center; border-radius:8px; padding:9px 11px; font-size:10px; font-weight:800; text-align:center; line-height:1.45; }
.finalized-note.status-rejected{ background:#FDEDEC; color:#A12F35; border:1px solid #F3C8C5; }
.finalized-note.status-cancelled{ background:#EEF1F5; color:#536477; border:1px solid #D5DCE5; }
@media (max-width:520px){ .redemption-tabs{ display:grid; grid-template-columns:1fr 1fr; } .redemption-tab{ justify-content:center; padding:9px 8px; } }


/* 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-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; }
.status-awaiting{ background: #FFF4E3; color: #8A4A08; border-color: #F0D3A6; }
.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; }

/* Campaign management: creation form, history and per-collaborator awards. */
.campaign-admin-section{ margin-top: 32px; padding-top: 28px; border-top-color: #E2EAF2; }
.campaign-form{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; margin: 18px 0 28px; border: 1px solid #DCE5EF; border-radius: 15px; background: #F7FAFD; }
.campaign-form-field{ display: grid; align-content: start; gap: 7px; min-width: 0; }
.campaign-form-field label{ color: #344C63; font-size: 11px; font-weight: 800; }
.campaign-form-field input, .campaign-form-field textarea{ box-sizing: border-box; width: 100%; min-height: 42px; border: 1px solid #C7D5E3; border-radius: 9px; background: #FFFFFF; color: #1D3045; padding: 10px 11px; font: inherit; font-size: 12px; }
.campaign-form-field textarea{ resize: vertical; min-height: 76px; line-height: 1.5; }
.campaign-form-field input:focus, .campaign-form-field textarea:focus{ outline: 3px solid rgba(232,119,34,.14); border-color: #A84300; }
.campaign-field-name, .campaign-field-description{ grid-column: 1 / -1; }
.campaign-active-option{ grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid #F0D0B9; border-radius: 10px; background: #FFF5EA; color: #344C63; cursor: pointer; }
.campaign-active-option input{ margin-top: 3px; accent-color: #A84300; }
.campaign-active-option strong, .campaign-active-option small{ display: block; }
.campaign-active-option strong{ font-size: 11px; }
.campaign-active-option small{ margin-top: 4px; font-size: 10px; line-height: 1.5; color: #5F7185; }
.campaign-form-actions{ grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.campaign-form-actions .button{ min-height: 42px; }
.campaign-list-heading{ margin: 18px 0 12px; }
.campaign-list-heading h3{ margin: 5px 0 0; color: #0C2340; font: 700 17px Manrope, sans-serif; }
.campaign-title-line{ display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.campaign-status{ display: inline-flex; border-radius: 6px; padding: 5px 7px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.campaign-status.status-active{ background: #E8F5EE; color: #216A47; border: 1px solid #C6E7D4; }
.campaign-status.status-upcoming{ background: #E6F3FA; color: #245E87; border: 1px solid #C7E1EF; }
.campaign-status.status-ended{ background: #EEF1F5; color: #536477; border: 1px solid #D5DCE5; }
.campaign-status.status-paused{ background: #FFF0E5; color: #88400D; border: 1px solid #F0D0B9; }
.campaign-award-amount{ align-self: center; color: #237650; white-space: nowrap; font-size: 14px; font-weight: 900; }
@media (max-width: 720px) {
  .campaign-form{ grid-template-columns: 1fr; padding: 13px; }
  .campaign-field-name, .campaign-field-description, .campaign-active-option, .campaign-form-actions{ grid-column: auto; }
  .campaign-form-actions{ align-items: stretch; flex-direction: column; }
  .campaign-award-amount{ justify-self: start; }
}

/* Delete campaign action: visually distinct, responsive, and consistent with admin danger buttons. */
.campaign-delete-button{ border-style: solid; }
.campaign-delete-button:focus-visible{ outline: 3px solid rgba(201,90,90,.28); outline-offset: 2px; }

.wellhub-bonus-award-card .campaign-award-amount{ white-space: nowrap; }
@media (max-width: 720px) {
  .wellhub-bonus-award-card .campaign-award-amount{ text-align: left; }
}



/* Wellhub check-in history: bounded scrolling list and matrícula filter. */
.wellhub-awards-toolbar{ display:grid; grid-template-columns:minmax(0,1fr); gap:6px; margin:0 0 10px; max-width:420px; }
.wellhub-awards-filter-label{ color:#344C63; font-size:11px; font-weight:800; }
.wellhub-awards-filter{ box-sizing:border-box; width:100%; min-height:40px; border:1px solid #C7D5E3; border-radius:9px; background:#FFFFFF; color:#1D3045; padding:9px 11px; font:inherit; font-size:12px; }
.wellhub-awards-filter::placeholder{ color:#8090A1; }
.wellhub-awards-filter:focus{ outline:3px solid rgba(232,119,34,.14); border-color:#A84300; }
.wellhub-awards-scroll{ max-height:420px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding:2px 5px 2px 0; scrollbar-width:thin; scrollbar-color:#A84300 #E8EDF3; }
.wellhub-awards-scroll::-webkit-scrollbar{ width:9px; }
.wellhub-awards-scroll::-webkit-scrollbar-track{ background:#E8EDF3; border-radius:10px; }
.wellhub-awards-scroll::-webkit-scrollbar-thumb{ background:#A84300; border:2px solid #E8EDF3; border-radius:10px; }


/* Admin reward catalog CRUD */
.rewards-admin-section{margin-top:32px;padding-top:28px;border-top:1px solid #DCE5EF}
.reward-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) minmax(150px,1fr) minmax(90px,.6fr);gap:13px;padding:17px;margin:16px 0 20px;border:1px solid #DCE5EF;border-radius:14px;background:#F7FAFD}
.reward-form-field{display:grid;align-content:start;gap:7px;min-width:0}
.reward-form-field label{color:#344C63;font-size:11px;font-weight:800}
.reward-form-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),.reward-form-field textarea{box-sizing:border-box;width:100%;min-height:41px;border:1px solid #C7D5E3;border-radius:9px;background:#FFF;color:#1D3045;padding:9px 10px;font:inherit;font-size:12px}
.reward-form-field textarea{min-height:68px;resize:vertical}
.reward-form-field input:focus,.reward-form-field textarea:focus{outline:3px solid rgba(232,119,34,.14);border-color:#A84300}
.reward-field-multiple label{display:flex;align-items:flex-start;gap:8px;line-height:1.4}.reward-field-multiple input[type="checkbox"]{width:16px;height:16px;min-height:16px;flex:0 0 16px;margin:1px 0 0;accent-color:#A84300}
.reward-field-description{grid-column:1/-1}
.reward-form-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.reward-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.reward-title-line h3{margin:0;color:#20364D;font:700 15px Manrope,sans-serif}
.reward-icon{font-size:22px;line-height:1}
.reward-inactive{opacity:.72}
.reward-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.reward-admin-actions .button{min-height:36px}
@media(max-width:720px){.reward-form{grid-template-columns:1fr 1fr;padding:13px}.reward-field-name,.reward-field-description,.reward-form-actions{grid-column:1/-1}.reward-admin-actions{align-items:stretch}.reward-admin-actions .button{flex:1}}


/* Reward product image upload and previews */
.reward-field-image{grid-column:1/-1}
.reward-field-image input[type="file"]{box-sizing:border-box;width:100%;min-height:42px;padding:7px;background:#FFF;border:1px dashed #AFC2D5;border-radius:9px;color:#1D3045;font:inherit;font-size:12px}
.reward-image-help{color:#71849A;font-size:10px;line-height:1.45}
.reward-image-preview-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.reward-image-preview{width:112px;height:90px;object-fit:contain;background:#FFF;border:1px solid #DCE5EF;border-radius:10px;padding:5px}
.reward-admin-image{width:74px;height:62px;object-fit:contain;flex:0 0 auto;background:#FFF;border:1px solid #DCE5EF;border-radius:9px;padding:4px}
.reward-admin-image-placeholder{display:grid;place-items:center;width:74px;height:62px;flex:0 0 auto;background:#EAF0F6;border:1px dashed #B9C7D5;border-radius:9px;color:#71849A;font-size:9px;font-weight:700}
.reward-title-line{align-items:center}
.button-reject{background:transparent;border-color:#E36A72;color:#E36A72}
.button-reject:hover{background:rgba(225,75,75,.12)}
.status-rejected{background:rgba(225,75,75,.14);color:#E36A72}
.redemption-rejection-reason{color:#E36A72;font-weight:600}

/* Primary workspace tabs and strategic ranking dashboard. */
.admin-primary-tabs{display:flex;gap:8px;margin:18px 0 22px;padding-bottom:10px;border-bottom:1px solid #DCE5EF;}
.admin-primary-tab{appearance:none;border:1px solid #D5E0EA;border-radius:10px;background:#F4F7FB;color:#52677C;padding:10px 18px;font:800 12px Manrope,sans-serif;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;}
.admin-primary-tab:hover{border-color:#C8753B;color:#88400D;}
.admin-primary-tab.is-active{background:#FFF0E5;border-color:#E7B18C;color:#88400D;box-shadow:inset 0 -2px 0 #A84300;}
.admin-tab-panel{min-width:0;}
.ranking-admin-section{margin-top:0;padding-top:0;border-top:0;}
.ranking-section-heading{align-items:flex-start;}
.ranking-description,.ranking-highlights-heading p,.ranking-card-heading p{margin:6px 0 0;color:#65798D;font-size:11px;line-height:1.55;font-weight:500;}
#rankingGeneratedAt{white-space:nowrap;}
.ranking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px;}
.ranking-summary-card{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid #DCE5EF;border-radius:13px;background:#F7FAFD;}
.ranking-summary-card span{color:#536A80;font-size:10px;font-weight:800;}
.ranking-summary-card strong{color:#0C2340;font:800 25px Manrope,sans-serif;letter-spacing:-.5px;}
.ranking-summary-card small{color:#77899B;font-size:9px;line-height:1.4;}
.ranking-highlights-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:8px 0 12px;}
.ranking-highlights-heading h3{margin:0;color:#0C2340;font:800 16px Manrope,sans-serif;}
.ranking-highlights-heading p{margin:0;}
.ranking-highlights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;}
.ranking-highlight-card{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;min-height:142px;padding:15px;border:1px solid #DCE5EF;border-radius:13px;background:#FFFFFF;box-shadow:0 4px 14px rgba(12,35,64,.04);}
.ranking-highlight-label{color:#64788C;font-size:10px;font-weight:800;line-height:1.4;}
.ranking-highlight-name{color:#0C2340;font:800 14px Manrope,sans-serif;line-height:1.35;overflow-wrap:anywhere;}
.ranking-highlight-card small{color:#77899B;font-size:10px;}
.ranking-highlight-value{margin-top:auto;color:#A84300;font:800 15px Manrope,sans-serif;}
.ranking-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 16px;}
.ranking-card{min-width:0;padding:16px;border:1px solid #DCE5EF;border-radius:14px;background:#F8FAFD;}
.ranking-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.ranking-card-heading h3{margin:0;color:#20364D;font:800 14px Manrope,sans-serif;line-height:1.4;}
.ranking-card-heading>span{flex:0 0 auto;padding:5px 8px;border:1px solid #F0D0B9;border-radius:7px;background:#FFF0E5;color:#88400D;font-size:9px;font-weight:800;}
.ranking-list{display:grid;gap:0;margin:0;padding:0;list-style:none;}
.ranking-list-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #E5ECF3;}
.ranking-position,.ranking-table-position{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#EAF0F6;color:#415A72;font-size:10px;font-weight:900;}
.ranking-list-person{display:grid;gap:3px;min-width:0;}
.ranking-list-person strong{color:#20364D;font-size:11px;line-height:1.35;overflow-wrap:anywhere;}
.ranking-list-person small{color:#77899B;font-size:9px;}
.ranking-list-value{color:#A84300;font-size:10px;text-align:right;white-space:nowrap;}
.ranking-list-empty{padding:16px 0;color:#718499;font-size:11px;line-height:1.5;list-style:none;}
.ranking-points-card{margin-top:0;background:#FFFFFF;}
.ranking-table-wrap{width:100%;overflow-x:auto;}
.ranking-table{width:100%;border-collapse:collapse;min-width:620px;text-align:left;}
.ranking-table th{padding:10px 9px;border-bottom:1px solid #DCE5EF;color:#64788C;font-size:9px;font-weight:900;white-space:nowrap;}
.ranking-table td{padding:11px 9px;border-bottom:1px solid #E7EDF3;color:#52677C;font-size:10px;white-space:nowrap;}
.ranking-table tbody tr:last-child td{border-bottom:0;}
.ranking-table td strong{color:#20364D;font-size:10px;}
.ranking-points-value{color:#A84300!important;}
.ranking-table-empty{text-align:center;color:#718499!important;padding:20px!important;}
.ranking-footnote{margin:12px 2px 0;color:#77899B;font-size:9px;line-height:1.55;}
@media(max-width:900px){.ranking-summary-grid,.ranking-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.admin-primary-tabs{display:grid;grid-template-columns:1fr 1fr;}.admin-primary-tab{padding:10px 8px;}.ranking-summary-grid,.ranking-highlights-grid,.ranking-content-grid{grid-template-columns:1fr;}.ranking-highlights-heading{align-items:flex-start;flex-direction:column;gap:4px;}.ranking-section-heading{flex-direction:column;}.ranking-highlight-card{min-height:124px;}}

/* Regional administration form layout */
#regionalAdminForm { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; align-items:end; }
#regionalAdminForm .campaign-form-field { min-width:0; }
#regionalAdminForm select, #regionalAdminForm input { width:100%; min-height:42px; }
#regionalAdminForm button { align-self:end; }
@media (max-width:640px) { #regionalAdminForm { grid-template-columns:1fr; } }

#masterRewardRegionFields, #masterCampaignRegionFields { display:grid; grid-template-columns:1fr; gap:8px; }
#masterRewardRegionFields select, #masterCampaignRegionFields select { width:100%; min-height:38px; }

/* Atribuição de região a colaboradores legados (somente master). */
.legacy-region-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:12px;margin-top:12px}
.legacy-region-controls label{display:grid;gap:6px;color:var(--text-secondary,#9fb0c5);font-size:.78rem;font-weight:700}
.legacy-region-controls select{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--border,#31445d);border-radius:9px;background:var(--field-bg,#15243a);color:var(--text,#eef4fb)}
@media(max-width:680px){.legacy-region-controls{grid-template-columns:1fr}.legacy-region-controls .button{width:100%}}

.reward-region-label{font-size:.76rem;color:var(--text-secondary,#9fb0c5);font-weight:700;margin-top:6px}

/* Multiple region assignments for a regional administrator. */
.regional-admin-assigned-field { grid-column: 1 / -1; }
.regional-admin-region-draft { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 42px; }
.regional-admin-region-chip { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border, #31465d); border-radius: 999px; padding: 7px 10px; color: var(--text, #eaf1fb); background: var(--surface-soft, rgba(255,255,255,.05)); font-size: .82rem; }
.regional-admin-region-chip button { border: 0; background: transparent; color: var(--muted, #9fb0c4); font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 2px; }
.regional-admin-region-chip button:hover { color: #e87722; }
.regional-admin-assigned-scopes { line-height: 1.65; }

/* Seleção múltipla de unidades para administradores regionais. */
.regional-admin-unit-selector { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--border, #31465d); border-radius: 12px; background: var(--surface-soft, rgba(255,255,255,.035)); }
.regional-admin-unit-selector legend { padding: 0 6px; color: var(--text, #eaf1fb); font-size: .82rem; font-weight: 800; }
.regional-admin-all-units-option, .regional-admin-unit-option { display: flex; align-items: center; gap: 9px; min-height: 36px; padding: 7px 9px; border: 1px solid var(--border, #31465d); border-radius: 8px; color: var(--text, #eaf1fb); background: var(--field-bg, rgba(10,25,44,.38)); font-size: .8rem; font-weight: 700; cursor: pointer; }
.regional-admin-all-units-option { margin-bottom: 9px; border-color: rgba(232,119,34,.45); }
.regional-admin-unit-checkbox-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 7px; max-height: 230px; overflow: auto; padding: 2px; }
.regional-admin-unit-option { font-weight: 600; }
.regional-admin-all-units-option input, .regional-admin-unit-option input { flex: 0 0 auto; width: 17px !important; min-height: 17px !important; height: 17px; margin: 0; accent-color: #e87722; }
.regional-admin-unit-option:has(input:checked), .regional-admin-all-units-option:has(input:checked) { border-color: #e87722; background: rgba(232,119,34,.12); }
.regional-admin-unit-selector small { display: block; margin-top: 9px; color: var(--muted, #9fb0c4); font-size: .72rem; line-height: 1.5; }
.regional-admin-unit-selector:disabled { opacity: .65; }

/* Seleção múltipla de cidades/unidades para presentes. */
.reward-region-unit-selector { margin-top: 8px; }
.reward-region-unit-selector .regional-admin-unit-checkbox-list { max-height: 210px; }
.reward-region-unit-selector .admin-empty { padding: 8px 2px; }
.reward-region-unit-selector:disabled { opacity: .62; }
