/* 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; }

.demo-alert, .notice {
  background: rgba(232,119,34,.11);
  border-color: rgba(232,119,34,.34);
  color: #F5E9DE;
}
.demo-alert .alert-icon {
  background: #E87722;
  color: #0C2340;
}
.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; }
.wallet-decoration { color: rgba(232,119,34,.07); }
.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;
}
.rule-number {
  background: rgba(232,119,34,.14);
  color: #E87722;
}
.rule-row strong { color: #F5F7FA; }
.rule-row p, .panel-description { color: #AEBFD0; }
.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 display their approval state instead of earning points early. */
.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-icon {
  color: #E87722;
  font-family: Manrope,sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
}
.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; }
.demo-alert, .notice { background: #FFF5E8; border-color: #F1D8B8; color: #75451C; }
.demo-alert .alert-icon { background: #F4D9B8; 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; }
.wallet-decoration { color: rgba(255,255,255,.045); }
.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; }
.rule-number { background: #EAF2FA; color: #245E87; }
.rule-row strong { color: #20364D; }
.rule-row p, .panel-description { color: #5F7185; }
.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-icon, .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%); }
}
