/* MoveMetals visual theme — Primetals Technologies palette */
:root{
  --ink: #F5F7FA;
  --ink-soft: #D0D0CE;
  --muted: #AEBFD0;
  --line: rgba(208, 208, 206, 0.17);
  --paper: #0C2340;
  --green: #00B5D8;
  --green-light: rgba(0, 181, 226, 0.12);
  --gold: #E87722;
  --gold-light: rgba(232, 119, 34, 0.15);
  --blue-light: rgba(0, 181, 226, 0.11);
  --shadow: 0 12px 32px rgba(0, 0, 0, 0.19);
  --navy: #0C2340;
  --orange: #E87722;
  --panel: #112B49;
  --panel-raised: #153554;
}

html{ background: #0C2340; }
body{
  color: var(--ink);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(0, 90, 122, .28), transparent 34rem),
    radial-gradient(ellipse at 92% 18%, rgba(232, 119, 34, .08), transparent 32rem),
    #0C2340;
}
.app-shell{ max-width: 1220px; }
.topbar{
  height: 94px;
  border-bottom-color: var(--line);
}
.brand{ gap: 13px; }
.brand-logo-wrap{
  display: block;
  flex: 0 0 auto;
  width: 207px;
  padding: 4px 7px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(255,255,255,.76);
  border-radius: 9px;
  box-shadow: 0 5px 18px rgba(0,0,0,.12);
}
.brand-logo{ display: block; width: 100%; height: auto; }
.brand-copy small{
  display: block;
  margin-top: 0;
  color: #D0D0CE;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.35px;
  line-height: 1.7;
  white-space: nowrap;
}
.topbar-right{ gap: 10px; }
.connection-pill{
  background: rgba(17,43,73,.88);
  border-color: var(--line);
  color: #D0D0CE;
}
.status-dot{ background: #E87722; }
.status-dot.connected{ background: #CEE000; }
.avatar-button{
  background: #E87722;
  color: #0C2340;
  border: 1px solid rgba(255,255,255,.16);
}

.hero{
  background: linear-gradient(120deg, #112B49 0%, #15395D 58%, #0E2A49 100%);
  border: 1px solid rgba(208,208,206,.13);
  box-shadow: 0 16px 38px rgba(0,0,0,.20);
}
.hero-copy h1 span{ color: #E87722; }
.eyebrow{ color: #D0D0CE; }
.eyebrow-line{ background: #E87722; }
.hero-copy > p{ color: #D4DFEA; }
.button-strava{
  background: #E87722;
  border-color: #E87722;
  color: #0C2340;
}
.button-strava:hover{ background: #F28A37; }
.button-secondary{
  color: #F5F7FA;
  background: rgba(255,255,255,.05);
  border-color: rgba(208,208,206,.25);
}
.button-secondary:hover{ background: rgba(255,255,255,.10); }
.hero-footnote{ color: #AEBFD0 !important; }
.hero-art{
  background: radial-gradient(ellipse at 58% 48%, rgba(232,119,34,.19) 0, rgba(0,90,122,.18) 38%, transparent 70%);
}
.art-orbit{ border-color: rgba(232,119,34,.33); }
.orbit-two{ border-color: rgba(208,208,206,.22); }
.art-sun{
  background: radial-gradient(circle at 33% 28%, rgba(232,119,34,.52), rgba(0,90,122,.45) 70%);
  box-shadow: 0 0 75px rgba(232,119,34,.12);
}
.floating-chip{
  background: rgba(12,35,64,.94);
  border-color: rgba(208,208,206,.20);
  color: #F5F7FA;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
}
.floating-chip small{ color: #AEBFD0; }
.chip-icon{
  background: rgba(232,119,34,.16);
  color: #E87722;
}
.pulse-dot{ background: #CEE000; box-shadow: 0 0 0 5px rgba(206,224,0,.13); }
.art-label{ color: #D0D0CE; }

.notice{
  background: rgba(232,119,34,.11);
  border-color: rgba(232,119,34,.34);
  color: #F5E9DE;
}

.notice{
  background: rgba(0,181,226,.10);
  border-color: rgba(0,181,226,.30);
  color: #E6F4F8;
}
.notice-error{
  background: rgba(206,0,55,.13);
  border-color: rgba(206,0,55,.35);
  color: #FFE4EA;
}
.section-kicker{ color: #E87722; }
h1, h2, h3, .section-heading h2, .panel-heading h3{ color: #F5F7FA; }
.period-label{
  background: rgba(17,43,73,.88);
  border-color: var(--line);
  color: #D0D0CE;
}

.wallet-card{
  background: linear-gradient(130deg, #17466C 0%, #0D2A4A 70%);
  border: 1px solid rgba(0,181,226,.23);
  box-shadow: var(--shadow);
}
.wallet-label{ color: #D0D0CE; }
.wallet-symbol, .wallet-mini-icon{
  background: rgba(232,119,34,.15);
  color: #E87722;
}
.wallet-unit{ color: #E87722; }
.wallet-card-bottom{ color: #D0D0CE; }

.summary-card, .panel, .reward-card, .reward-loading{
  background: var(--panel);
  color: var(--ink);
  border-color: var(--line);
  box-shadow: var(--shadow);
}
.summary-card{ border-top: 2px solid rgba(0,181,226,.28); }
.summary-icon.green{
  background: rgba(0,181,226,.13);
  color: #00B5D8;
}
.summary-icon.gold{
  background: rgba(232,119,34,.16);
  color: #E87722;
}
.summary-label{ color: #D0D0CE; }
.summary-card strong{ color: #F5F7FA; }
.summary-card strong small{ color: #E87722; }
.summary-card p{ color: #AEBFD0; }
.rules-icon, .wallet-history-icon{
  background: rgba(0,181,226,.12);
  color: #00B5D8;
}
.wallet-history-icon{
  background: rgba(232,119,34,.14);
  color: #E87722;
}



.wallet-totals{ border-top-color: var(--line); color: #B9C7D5; }
.wallet-totals strong{ color: #F5F7FA; }
.wallet-note{
  background: rgba(0,181,226,.08);
  border: 1px solid rgba(0,181,226,.16);
}
.note-icon{
  background: rgba(0,181,226,.16);
  color: #00B5D8;
}
.wallet-note p{ color: #C6D3DE; }

.activity-count-pill{
  background: rgba(208,208,206,.09);
  color: #D0D0CE;
  border: 1px solid var(--line);
}
.activity-row, .redemption-row{ border-bottom-color: var(--line); }
.activity-main strong, .redemption-main strong, .empty-state strong{ color: #F5F7FA; }
.activity-main span, .activities-footer, .redemption-main span, .redemption-points small, .transaction-points small{ color: #AEBFD0; }
.activity-type-icon.run{ background: rgba(232,119,34,.15); color: #E87722; }
.activity-type-icon.ride{ background: rgba(0,181,226,.13); color: #00B5D8; }
.activity-type-icon.walk{ background: rgba(206,224,0,.11); color: #D5E74A; }
.activity-type-icon.gym{ background: rgba(140,71,153,.16); color: #C58BD2; }
.activity-type-icon.other{ background: rgba(208,208,206,.10); color: #D0D0CE; }
.transaction-points strong{ color: #E87722; }
.empty-state{ color: #AEBFD0; }
.empty-icon{ color: #E87722; }
.activities-footer{ border-top-color: var(--line); }
.strava-attribution strong{ color: #FC6D36; }

.section-subtitle{ color: #AEBFD0; }
.reward-card{ border-radius: 16px; }
.reward-card:hover{ border-color: rgba(232,119,34,.55); }
.reward-category{
  background: rgba(0,181,226,.11);
  color: #8EDFF0;
}
.reward-icon{
  background: rgba(232,119,34,.15);
  color: #E87722;
}
.reward-card h3{ color: #F5F7FA; }
.reward-card p{ color: #AEBFD0; }
.reward-cost strong{ color: #F5F7FA; }
.reward-cost span{ color: #E87722; }
.reward-button{
  background: rgba(208,208,206,.08);
  color: #AEBFD0;
  border-color: var(--line);
}
.reward-button-ready{
  background: #E87722;
  color: #0C2340;
  border-color: #E87722;
}
.reward-button-ready:hover{ background: #F28A37; }
.reward-loading{ color: #C5D2DE; }
.redemption-gift{ background: rgba(232,119,34,.15); }
.redemption-status{
  background: rgba(232,119,34,.13);
  color: #F5AD77;
}
.redemption-points strong{ color: #F28A7A; }
.redeem-disclaimer{ border-top-color: var(--line); color: #AEBFD0; }
.privacy-note{
  background: rgba(17,43,73,.85);
  border-color: var(--line);
}
.privacy-icon{ background: rgba(0,181,226,.13); color: #00B5D8; }
.privacy-note p{ color: #B8C8D7; }
.privacy-note strong{ color: #F5F7FA; }
footer{ color: #AEBFD0; border-top: 1px solid var(--line); }
.footer-dot{ color: #E87722; }
a:focus-visible, button:focus-visible{ outline: 3px solid #00B5D8; outline-offset: 3px; }

@media (max-width: 900px) {
  .brand-logo-wrap{ width: 190px; }
  .hero-art{ background: radial-gradient(ellipse at 53% 49%, rgba(232,119,34,.17) 0, rgba(0,90,122,.20) 40%, transparent 70%); }
}
@media (max-width: 680px) {
  .topbar{ height: 76px; }
  .brand-logo-wrap{ width: 158px; padding: 4px 5px; border-radius: 7px; }
  .brand-copy{ display: none; }
  .topbar-right{ gap: 7px; }
  .connection-pill{ background: rgba(17,43,73,.92); }
  .avatar-button{ width: 35px; height: 35px; }
  .hero{ background: linear-gradient(145deg, #112B49 0%, #15395D 100%); }
  .hero-art{ background: radial-gradient(ellipse at 53% 49%, rgba(232,119,34,.17) 0, rgba(0,90,122,.18) 43%, transparent 72%); }
  .floating-chip{ backdrop-filter: blur(5px); }
  .panel, .summary-card, .reward-card{ background: #112B49; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after{ transition: none !important; scroll-behavior: auto; }
}


/* Manual Strava activities are evidence-only and never earn points. */
.activity-row{ border-bottom-color: rgba(208,208,206,.12); }
.activity-main strong{ color: #F5F7FA; }
.activity-main span{ color: #AEBFD0; }
.transaction-points .points-approved{ color: #CEE000; }
.transaction-points .points-pending{ color: #FFB276; font-size: 10px; }
.transaction-points .points-rejected{ color: #FF9EAF; font-size: 10px; }
.transaction-points small{ color: #AEBFD0; }
.admin-footer-link{ color: #FFB276; text-decoration: none; font-weight: 700; margin-left: 6px; }
.admin-footer-link:hover{ text-decoration: underline; }


/* Startup gate: hide all account content until Strava sync succeeds. */
.startup-state{
  max-width: 780px;
  margin: 64px auto 52px;
  padding: 0 10px;
}
.startup-card{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  text-align: center;
  padding: 48px 30px 42px;
  border: 1px solid rgba(208,208,206,.18);
  border-radius: 24px;
  background: linear-gradient(138deg, #112B49 0%, #15395D 62%, #0E2A49 100%);
  box-shadow: 0 18px 52px rgba(0,0,0,.22);
  color: #F5F7FA;
}
.startup-card::before{
  content: "";
  position: absolute;
  width: 330px;
  height: 330px;
  right: -150px;
  top: -190px;
  border: 1px solid rgba(232,119,34,.3);
  border-radius: 50%;
  pointer-events: none;
}
.startup-mark{
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin-bottom: 22px;
  border-radius: 20px;
  border: 1px solid rgba(232,119,34,.38);
  background: rgba(232,119,34,.12);
}
.startup-spinner{
  display: block;
  width: 30px;
  height: 30px;
  border: 3px solid rgba(208,208,206,.25);
  border-top-color: #E87722;
  border-radius: 50%;
  animation: movemetals-spin .85s linear infinite;
}

.startup-kicker{
  margin: 0;
  color: #E87722;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 1.9px;
}
.startup-card h1{
  max-width: 590px;
  margin: 13px 0 12px;
  color: #F5F7FA;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.16;
  letter-spacing: -1.1px;
}
.startup-message{
  max-width: 540px;
  margin: 0;
  color: #D4DFEA;
  font-size: 13px;
  line-height: 1.8;
}
.startup-progress{
  width: min(290px, 82%);
  height: 4px;
  margin-top: 26px;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(208,208,206,.16);
}
.startup-progress span{
  display: block;
  width: 34%;
  height: 100%;
  border-radius: inherit;
  background: #E87722;
  animation: movemetals-progress 1.35s ease-in-out infinite;
}
.startup-card[data-state="connect"] .startup-spinner, .startup-card[data-state="error"] .startup-spinner{ display: none; }
.startup-card[data-state="connect"] .startup-mark::after{
  content: "↗";
  color: #E87722;
  font-size: 32px;
  font-weight: 800;
}
.startup-card[data-state="error"] .startup-mark::after{
  content: "!";
  color: #E87722;
  font-size: 34px;
  font-weight: 800;
}
.startup-card[data-state="connect"] .startup-progress, .startup-card[data-state="error"] .startup-progress{ display: none; }
.startup-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.startup-actions .button-secondary{
  background: rgba(255,255,255,.06);
  border-color: rgba(208,208,206,.28);
}
@keyframes movemetals-spin { to{ transform: rotate(360deg); } }
@keyframes movemetals-progress {
  0%{ transform: translateX(-130%); }
  100%{ transform: translateX(390%); }
}
@media (max-width: 680px) {
  .startup-state{ margin: 36px auto 32px; padding: 0; }
  .startup-card{ border-radius: 18px; padding: 34px 19px 29px; }
  .startup-card h1{ font-size: 29px; letter-spacing: -.7px; }
  .startup-message{ font-size: 12px; }
  .startup-actions{ width: 100%; }
  .startup-actions .button{ width: 100%; }
}

.startup-admin-link{
  margin-top: 24px;
  color: #AEBFD0;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.startup-admin-link:hover{ color: #E87722; text-decoration: underline; }


/* Cadastro de colaborador por matrícula e perfil */
.gid-form{ width: min(100%, 410px); display: grid; gap: 9px; margin-top: 24px; text-align: left; }
.gid-form label{ color: #F5F7FA; font-size: 12px; font-weight: 800; }
.gid-form input{ width: 100%; min-height: 47px; border: 1px solid rgba(208,208,206,.35); border-radius: 10px; padding: 12px 14px; color: #F5F7FA; background: #0C2340; font: inherit; outline: none; letter-spacing: .2px; }
.gid-form input:focus{ border-color: #E87722; box-shadow: 0 0 0 3px rgba(232,119,34,.15); }
.gid-form p{ color: #AEBFD0; margin: 0 0 5px; font-size: 10px; line-height: 1.65; }
.gid-form .button{ justify-content: center; width: 100%; }
.startup-user-line{ margin: 18px 0 0; padding: 9px 12px; border-radius: 9px; color: #FFB276; background: rgba(232,119,34,.1); border: 1px solid rgba(232,119,34,.24); font-size: 11px; font-weight: 800; overflow-wrap: anywhere; }
.startup-card[data-state="pending"] .startup-spinner, .startup-card[data-state="rejected"] .startup-spinner, .startup-card[data-state="needs-gid"] .startup-spinner, .startup-card[data-state="needs-strava"] .startup-spinner, .startup-card[data-state="configuration-required"] .startup-spinner{ display: none; }
.startup-card[data-state="pending"] .startup-mark::after{ content: "…"; color: #E87722; font-size: 38px; font-weight: 900; }
.startup-card[data-state="rejected"] .startup-mark::after, .startup-card[data-state="configuration-required"] .startup-mark::after, .startup-card[data-state="needs-gid"] .startup-mark::after, .startup-card[data-state="needs-strava"] .startup-mark::after{ content: "↗"; color: #E87722; font-size: 32px; font-weight: 900; }
.startup-card[data-state="pending"] .startup-progress, .startup-card[data-state="rejected"] .startup-progress, .startup-card[data-state="needs-gid"] .startup-progress, .startup-card[data-state="needs-strava"] .startup-progress, .startup-card[data-state="configuration-required"] .startup-progress{ display: none; }
.profile-dialog{ width: min(440px, calc(100% - 28px)); padding: 24px; color: #F5F7FA; background: #112B49; border: 1px solid rgba(208,208,206,.25); border-radius: 18px; box-shadow: 0 25px 80px rgba(0,0,0,.5); }
.profile-dialog::backdrop{ background: rgba(3,13,26,.72); backdrop-filter: blur(4px); }
.profile-dialog-header{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-dialog-header h2{ color: #F5F7FA; }
.profile-close{ border: 1px solid rgba(208,208,206,.28); border-radius: 9px; width: 36px; height: 36px; background: #0C2340; color: #F5F7FA; cursor: pointer; font-size: 22px; }
.profile-details{ display: grid; gap: 0; margin: 22px 0 0; }
.profile-details > div{ border-top: 1px solid rgba(208,208,206,.16); padding: 12px 0; display: grid; grid-template-columns: 42% 1fr; gap: 12px; }
.profile-details dt{ color: #AEBFD0; font-size: 11px; }
.profile-details dd{ margin: 0; color: #F5F7FA; font-size: 12px; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.profile-details #profileMatricula{ color: #FFB276; letter-spacing: .3px; }
.profile-note{ margin: 10px 0 0; color: #AEBFD0; font-size: 10px; line-height: 1.7; }
@media (max-width: 680px) { .gid-form{ margin-top: 20px; } .profile-dialog{ padding: 19px; } }

/* Friendly, high-clarity light palette: navy for structure, orange for action. */
:root{
  --ink: #1D3045;
  --ink-soft: #3C536B;
  --muted: #5F7185;
  --line: #DCE5EF;
  --paper: #F4F7FB;
  --green: #237650;
  --green-light: #E8F5EE;
  --gold: #E87722;
  --gold-light: #FFF0E5;
  --blue-light: #EAF2FA;
  --shadow: 0 8px 24px rgba(12, 35, 64, .075);
  --navy: #0C2340;
  --orange: #E87722;
  --panel: #FFFFFF;
  --panel-raised: #F8FAFD;
}

html{ background: var(--paper); }
body{
  color: var(--ink);
  background:
    radial-gradient(ellipse at 8% 0%, rgba(0, 90, 122, .055), transparent 34rem),
    radial-gradient(ellipse at 94% 12%, rgba(232, 119, 34, .045), transparent 30rem),
    var(--paper);
}
.topbar{ border-bottom-color: var(--line); }
.brand-copy small{ color: #667B91; }
.connection-pill{ background: #FFFFFF; border-color: var(--line); color: #52677D; }
.status-dot{ background: #C46A20; }
.status-dot.connected{ background: #218052; }
.avatar-button{ background: #EAF1F8; border-color: #D6E2ED; color: var(--navy); }

/* Softer hero: a light blue canvas keeps the mascot prominent without making the whole page dark. */
.hero{
  background: linear-gradient(120deg, #EAF3FB 0%, #E1EDF8 57%, #FFF0E5 100%);
  color: var(--navy);
  border: 1px solid #D7E3EF;
  box-shadow: 0 12px 30px rgba(12, 35, 64, .09);
}
.hero-copy h1, .hero-copy h1 span{ color: var(--navy); }
.hero-copy h1 span{ color: #A84300; }
.eyebrow{ color: #48627B; }
.eyebrow-line{ background: var(--orange); }
.hero-copy > p{ color: #405B74; }
.button{ font-size: 12px; }
.button-strava{ background: #A84300; color: #FFFFFF; border-color: #A84300; }
.button-strava:hover{ background: #8F3900; border-color: #8F3900; }
.button-secondary{ color: var(--navy); background: rgba(255,255,255,.88); border-color: #C7D6E5; }
.button-secondary:hover{ background: #FFFFFF; border-color: #9EB6CC; }
.hero-footnote{ color: #526B82 !important; }
.hero-art{ background: radial-gradient(ellipse at 58% 48%, rgba(232,119,34,.20) 0, rgba(0,90,122,.10) 38%, transparent 70%); }
.art-orbit{ border-color: rgba(12,35,64,.17); }
.orbit-two{ border-color: rgba(12,35,64,.24); }
.art-sun{ background: radial-gradient(circle at 32% 28%, rgba(232,119,34,.48), rgba(0,90,122,.17) 72%); box-shadow: 0 0 65px rgba(232,119,34,.12); }
.floating-chip{ background: rgba(255,255,255,.96); border-color: #D7E2ED; color: var(--navy); box-shadow: 0 8px 24px rgba(12,35,64,.13); }
.floating-chip small{ color: #5F7185; }
.chip-icon{ background: #FFF0E5; color: #A84300; }
.pulse-dot{ background: #218052; box-shadow: 0 0 0 5px #E7F4EC; }
.art-label{ color: #526C83; }

h1, h2, h3, .section-heading h2, .panel-heading h3{ color: var(--navy); }
.section-kicker{ color: #A84300; }
.period-label{ background: #FFFFFF; border-color: var(--line); color: #52677D; }
.notice{ background: #FFF5E8; border-color: #F1D8B8; color: #75451C; }

.notice{ background: #EAF4FC; border-color: #CBDFF0; color: #244F72; }
.notice-error{ background: #FDEDEC; border-color: #F3C8C5; color: #8A302B; }

/* Keep the points balance visually important; use white surfaces for supporting information. */
.wallet-card{ background: linear-gradient(130deg, #163D62 0%, #0C2340 78%); border: 1px solid #214A70; box-shadow: 0 10px 25px rgba(12,35,64,.13); }
.wallet-label{ color: #D3E0EC; }
.wallet-symbol, .wallet-mini-icon{ background: rgba(232,119,34,.18); color: #FFAC70; }
.wallet-unit{ color: #FFB477; }
.wallet-card-bottom{ color: #D1DFEA; }

.summary-card, .panel, .reward-card, .reward-loading{ background: #FFFFFF; color: var(--ink); border-color: var(--line); box-shadow: var(--shadow); }
.summary-card{ border-top: 2px solid #C8DDEF; }
.summary-icon.green{ background: var(--green-light); color: var(--green); }
.summary-icon.gold{ background: var(--gold-light); color: #A84300; }
.summary-label{ color: #586E84; }
.summary-card strong{ color: var(--navy); }
.summary-card strong small{ color: #A84300; }
.summary-card p{ color: #5F7185; }
.rules-icon, .wallet-history-icon{ background: #E8F1FA; color: #245E87; }
.wallet-history-icon{ background: var(--gold-light); color: #A84300; }



.wallet-totals{ border-top-color: #E8EDF3; color: #5F7185; }
.wallet-totals strong{ color: var(--navy); }
.wallet-note{ background: #F3F7FB; border: 1px solid #E4ECF4; }
.note-icon{ background: #DCEBE4; color: #237650; }
.wallet-note p{ color: #4D6579; }
.activity-count-pill{ background: #F1F5F9; color: #4E647B; border: 1px solid #E1E8F0; }
.activity-row, .redemption-row{ border-bottom-color: #E8EDF3; }
.activity-main strong, .redemption-main strong, .empty-state strong{ color: #20364D; }
.activity-main span, .activities-footer, .redemption-main span, .redemption-points small, .transaction-points small{ color: #61758A; }
.activity-type-icon.run{ background: #FFF0E5; color: #A84300; }
.activity-type-icon.ride{ background: #E6F3FA; color: #245E87; }
.activity-type-icon.walk{ background: #E8F5EE; color: #237650; }
.activity-type-icon.gym{ background: #F0EAF8; color: #70509B; }
.activity-type-icon.other{ background: #EEF2F6; color: #5E7185; }
.transaction-points strong{ color: #237650; }
.transaction-points .points-approved{ color: #237650; }
.transaction-points .points-pending{ color: #A45B00; }
.transaction-points .points-rejected{ color: #A92F36; }
.empty-state{ color: #61758A; }
.empty-icon{ color: #A84300; }
.activities-footer{ border-top-color: #E8EDF3; }
.strava-attribution strong{ color: #D95320; }
.section-subtitle{ color: #5F7185; }
.reward-card{ border-radius: 16px; }
.reward-card:hover{ border-color: #E7A06E; box-shadow: 0 12px 28px rgba(12,35,64,.10); }
.reward-category{ background: #E8F1FA; color: #245E87; }
.reward-icon{ background: var(--gold-light); color: #A84300; }
.reward-card h3{ color: var(--navy); }
.reward-card p{ color: #5F7185; }
.reward-cost strong{ color: var(--navy); }
.reward-cost span{ color: #A84300; }
.reward-button{ background: #F1F5F9; color: #66788B; border-color: #E1E8F0; }
.reward-button-ready{ background: #A84300; color: #FFFFFF; border-color: #A84300; }
.reward-button-ready:hover{ background: #8F3900; }
.reward-loading{ color: #5F7185; }
.redemption-gift{ background: #FFF0E5; }
.redemption-status{ background: #FFF0E5; color: #88400D; }
.redemption-status-requested{ background: #FFF0E5; color: #88400D; }
.redemption-status-approved{ background: #E6F3FA; color: #245E87; }
.redemption-status-delivered{ background: #E8F5EE; color: #216A47; }
.redemption-points strong{ color: #A84300; }
.redeem-disclaimer{ border-top-color: #E8EDF3; color: #5F7185; }
.privacy-note{ background: #EAF2FA; border-color: #D6E4F0; }
.privacy-icon{ background: #D8E8F5; color: #245E87; }
.privacy-note p{ color: #445F77; }
.privacy-note strong{ color: var(--navy); }
footer{ color: #61758A; border-top-color: #DCE5EF; }
.footer-dot{ color: var(--orange); }
a:focus-visible, button:focus-visible, input:focus-visible{ outline: 3px solid #E87722; outline-offset: 3px; }

/* Entry/cadastro state and profile dialog use the same calmer light surface. */
.startup-state{ max-width: 780px; }
.startup-card{
  background: linear-gradient(145deg, #FFFFFF 0%, #F7FAFD 72%, #FFF7F0 100%);
  border-color: #DCE5EF;
  box-shadow: 0 14px 36px rgba(12,35,64,.10);
  color: var(--ink);
}
.startup-card::before{ border-color: rgba(232,119,34,.24); }
.startup-mark{ background: #FFF0E5; border-color: #F0CFB5; }
.startup-spinner{ border-color: #E7EDF3; border-top-color: #A84300; }
.startup-card[data-state="connect"] .startup-mark::after, .startup-card[data-state="error"] .startup-mark::after, .startup-card[data-state="pending"] .startup-mark::after, .startup-card[data-state="rejected"] .startup-mark::after, .startup-card[data-state="configuration-required"] .startup-mark::after, .startup-card[data-state="needs-gid"] .startup-mark::after, .startup-card[data-state="needs-strava"] .startup-mark::after{ color: #A84300; }
.startup-kicker{ color: #A84300; }
.startup-card h1{ color: var(--navy); }
.startup-message{ color: #536B82; }
.startup-progress{ background: #E7EDF3; }
.startup-progress span{ background: #E87722; }
.startup-actions .button-secondary{ background: #FFFFFF; border-color: #CAD8E5; color: var(--navy); }
.startup-admin-link{ color: #536B82; }
.startup-admin-link:hover{ color: #A84300; }
.gid-form label{ color: #263C52; }
.gid-form input{ border-color: #C7D5E3; color: #1D3045; background: #FFFFFF; }
.gid-form input::placeholder{ color: #7B8EA1; }
.gid-form input:focus{ border-color: #A84300; box-shadow: 0 0 0 3px rgba(232,119,34,.15); }
.gid-form p{ color: #5F7185; }
.startup-user-line{ color: #88400D; background: #FFF3E9; border-color: #F0D0B9; }
.profile-dialog{ color: var(--ink); background: #FFFFFF; border-color: #DCE5EF; box-shadow: 0 20px 60px rgba(12,35,64,.23); }
.profile-dialog::backdrop{ background: rgba(12,35,64,.38); }
.profile-dialog-header h2{ color: var(--navy); }
.profile-close{ border-color: #DCE5EF; background: #F4F7FB; color: var(--navy); }
.profile-details > div{ border-top-color: #E7EDF3; }
.profile-details dt{ color: #61758A; }
.profile-details dd{ color: #1D3045; }
.profile-details #profileMatricula{ color: #A84300; }
.profile-note{ color: #5F7185; }
.admin-footer-link{ color: #A84300; }
.admin-footer-link:hover{ color: #873600; }

@media (max-width: 900px) {
  .hero{ background: linear-gradient(120deg, #EAF3FB 0%, #E1EDF8 57%, #FFF0E5 100%); }
}
@media (max-width: 680px) {
  .connection-pill{ background: #FFFFFF; }
  .hero{ background: linear-gradient(145deg, #EAF3FB 0%, #E1EDF8 72%, #FFF0E5 100%); }
  .panel, .summary-card, .reward-card{ background: #FFFFFF; }
  .startup-card{ background: linear-gradient(145deg, #FFFFFF 0%, #F7FAFD 72%, #FFF7F0 100%); }
}


/* UX dashboard: pontos e atividades primeiro; regras escaneáveis */
.section-heading{ margin-top: 22px; }
.wallet-grid{ gap: 12px; }
.wallet-card{ min-height: 202px; }
.summary-card{ min-height: 202px; align-items: center; }
.summary-card strong{ font-size: 34px; }
.activities-panel{ margin-top: 14px; }
.activities-panel .panel-heading h3{ font-size: 20px; }
.activities-panel .activity-row{ padding: 15px 2px; }
.hero{ margin-top: 20px; }
.scoring-intro{ color: var(--muted); font-size: 12px; line-height: 1.6; margin: 13px 0 16px; }
.scoring-tiers{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.scoring-tier{ min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.035); }
.scoring-tier .tier-tag{ display: inline-block; font-size: 9px; font-weight: 850; letter-spacing: .8px; padding: 5px 7px; border-radius: 6px; background: rgba(255,255,255,.08); color: var(--ink-soft); }
.scoring-tier strong{ display:block; margin-top: 11px; font: 800 23px Manrope,sans-serif; letter-spacing:-.6px; color: var(--ink); }
.scoring-tier small{ display:block; margin-top: 1px; color: var(--muted); font-size: 10px; }
.scoring-tier p{ color: var(--muted); font-size: 11px; line-height:1.5; margin: 10px 0 0; }
.tier-light{ border-top: 3px solid #00B5D8; }
.tier-moderate{ border-top: 3px solid #CEE000; }
.tier-intense{ border-top: 3px solid #E87722; }
.scoring-limits{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.scoring-limits > div{ display:flex; gap:9px; align-items:flex-start; padding:12px; border-radius:11px; background:rgba(255,255,255,.035); }
.limit-icon{ display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:9px; background:rgba(0,181,216,.13); color:#00B5D8; font-weight:850; font-size:11px; }
.scoring-limits p{ margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.scoring-limits strong{ color:var(--ink); font-size:11px; }
.scoring-example{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 14px; margin-top:12px; border-radius:11px; background:rgba(232,119,34,.10); border:1px solid rgba(232,119,34,.24); font-size:11px; line-height:1.5; }
.scoring-example strong{ color:#E87722; }
.scoring-footnote{ color:var(--muted); font-size:10px; line-height:1.65; margin:12px 0 0; }
@media(max-width:720px) { .summary-card{ min-height:112px; } .scoring-tiers{ grid-template-columns:1fr; } .scoring-tier{ display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:12px; padding:12px; } .scoring-tier .tier-tag{ grid-column:1; justify-self:start; } .scoring-tier strong{ grid-column:1; margin-top:8px; } .scoring-tier small{ grid-column:1; } .scoring-tier p{ grid-column:2; grid-row:1 / span 3; max-width:145px; margin:0; } .scoring-limits{ grid-template-columns:1fr; } .scoring-limits > div{ align-items:center; } }

/* MoveCoins: compact hero + wallet-style balance visual */
.hero{
  min-height: 278px;
  grid-template-columns: 1.08fr .92fr;
  margin-top: 16px;
  border-radius: 22px;
}
.hero-copy{ padding: 29px 0 23px 32px; }
.hero-copy h1{ font-size: clamp(34px, 3.2vw, 42px); margin: 14px 0 10px; }
.hero-copy > p{ max-width: 435px; }
.hero-actions{ margin-top: 17px; }
.hero-art{ min-height: 278px; }
.art-orbit.orbit-one{ width: 258px; height: 258px; }
.art-orbit.orbit-two{ width: 194px; height: 194px; }
.art-sun{ width: 158px; height: 158px; }
.runner{ width: 238px; height: 236px; }
.chip-points{ top: 30px; right: 10px; }
.chip-active{ bottom: 25px; left: 6px; }
.wallet-card{ min-height: 210px; }
.wallet-card-top, .wallet-balance, .wallet-card-bottom{ position: relative; z-index: 2; }
.wallet-balance{ max-width: 76%; flex-wrap: wrap; align-items: center; gap: 8px; }
.wallet-unit{ display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0; white-space: nowrap; font-size: 11px; }
.movecoin-glyph, .movecoin-badge{
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #7C430B;
  font-weight: 900;
  background: linear-gradient(145deg, #FFE8A3 0%, #F4B63E 55%, #D98319 100%);
  border: 1px solid rgba(255,242,196,.85);
  box-shadow: inset 0 0 0 2px rgba(193,119,24,.22), 0 2px 7px rgba(0,0,0,.12);
}
.movecoin-glyph{ width: 19px; height: 19px; font-size: 12px; line-height: 1; }
.movecoin-badge{ width: 33px; height: 33px; font-size: 18px; }
.wallet-illustration{ position: absolute; z-index: 1; right: 2px; bottom: 1px; width: 45%; max-width: 178px; opacity: .96; pointer-events: none; }
.wallet-illustration svg{ display: block; width: 100%; height: auto; overflow: visible; }
.wallet-card-bottom{ max-width: 72%; }

.summary-card{ min-height: 210px; }
@media (max-width: 900px) {
  .hero{ grid-template-columns: 1fr .8fr; min-height: 255px; }
  .hero-copy{ padding: 25px 0 21px 25px; }
  .hero-art{ min-height: 255px; }
  .runner{ width: 210px; height: 210px; }
  .wallet-illustration{ width: 41%; max-width: 156px; }
  .wallet-balance{ max-width: 80%; }
}
@media (max-width: 680px) {
  .hero{ grid-template-columns: 1fr; min-height: 0; margin-top: 14px; }
  .hero-copy{ padding: 24px 21px 12px; }
  .hero-copy h1{ font-size: 34px; letter-spacing: -1.3px; margin: 13px 0 9px; }
  .hero-copy > p{ font-size: 12px; line-height: 1.6; }
  .hero-actions{ margin-top: 15px; }
  .hero-footnote{ margin-top: 9px !important; }
  .hero-art{ min-height: 178px; margin-top: 0; }
  .art-orbit.orbit-one{ width: 190px; height: 190px; }
  .art-orbit.orbit-two{ width: 144px; height: 144px; }
  .art-sun{ width: 120px; height: 120px; }
  .runner{ width: 172px; height: 172px; }
  .chip-points{ top: 8px; right: 4px; }
  .chip-active{ bottom: 10px; left: 4px; }
  .floating-chip{ padding: 7px 9px; gap: 8px; }
  .floating-chip strong{ font-size: 10px; }
  .floating-chip small{ font-size: 8px; }
  .chip-icon{ width: 28px; height: 28px; font-size: 16px; }
  .wallet-card{ min-height: 176px; padding: 18px; }
  .wallet-balance{ max-width: 77%; gap: 6px; }
  .wallet-balance > span:first-child{ font-size: clamp(32px, 10vw, 40px); }
  .wallet-unit{ font-size: 10px; }
  .wallet-illustration{ width: 39%; max-width: 140px; right: 0; bottom: -2px; opacity: .72; }
  .wallet-card-bottom{ max-width: 74%; font-size: 9px; }
  .summary-card{ min-height: 108px; }
}

/* Nome de exibição escolhido pelo colaborador, independente do nome do Strava. */
.profile-name-form{ margin-top: 18px; padding-top: 17px; border-top: 1px solid #E7EDF3; display: grid; gap: 10px; }
.profile-name-form h3{ margin: 0; color: var(--navy); font: 800 14px Manrope, sans-serif; }
.profile-name-fields{ display: grid; gap: 7px; }
.profile-name-fields label{ margin-top: 3px; color: #61758A; font-size: 11px; font-weight: 800; }
.profile-name-fields input{ min-height: 42px; width: 100%; border: 1px solid #C7D5E3; border-radius: 9px; padding: 10px 12px; color: #1D3045; background: #FFFFFF; font: inherit; font-size: 12px; }
.profile-name-fields input:focus{ outline: 3px solid rgba(232,119,34,.17); border-color: #A84300; }
.profile-name-actions{ display: flex; justify-content: flex-end; }
.profile-name-status{ min-height: 0; margin: 0; color: #237650; font-size: 11px; line-height: 1.5; }
.profile-name-status:empty{ display: none; }
.profile-name-status.is-error{ color: #B42318; }

/* Ultra-compact Wellhub summary: the check-in timeline is collapsed by default. */
.wellhub-status-panel{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px 14px;
  margin: 0 0 10px;
  padding: 8px 12px;
  border: 1px solid #C9D8E8;
  border-radius: 12px;
  background: linear-gradient(115deg, #F5F9FD 0%, #FFFFFF 58%, #F5F8FC 100%);
  box-shadow: 0 3px 10px rgba(20, 52, 79, .045);
}
.wellhub-status-panel.is-active{ border-color: #A3DCC0; background: linear-gradient(110deg, #F0FFF7, #FFFFFF 75%); }
.wellhub-status-panel.is-inactive{ border-color: #E9B9BD; background: linear-gradient(110deg, #FFF4F4, #FFFFFF 75%); }
.wellhub-status-main{ display: flex; align-items: center; gap: 8px; min-width: 0; }
.wellhub-status-light{ display: block; flex: 0 0 10px; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #C83E4B; box-shadow: 0 0 0 4px rgba(200,62,75,.10); }
.wellhub-status-panel.is-active .wellhub-status-light{ background: #20965B; box-shadow: 0 0 0 4px rgba(32,150,91,.11); }
.wellhub-status-copy{ min-width: 0; }
.wellhub-status-kicker{ display: block; color: #4C647D; font-size: 8px; font-weight: 900; letter-spacing: 1.3px; }
.wellhub-status-copy h2{ margin: 1px 0; color: #102B47; font: 800 clamp(13px, 1.2vw, 15px)/1.15 Manrope, sans-serif; letter-spacing: -.2px; }
.wellhub-status-copy p{ margin: 0; color: #526980; font-size: 9px; line-height: 1.3; }
.wellhub-status-metrics{ display: flex; flex-wrap: wrap; gap: 3px 9px; margin-top: 3px; color: #50677E; font-size: 8px; font-weight: 750; }
.wellhub-status-actions{ display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; min-width: 0; }
.wellhub-id-entry{ grid-column: 1 / -1; display: grid; gap: 5px; padding: 9px 10px; border: 1px solid #D5E1EE; border-radius: 10px; background: rgba(255,255,255,.75); }
.wellhub-id-entry label{ color: #193653; font-size: 10px; font-weight: 850; }
.wellhub-id-entry input{ width: 100%; min-width: 0; min-height: 35px; padding: 7px 9px; border: 1px solid #BDD0E2; border-radius: 8px; background: #FFFFFF; color: #102B47; font: inherit; font-size: 11px; }
.wellhub-id-entry input:focus-visible{ outline: 3px solid rgba(255,130,42,.24); border-color: #F58235; }
.wellhub-id-entry small{ color: #5B7084; font-size: 9px; line-height: 1.4; }
.wellhub-id-linked{ grid-column: 1 / -1; margin: 0; padding: 5px 8px; border: 1px solid #9DD7B7; border-radius: 8px; background: #F0FFF6; color: #197344; font-size: 9px; line-height: 1.3; }
.wellhub-checkin-points{ display: flex; flex-wrap: nowrap; align-items: center; gap: 5px 7px; min-width: 0; padding: 5px 8px; border: 1px solid #DDE5EE; border-radius: 10px; background: rgba(255,255,255,.83); }
.wellhub-bonus-label{ color: #596F84; font-size: 8px; font-weight: 900; letter-spacing: .9px; }
.wellhub-checkin-points strong{ color: #A84300; font: 900 13px/1.1 Manrope, sans-serif; white-space: nowrap; }
.wellhub-checkin-points small{ display: none; }
.wellhub-checkin-points.is-awarded{ border-color: #9DD7B7; background: #F0FFF6; }
.wellhub-checkin-points.is-awarded strong{ color: #197344; }
.wellhub-status-actions .button{ justify-content: center; min-height: 31px; width: auto; padding: 6px 10px; font-size: 9px; white-space: nowrap; }
.wellhub-status-actions #wellhubSaveIdButton{ background: #EAF1F8; border-color: #B9CCDF; color: #193653; }
.wellhub-status-actions #wellhubSaveIdButton:hover{ background: #DCE8F4; }
.wellhub-import-message{ grid-column: 1 / -1; margin: 0; padding: 8px 10px; border: 1px solid #A5D9BB; border-radius: 9px; background: #EFFBF4; color: #176C40; font-size: 10px; line-height: 1.5; }
.wellhub-import-message.is-error{ border-color: #E6B3B8; background: #FFF1F2; color: #9B2533; }
.wellhub-history-details{ grid-column: 1 / -1; min-width: 0; border-top: 1px solid rgba(120,145,166,.18); padding-top: 5px; }
.wellhub-history-details summary{ width: fit-content; color: #526B83; font-size: 8px; font-weight: 800; cursor: pointer; user-select: none; }
.wellhub-history-details summary:hover{ color: #A84300; }
.wellhub-recent-checkins{ min-width: 0; margin-top: 8px; }
.wellhub-recent-list{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 6px; }
.wellhub-checkin-item{ display: grid; gap: 2px; min-width: 0; padding: 7px 9px; border: 1px solid #DFE8F0; border-radius: 8px; background: rgba(255,255,255,.72); }
.wellhub-checkin-date{ color: #122E4B; font-size: 9px; font-weight: 850; }
.wellhub-checkin-partner{ color: #5A7085; font-size: 9px; line-height: 1.35; overflow-wrap: anywhere; }
.wellhub-no-checkins{ padding: 8px 9px; border: 1px dashed #C9D8E8; border-radius: 8px; color: #5A7085; font-size: 9px; line-height: 1.45; }
.wellhub-privacy-note{ margin: 7px 0 0; color: #738497; font-size: 8px; line-height: 1.45; }
.wellhub-wallet-total strong{ color: #197344 !important; }
@media (max-width: 760px) {
  .wellhub-status-panel{ grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 9px 10px; }
  .wellhub-status-actions{ justify-content: flex-start; gap: 6px; }
  .wellhub-status-actions .button{ min-height: 34px; padding: 7px 10px; }
  .wellhub-status-metrics{ gap: 3px 8px; }
}
@media (max-width: 420px) {
  .wellhub-status-actions{ align-items: stretch; }
  .wellhub-status-actions .button{ width: 100%; }
  .wellhub-checkin-points{ flex: 1 1 auto; justify-content: space-between; }
}
.redemption-status-rejected{background:#FBE7E8;color:#A6323A}

/* Presentes de uso único já resgatados pelo colaborador */
.reward-card-redeemed{
  opacity:.58;
  filter:grayscale(.72);
  transform:none!important;
  border-style:dashed;
}
.reward-card-redeemed:hover{
  transform:none!important;
  box-shadow:var(--shadow);
  border-color:var(--line);
}
.reward-card-redeemed .reward-already-redeemed{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:7px;
  background:#66788b;
  color:#fff;
  font-size:9px;
  font-weight:800;
  line-height:1.2;
}
.reward-card-redeemed .reward-redemption-lock{
  min-height:0;
  margin:8px 0 0;
  font-size:10px;
  font-weight:700;
}
.reward-card-redeemed .reward-button{
  pointer-events:none;
  cursor:not-allowed;
  background:#64748b!important;
  border-color:#64748b!important;
  color:#fff!important;
}
