/*
 * VeyaNeuro — application stylesheet v2.0
 * Badge statuses: requested=amber, confirmed=mint,
 * completed=blue, cancelled=red, fallback=neutral.
 */

:root{
  --bg:#050c12;
  --bg-2:#07151d;
  --surface:#0c1d26;
  --surface-2:#112832;
  --surface-3:#173540;
  --text:#f7fbfc;
  --muted:#a6bac2;
  --muted-2:#78919b;
  --line:rgba(211,235,241,.12);
  --line-strong:rgba(211,235,241,.24);
  --mint:#62ead2;
  --mint-deep:#35c8ad;
  --sky:#7fc5ff;
  --violet:#b5a7ff;
  --silver:#d9e3e7;
  --cyan:#73efff;
  --warm:#ffd48c;
  --danger:#ff9b9b;
  --success:#62ead2;
  --shadow-sm:0 10px 28px rgba(0,0,0,.18);
  --shadow:0 24px 70px rgba(0,0,0,.3);
  --shadow-lg:0 34px 100px rgba(0,0,0,.42);
  --radius:24px;
  --radius-sm:18px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --font-size:16px;
}

*{
  box-sizing:border-box;
}

html{
  background:var(--bg);
  font-size:var(--font-size);
  scroll-behavior:smooth;
}

html.large-text{
  --font-size:19px;
}

body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 88% 4%,rgba(140,188,255,.12),transparent 30%),
    radial-gradient(circle at 4% 26%,rgba(108,229,197,.09),transparent 28%),
    linear-gradient(180deg,var(--bg),#08151c 55%,#071117);
  color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

body.high-contrast{
  --muted:#d7e4e8;
  --line:rgba(255,255,255,.28);
  --line-strong:rgba(255,255,255,.5);
}

body.reduce-motion *,
body.reduce-motion *::before,
body.reduce-motion *::after{
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  transition-duration:.01ms!important;
  scroll-behavior:auto!important;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea,
select{
  font:inherit;
}

button{
  color:inherit;
}

svg{
  width:1.25rem;
  height:1.25rem;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link{
  position:fixed;
  left:1rem;
  top:-4rem;
  background:var(--mint);
  color:#052018;
  padding:.75rem 1rem;
  border-radius:12px;
  z-index:9999;
  font-weight:800;
}

.skip-link:focus{
  top:1rem;
}

.app-shell{
  width:min(100%,760px);
  margin:0 auto;
  min-height:100vh;
  position:relative;
  padding-bottom:calc(92px + var(--safe-bottom));
}

.topbar{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:calc(14px + env(safe-area-inset-top,0px)) 18px 14px;
  background:linear-gradient(180deg,rgba(7,17,23,.96),rgba(7,17,23,.8),transparent);
  backdrop-filter:blur(18px);
}

.brand{
  display:flex;
  align-items:center;
  gap:.72rem;
}

.brand-mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,var(--mint),var(--sky));
  box-shadow:0 10px 30px rgba(108,229,197,.18);
  position:relative;
}

.brand-mark::before,
.brand-mark::after,
.brand-mark span{
  content:"";
  position:absolute;
  width:5px;
  border-radius:999px;
  background:#092229;
}

.brand-mark::before{
  height:14px;
  transform:translateX(-7px) rotate(-18deg);
}

.brand-mark span{
  height:23px;
}

.brand-mark::after{
  height:12px;
  transform:translateX(7px) rotate(18deg);
}

.brand strong,
.brand small{
  display:block;
}

.brand strong{
  font-size:.94rem;
  letter-spacing:-.02em;
}

.brand small{
  font-size:.72rem;
  color:var(--mint);
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.top-actions{
  display:flex;
  gap:.5rem;
}

.icon-button,
.avatar-button{
  border:1px solid var(--line);
  background:rgba(16,35,44,.76);
  backdrop-filter:blur(14px);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.2s ease;
}

.icon-button{
  width:42px;
  height:42px;
  border-radius:15px;
}

.avatar-button{
  width:42px;
  height:42px;
  border-radius:50%;
  font-weight:900;
  background:linear-gradient(145deg,rgba(185,166,255,.24),rgba(108,229,197,.16));
  color:var(--text);
}

.icon-button:hover,
.avatar-button:hover{
  border-color:var(--line-strong);
  transform:translateY(-1px);
}

.main-content{
  padding:4px 18px 28px;
}

.page-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
  margin:12px 0 24px;
}

.page-header h1,
.hero h1{
  margin:.2rem 0 0;
  letter-spacing:-.045em;
  line-height:1.04;
}

.page-header h1{
  font-size:clamp(2rem,7vw,3rem);
}

.eyebrow{
  display:block;
  color:var(--mint);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.muted{
  color:var(--muted);
}

.hero{
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid var(--line);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(20,44,55,.92),rgba(11,28,36,.92));
  box-shadow:var(--shadow);
}

.hero::before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  border-radius:50%;
  right:-105px;
  top:-100px;
  background:radial-gradient(circle,rgba(140,188,255,.42),rgba(140,188,255,0) 68%);
}

.hero::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  left:-80px;
  bottom:-120px;
  background:radial-gradient(circle,rgba(108,229,197,.25),transparent 70%);
}

.hero>*{
  position:relative;
  z-index:1;
}

.hero h1{
  font-size:clamp(2.35rem,10vw,4rem);
  max-width:10ch;
}

.hero p{
  max-width:42rem;
  color:var(--muted);
  font-size:1.02rem;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.5rem;
}

.hero-metric{
  margin-top:2rem;
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--muted);
}

.hero-metric strong{
  color:var(--text);
  font-size:1.15rem;
}

.progress-ring{
  --progress:65;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:conic-gradient(var(--mint) calc(var(--progress)*1%),rgba(255,255,255,.08) 0);
  position:relative;
}

.progress-ring::after{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:var(--surface);
}

.progress-ring span{
  position:relative;
  z-index:1;
  font-weight:900;
  font-size:.78rem;
}

.button{
  border:0;
  border-radius:16px;
  min-height:50px;
  padding:.85rem 1.15rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}

.button-primary{
  background:linear-gradient(135deg,var(--mint),#89f0d5);
  color:#052219;
  box-shadow:0 12px 28px rgba(108,229,197,.18);
}

.button-secondary{
  background:rgba(255,255,255,.06);
  color:var(--text);
  border:1px solid var(--line);
}

.button-ghost{
  background:transparent;
  color:var(--mint);
  padding-inline:.2rem;
}

.button-danger{
  background:rgba(255,155,155,.1);
  color:var(--danger);
  border:1px solid rgba(255,155,155,.18);
}

.button-full{
  width:100%;
}

.button:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}

.button:focus-visible,
.icon-button:focus-visible,
.avatar-button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
a:focus-visible{
  outline:3px solid rgba(140,188,255,.55);
  outline-offset:3px;
}

.section{
  margin-top:28px;
}

.section-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:13px;
}

.section-heading h2{
  margin:.15rem 0 0;
  font-size:1.35rem;
  letter-spacing:-.03em;
}

.section-heading a{
  font-weight:800;
  color:var(--mint);
  font-size:.88rem;
}

.grid{
  display:grid;
  gap:12px;
}

.grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.card{
  background:linear-gradient(145deg,rgba(20,44,55,.88),rgba(13,31,39,.9));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
}

.card h2,
.card h3,
.card p{
  margin-top:0;
}

.card h3{
  margin-bottom:.4rem;
  letter-spacing:-.02em;
}

.card p:last-child{
  margin-bottom:0;
}

.card-interactive{
  transition:.2s ease;
}

.card-interactive:hover{
  transform:translateY(-2px);
  border-color:var(--line-strong);
}

.quick-card{
  min-height:145px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.quick-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(108,229,197,.11);
  color:var(--mint);
  font-size:1.2rem;
  font-weight:900;
}

.quick-card:nth-child(2) .quick-icon{
  background:rgba(140,188,255,.11);
  color:var(--sky);
}

.quick-card:nth-child(3) .quick-icon{
  background:rgba(185,166,255,.11);
  color:var(--violet);
}

.quick-card:nth-child(4) .quick-icon{
  background:rgba(255,212,140,.11);
  color:var(--warm);
}

.quick-card small{
  color:var(--muted);
}

.stat-card strong{
  display:block;
  font-size:2rem;
  letter-spacing:-.04em;
}

.stat-card span{
  color:var(--muted);
  font-size:.85rem;
}

.stat-card .trend{
  color:var(--mint);
  font-size:.78rem;
  font-weight:800;
  margin-top:.45rem;
}

.plan-card{
  padding:0;
  overflow:hidden;
}

.plan-visual{
  min-height:150px;
  padding:22px;
  position:relative;
  background:
    linear-gradient(125deg,rgba(108,229,197,.2),rgba(140,188,255,.16)),
    linear-gradient(145deg,#153440,#0c2029);
}

.plan-visual::after{
  content:"";
  position:absolute;
  width:155px;
  height:155px;
  border:20px solid rgba(255,255,255,.05);
  border-radius:50%;
  right:-40px;
  top:-50px;
}

.difficulty{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:rgba(7,17,23,.68);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:.4rem .68rem;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.difficulty::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--mint);
}

.difficulty-medium::before{
  background:var(--warm);
}

.difficulty-hard::before{
  background:var(--danger);
}

.plan-body{
  padding:20px;
}

.plan-meta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:.83rem;
  margin:.8rem 0 1.1rem;
}

.mini-progress{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}

.mini-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--mint),var(--sky));
}

.list{
  display:grid;
  gap:10px;
}

.list-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:19px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}

.list-icon{
  width:46px;
  height:46px;
  flex:0 0 auto;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:rgba(108,229,197,.1);
  color:var(--mint);
  font-weight:900;
}

.list-copy{
  min-width:0;
  flex:1;
}

.list-copy strong,
.list-copy span{
  display:block;
}

.list-copy span{
  font-size:.82rem;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.list-end{
  color:var(--muted);
  font-size:.82rem;
}

.form-card{
  display:grid;
  gap:16px;
}

.field{
  display:grid;
  gap:.5rem;
}

.field span{
  font-size:.82rem;
  color:var(--muted);
  font-weight:800;
}

.field input,
.field textarea,
.field select{
  width:100%;
  border:1px solid var(--line);
  background:#0a1d25;
  color:var(--text);
  border-radius:16px;
  padding:.95rem 1rem;
  min-height:52px;
}

.field textarea{
  min-height:120px;
  resize:vertical;
}

.field input::placeholder,
.field textarea::placeholder{
  color:var(--muted-2);
}

.field-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.range-row{
  display:grid;
  gap:.75rem;
}

.range-labels{
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:.74rem;
}

.range-row input[type=range]{
  accent-color:var(--mint);
  width:100%;
}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}

.choice input{
  position:absolute;
  opacity:0;
}

.choice span{
  display:grid;
  place-items:center;
  min-height:52px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  font-weight:800;
  cursor:pointer;
}

.choice input:checked+span{
  background:rgba(108,229,197,.12);
  border-color:rgba(108,229,197,.55);
  color:var(--mint);
}

.callout{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:17px;
  border-radius:19px;
  background:rgba(140,188,255,.08);
  border:1px solid rgba(140,188,255,.16);
  color:#dceaff;
}

.callout strong,
.callout span{
  display:block;
}

.callout span{
  font-size:.85rem;
  color:var(--muted);
}

.exercise-hero{
  padding:26px;
  border-radius:30px;
  background:
    linear-gradient(140deg,rgba(185,166,255,.2),rgba(108,229,197,.12)),
    var(--surface);
  border:1px solid var(--line);
}

.exercise-figure{
  height:220px;
  display:grid;
  place-items:center;
  margin:22px 0;
  border-radius:25px;
  background:
    radial-gradient(circle,rgba(108,229,197,.18),transparent 55%),
    rgba(0,0,0,.15);
  border:1px solid var(--line);
}

.exercise-person{
  position:relative;
  width:130px;
  height:160px;
}

.exercise-person::before{
  content:"";
  position:absolute;
  left:48px;
  top:4px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--sky);
}

.exercise-person::after{
  content:"";
  position:absolute;
  left:61px;
  top:39px;
  width:9px;
  height:78px;
  border-radius:999px;
  background:var(--sky);
  box-shadow:
    -26px 29px 0 -2px var(--sky),
    26px 29px 0 -2px var(--sky),
    -19px 88px 0 -1px var(--sky),
    19px 88px 0 -1px var(--sky);
}

.exercise-steps{
  counter-reset:steps;
  display:grid;
  gap:11px;
}

.exercise-step{
  counter-increment:steps;
  display:flex;
  gap:12px;
}

.exercise-step::before{
  content:counter(steps);
  width:29px;
  height:29px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:rgba(108,229,197,.12);
  color:var(--mint);
  font-weight:900;
  flex:0 0 auto;
}

.bar-chart{
  height:190px;
  display:flex;
  align-items:end;
  gap:9px;
  padding-top:18px;
}

.bar{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.bar span{
  width:100%;
  max-width:38px;
  min-height:6px;
  border-radius:10px 10px 4px 4px;
  background:linear-gradient(180deg,var(--sky),var(--mint));
  box-shadow:0 8px 18px rgba(108,229,197,.12);
}

.bar small{
  font-size:.68rem;
  color:var(--muted);
}

.calendar-strip{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}

.day-pill{
  padding:10px 3px;
  border-radius:16px;
  text-align:center;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}

.day-pill strong,
.day-pill span{
  display:block;
}

.day-pill span{
  font-size:.65rem;
  color:var(--muted);
  text-transform:uppercase;
}

.day-pill strong{
  margin-top:.2rem;
}

.day-pill.is-done{
  background:rgba(108,229,197,.12);
  border-color:rgba(108,229,197,.28);
  color:var(--mint);
}
.badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.34rem .66rem;
  background:rgba(255,255,255,.055);
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
}

/* Requested / pending */
.badge-requested,
.badge-warning,
.badge.status-requested,
.badge[data-status="requested"],
.badge[data-status="pending"]{
  background:rgba(255,212,140,.1);
  border-color:rgba(255,212,140,.24);
  color:var(--warm);
}

/* Confirmed / active / successful */
.badge-confirmed,
.badge-success,
.badge.status-confirmed,
.badge[data-status="confirmed"]{
  background:rgba(108,229,197,.1);
  border-color:rgba(108,229,197,.24);
  color:var(--mint);
}

/* Completed / informational */
.badge-completed,
.badge-info,
.badge.status-completed,
.badge[data-status="completed"]{
  background:rgba(140,188,255,.1);
  border-color:rgba(140,188,255,.24);
  color:var(--sky);
}

/* Cancelled / declined / failed */
.badge-cancelled,
.badge-danger,
.badge.status-cancelled,
.badge[data-status="cancelled"],
.badge[data-status="declined"]{
  background:rgba(255,155,155,.1);
  border-color:rgba(255,155,155,.24);
  color:var(--danger);
}

/* Neutral fallback */
.badge-muted,
.badge-neutral,
.badge.status-muted{
  background:rgba(255,255,255,.055);
  border-color:var(--line);
  color:var(--muted);
}

body.high-contrast .badge{
  border-width:2px;
}

.empty{
  padding:34px 22px;
  text-align:center;
}

.empty-icon{
  width:62px;
  height:62px;
  border-radius:22px;
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  background:rgba(108,229,197,.1);
  color:var(--mint);
  font-size:1.4rem;
}

.toast{
  position:relative;
  z-index:40;
  margin:0 18px 10px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(16,35,44,.96);
  box-shadow:var(--shadow);
  animation:toastIn .35s ease;
}

.toast-success{
  border-color:rgba(108,229,197,.25);
}

.toast-error{
  border-color:rgba(255,155,155,.25);
}

@keyframes toastIn{
  from{
    opacity:0;
    transform:translateY(-8px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

.bottom-nav{
  position:fixed;
  z-index:35;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:min(100%,760px);
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:9px 10px calc(9px + var(--safe-bottom));
  background:rgba(8,20,26,.92);
  border-top:1px solid var(--line);
  backdrop-filter:blur(22px);
}

.bottom-nav a{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:6px 2px;
  border-radius:14px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
}

.bottom-nav a.is-active{
  color:var(--mint);
  background:rgba(108,229,197,.08);
}

.nav-icon{
  width:22px;
  height:22px;
  position:relative;
  display:block;
}

.nav-icon::before,
.nav-icon::after{
  content:"";
  position:absolute;
}

.icon-home::before{
  width:15px;
  height:15px;
  left:3px;
  top:5px;
  border:2px solid currentColor;
  border-top:0;
  border-radius:3px;
}

.icon-home::after{
  width:12px;
  height:12px;
  left:5px;
  top:1px;
  border-left:2px solid currentColor;
  border-top:2px solid currentColor;
  transform:rotate(45deg);
  border-radius:2px;
}

.icon-play::before{
  inset:2px;
  border:2px solid currentColor;
  border-radius:7px;
}

.icon-play::after{
  left:9px;
  top:7px;
  border-left:7px solid currentColor;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
}

.icon-chart::before{
  left:3px;
  bottom:3px;
  width:3px;
  height:8px;
  background:currentColor;
  box-shadow:
    6px -4px 0 currentColor,
    12px -9px 0 currentColor;
  border-radius:2px;
}

.icon-calendar::before{
  inset:3px 2px 2px;
  border:2px solid currentColor;
  border-radius:5px;
}

.icon-calendar::after{
  left:5px;
  right:5px;
  top:8px;
  height:2px;
  background:currentColor;
  box-shadow:
    3px -6px 0 -.2px currentColor,
    9px -6px 0 -.2px currentColor;
}

.icon-user::before{
  left:7px;
  top:2px;
  width:8px;
  height:8px;
  border:2px solid currentColor;
  border-radius:50%;
}

.icon-user::after{
  left:3px;
  bottom:2px;
  width:16px;
  height:8px;
  border:2px solid currentColor;
  border-radius:10px 10px 5px 5px;
}

.sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(0,0,0,.56);
  backdrop-filter:blur(4px);
}

.app-sheet{
  position:fixed;
  z-index:61;
  left:50%;
  bottom:0;
  transform:translate(-50%,105%);
  width:min(100%,760px);
  padding:10px 20px calc(24px + var(--safe-bottom));
  background:#0c2029;
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:28px 28px 0 0;
  transition:transform .28s ease;
}

.app-sheet.is-open{
  transform:translate(-50%,0);
}

.sheet-handle{
  width:42px;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.15);
  margin:0 auto 18px;
}

.sheet-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.sheet-heading h2{
  margin:.1rem 0 0;
}

.setting-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}

.setting-row strong,
.setting-row small{
  display:block;
}

.setting-row small{
  color:var(--muted);
}

.setting-row input{
  width:48px;
  height:27px;
  accent-color:var(--mint);
}

.search-overlay{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(4,12,16,.9);
  backdrop-filter:blur(16px);
  padding:calc(20px + env(safe-area-inset-top,0px)) 16px;
}

.search-panel{
  width:min(100%,720px);
  margin:0 auto;
}

.search-field input{
  width:100%;
  margin:22px 0 14px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  padding:1rem 1.1rem;
  font-size:1.05rem;
}

.search-results{
  display:grid;
  gap:8px;
}

.search-results a{
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  font-weight:850;
}

.search-results span{
  display:block;
  color:var(--muted);
  font-size:.79rem;
  font-weight:500;
  margin-top:.2rem;
}

.search-results a[hidden]{
  display:none;
}

.auth-page{
  min-height:100vh;
  display:grid;
  align-items:center;
  padding:24px 18px;
  background:
    radial-gradient(circle at 75% 15%,rgba(140,188,255,.16),transparent 30%),
    radial-gradient(circle at 15% 80%,rgba(108,229,197,.13),transparent 33%),
    var(--bg);
}

.auth-wrap{
  width:min(100%,480px);
  margin:auto;
}

.auth-logo{
  display:flex;
  justify-content:center;
  margin-bottom:24px;
}

.auth-card{
  padding:27px;
  border-radius:30px;
  background:rgba(16,35,44,.88);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}

.auth-card h1{
  font-size:2.2rem;
  line-height:1.05;
  letter-spacing:-.045em;
  margin:.35rem 0 .7rem;
}

.auth-links{
  text-align:center;
  margin-top:18px;
  color:var(--muted);
}

.auth-links a{
  color:var(--mint);
  font-weight:800;
}

.error-list{
  padding:13px 16px;
  border-radius:15px;
  background:rgba(255,155,155,.1);
  border:1px solid rgba(255,155,155,.18);
  color:#ffd4d4;
  margin-bottom:15px;
}

.error-list p{
  margin:.25rem 0;
}

.public-landing{
  min-height:100vh;
  padding:calc(16px + env(safe-area-inset-top,0px)) 18px 40px;
}

.public-wrap{
  width:min(100%,1040px);
  margin:auto;
}

.public-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.public-nav-actions{
  display:flex;
  gap:.65rem;
}

.landing-hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
  padding:76px 0 50px;
}

.landing-copy h1{
  font-size:clamp(3rem,8vw,6.1rem);
  max-width:9ch;
  line-height:.92;
  letter-spacing:-.07em;
  margin:.3rem 0 1.2rem;
}

.landing-copy p{
  font-size:1.1rem;
  color:var(--muted);
  max-width:40rem;
}

.phone-preview{
  max-width:340px;
  margin:auto;
  padding:12px;
  border-radius:44px;
  background:#03090c;
  border:1px solid rgba(255,255,255,.17);
  box-shadow:0 38px 100px rgba(0,0,0,.42);
}

.phone-screen{
  min-height:610px;
  border-radius:34px;
  padding:24px;
  background:
    radial-gradient(circle at 90% 0,rgba(140,188,255,.2),transparent 35%),
    linear-gradient(180deg,#0c222c,#071117);
  overflow:hidden;
}

.phone-notch{
  width:95px;
  height:22px;
  margin:-14px auto 24px;
  border-radius:0 0 15px 15px;
  background:#03090c;
}

.preview-greeting h2{
  font-size:2rem;
  margin:.35rem 0;
}

.preview-plan{
  margin-top:25px;
  padding:21px;
  border-radius:25px;
  background:linear-gradient(145deg,rgba(108,229,197,.18),rgba(140,188,255,.1));
  border:1px solid var(--line);
}

.preview-button{
  margin-top:18px;
  height:52px;
  border-radius:16px;
  background:var(--mint);
  color:#06231b;
  display:grid;
  place-items:center;
  font-weight:900;
}

.preview-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:12px;
}

.preview-stats div{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
}

.preview-stats strong,
.preview-stats span{
  display:block;
}

.preview-stats span{
  color:var(--muted);
  font-size:.72rem;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.feature-card{
  padding:24px;
  border-radius:24px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}

.feature-card strong{
  display:block;
  margin:.8rem 0 .35rem;
}

.feature-card p{
  color:var(--muted);
  margin:0;
}

@media(max-width:720px){
  .landing-hero{
    grid-template-columns:1fr;
    padding-top:48px;
  }

  .landing-copy{
    text-align:left;
  }

  .feature-grid{
    grid-template-columns:1fr;
  }

  .phone-preview{
    margin-top:12px;
  }

  .public-nav .brand small{
    display:none;
  }
}

@media(max-width:440px){
  .main-content{
    padding-inline:14px;
  }

  .topbar{
    padding-inline:14px;
  }

  .hero{
    padding:24px;
  }

  .grid-3{
    grid-template-columns:1fr;
  }

  .field-group{
    grid-template-columns:1fr;
  }

  .page-header{
    align-items:start;
    flex-direction:column;
  }

  .public-nav-actions .button-secondary{
    display:none;
  }

  .choice-grid{
    grid-template-columns:1fr;
  }

  .calendar-strip{
    gap:3px;
  }

  .day-pill{
    padding-inline:1px;
  }

  .bottom-nav{
    padding-inline:5px;
  }
}
/* =========================================================
   Six-week functional assessments
   ========================================================= */

.assessment-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.assessment-profile-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:14px;
}

.assessment-profile-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.assessment-profile-card__mark{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:0 0 auto;
  border:1px solid rgba(108,229,197,.2);
  border-radius:19px;
  background:
    linear-gradient(145deg,rgba(108,229,197,.18),rgba(140,188,255,.12)),
    var(--surface-2);
  color:var(--mint);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.08em;
}

.assessment-profile-card h3{
  margin:0;
  font-size:1.35rem;
  line-height:1.15;
}

.assessment-profile-card p{
  flex:1;
  margin:0;
}

.assessment-profile-card__result{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.035);
}

.assessment-profile-card__result div,
.assessment-profile-card__result span,
.assessment-profile-card__result strong,
.assessment-profile-card__result small{
  display:block;
}

.assessment-profile-card__result span,
.assessment-profile-card__result small{
  color:var(--muted);
  font-size:.74rem;
}

.assessment-profile-card__result strong{
  margin-top:.18rem;
  font-size:1.18rem;
}

.assessment-profile-card__result small{
  max-width:11rem;
  text-align:right;
}

.assessment-profile-card__result--empty{
  align-items:center;
}

.assessment-screen{
  display:grid;
  gap:14px;
}

.assessment-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:center;
  gap:24px;
  min-height:228px;
  padding:28px 30px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 12%,rgba(108,229,197,.11),transparent 27%),
    linear-gradient(145deg,rgba(18,39,49,.98),rgba(10,27,35,.98));
  box-shadow:var(--shadow);
}

.assessment-hero-panel::after{
  content:"";
  position:absolute;
  right:-65px;
  bottom:-90px;
  width:220px;
  height:220px;
  border:26px solid rgba(108,229,197,.035);
  border-radius:50%;
  pointer-events:none;
}

.assessment-hero-panel__copy,
.assessment-score-ring{
  position:relative;
  z-index:1;
}

.assessment-kicker{
  display:inline-flex;
  margin-bottom:12px;
  color:var(--mint);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.assessment-hero-panel h1{
  margin:0;
  max-width:10ch;
  font-size:clamp(2.4rem,7vw,4.25rem);
  line-height:.98;
  letter-spacing:-.055em;
}

.assessment-hero-panel h1 span,
.assessment-hero-panel h1 strong{
  display:block;
}

.assessment-hero-panel h1 strong{
  color:var(--mint);
}

.assessment-hero-panel p{
  margin:16px 0 0;
  color:var(--text);
  font-size:1.03rem;
}

.assessment-last-result{
  display:block;
  margin-top:12px;
  color:var(--muted);
}

.assessment-score-ring{
  --assessment-angle:0deg;
  display:grid;
  place-items:center;
  width:172px;
  height:172px;
  justify-self:end;
  border-radius:50%;
  background:
    conic-gradient(
      from 135deg,
      var(--mint) 0deg var(--assessment-angle),
      rgba(255,255,255,.10) var(--assessment-angle) 270deg,
      transparent 270deg 360deg
    );
  filter:drop-shadow(0 14px 25px rgba(0,0,0,.2));
}

.assessment-score-ring::before{
  content:"";
  position:absolute;
  width:142px;
  height:142px;
  border-radius:50%;
  background:linear-gradient(145deg,#112630,#0a1921);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

.assessment-score-ring__inside{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  justify-content:center;
  text-align:center;
}

.assessment-score-ring__inside span{
  grid-column:1/-1;
  margin-bottom:-2px;
  color:var(--text);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.assessment-score-ring__inside strong{
  font-size:3.45rem;
  line-height:1;
  letter-spacing:-.06em;
}

.assessment-score-ring__inside small{
  margin:0 0 .42rem .3rem;
  color:var(--muted);
  font-size:.82rem;
}

.assessment-score-guide{
  display:grid;
  grid-template-columns:auto repeat(4,minmax(0,1fr));
  align-items:center;
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(20,44,55,.9),rgba(12,31,39,.94));
}

.assessment-score-guide > strong,
.assessment-score-guide > span{
  min-height:58px;
  display:flex;
  align-items:center;
  padding:11px 14px;
}

.assessment-score-guide > strong{
  color:var(--mint);
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.assessment-score-guide > span{
  justify-content:center;
  border-left:1px solid var(--line);
  color:var(--text);
  font-size:.72rem;
  text-align:center;
}

.assessment-score-guide b{
  margin-right:.3rem;
}

.assessment-errors{
  margin:0;
}

.assessment-form--visual{
  display:grid;
  gap:14px;
}

.assessment-task-list{
  display:grid;
  gap:8px;
}

.assessment-task-card{
  display:grid;
  grid-template-columns:42px minmax(180px,1fr) 132px 206px;
  align-items:center;
  gap:14px;
  min-width:0;
  margin:0;
  padding:16px 18px;
  border:0;
  border-radius:17px;
  background:#f7f8f8;
  color:#0b1820;
  box-shadow:0 9px 24px rgba(0,0,0,.12);
}

.assessment-task-number{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:linear-gradient(145deg,#4aa888,#25785f);
  color:#fff;
  font-weight:900;
  box-shadow:0 8px 18px rgba(37,120,95,.22);
}

.assessment-task-copy{
  min-width:0;
}

.assessment-task-copy h2{
  margin:0;
  color:#101d25;
  font-size:1rem;
  line-height:1.2;
  letter-spacing:-.025em;
}

.assessment-task-copy p{
  margin:.35rem 0 0;
  max-width:24rem;
  color:#35434b;
  font-size:.78rem;
  line-height:1.35;
}

.assessment-task-illustration{
  display:grid;
  place-items:center;
  width:100%;
  height:82px;
}

.assessment-task-illustration svg{
  width:132px;
  max-width:100%;
  height:82px;
  overflow:visible;
}

.assessment-task-illustration .mint{fill:#63d9ba}
.assessment-task-illustration .blue{fill:#428bc1}
.assessment-task-illustration .orange{fill:#f28b3c}
.assessment-task-illustration .soft{fill:#d9e0e4}
.assessment-task-illustration .skin{fill:#efbd9f}
.assessment-task-illustration .ink{fill:#20313b}
.assessment-task-illustration .mint-stroke{fill:none;stroke:#52c9a8;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.assessment-task-illustration .blue-stroke{fill:none;stroke:#347fae;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.assessment-task-illustration .orange-stroke{fill:none;stroke:#ef8436;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.assessment-task-illustration .skin-stroke{fill:none;stroke:#efbd9f;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.assessment-task-illustration .ink-stroke{fill:none;stroke:#20313b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.assessment-task-illustration .thick{stroke-width:9}

.assessment-task-score{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:18px;
  border-left:1px solid #d5dde1;
}

.assessment-task-score > strong{
  margin-bottom:8px;
  color:#19262d;
  font-size:.72rem;
}

.assessment-task-options{
  display:grid;
  grid-template-columns:repeat(4,42px);
  gap:8px;
}

.assessment-task-option{
  position:relative;
}

.assessment-task-option input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.assessment-task-option span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1.5px solid #73d7bf;
  border-radius:50%;
  background:#fff;
  color:#16242b;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  transition:.18s ease;
}

.assessment-task-option span:hover{
  transform:translateY(-1px);
  border-color:#2aa886;
}

.assessment-task-option input:checked + span{
  border-color:#2ca988;
  background:#66dfbf;
  color:#06251c;
  box-shadow:0 6px 14px rgba(44,169,136,.25);
}

.assessment-task-option input:focus-visible + span{
  outline:3px solid rgba(16,92,173,.42);
  outline-offset:3px;
}

.assessment-encouragement{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:92px;
  padding:18px 22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(20,44,55,.95),rgba(11,28,36,.95));
}

.assessment-encouragement p{
  margin:0;
  color:var(--text);
}

.assessment-encouragement strong{
  color:var(--mint);
}

.assessment-encouragement__star,
.assessment-encouragement__brain{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:18px;
  background:rgba(108,229,197,.1);
  color:var(--mint);
  font-size:1.45rem;
}

.assessment-details-card,
.assessment-save-card,
.assessment-history-card,
.assessment-locked-card{
  margin-top:0;
}

.assessment-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.assessment-detail-grid__wide{
  grid-column:1/-1;
}

.assessment-readonly-field{
  display:grid;
  gap:.45rem;
  min-height:82px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.028);
}

.assessment-readonly-field span{
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
}

.assessment-results-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:0;
}

.assessment-guide-list,
.assessment-bands{
  display:grid;
  gap:9px;
}

.assessment-guide-list div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.028);
}

.assessment-guide-list strong{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:rgba(140,188,255,.1);
  color:var(--sky);
}

.assessment-guide-list span{
  color:var(--muted);
  font-size:.82rem;
}

.assessment-band{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:54px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.03);
}

.assessment-band strong{
  text-align:center;
}

.assessment-band span{
  font-size:.82rem;
  font-weight:800;
}

.assessment-band--danger{
  border-color:rgba(255,155,155,.24);
  background:rgba(255,155,155,.08);
  color:var(--danger);
}

.assessment-band--warning{
  border-color:rgba(255,212,140,.24);
  background:rgba(255,212,140,.08);
  color:var(--warm);
}

.assessment-band--success{
  border-color:rgba(108,229,197,.24);
  background:rgba(108,229,197,.08);
  color:var(--mint);
}

.assessment-save-card{
  display:grid;
  gap:14px;
}

.assessment-confirmation{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.032);
  cursor:pointer;
}

.assessment-confirmation input{
  width:22px;
  height:22px;
  flex:0 0 auto;
  margin-top:2px;
  accent-color:var(--mint);
}

.assessment-confirmation span,
.assessment-confirmation strong,
.assessment-confirmation small{
  display:block;
}

.assessment-confirmation small{
  margin-top:.2rem;
  color:var(--muted);
}

.assessment-history-empty{
  padding-bottom:12px;
}

.assessment-history-list{
  display:grid;
  gap:10px;
}

.assessment-history-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.032);
}

.assessment-history-list article div,
.assessment-history-list article strong,
.assessment-history-list article span{
  display:block;
}

.assessment-history-list article span{
  margin-top:.15rem;
  color:var(--muted);
  font-size:.78rem;
}

.assessment-history-score{
  display:flex!important;
  align-items:baseline;
  gap:4px;
  white-space:nowrap;
}

.assessment-history-score strong{
  color:var(--mint);
  font-size:1.35rem;
}

.assessment-history-score span{
  margin:0!important;
}

@media(max-width:760px){
  .assessment-task-card{
    grid-template-columns:42px minmax(0,1fr) 112px;
  }

  .assessment-task-score{
    grid-column:2/-1;
    padding:12px 0 0;
    border-top:1px solid #d5dde1;
    border-left:0;
  }

  .assessment-task-options{
    grid-template-columns:repeat(4,minmax(44px,1fr));
  }

  .assessment-task-option span{
    width:100%;
  }
}

@media(max-width:680px){
  .assessment-profile-grid,
  .assessment-results-grid{
    grid-template-columns:1fr;
  }

  .assessment-hero-panel{
    grid-template-columns:minmax(0,1fr) 142px;
    padding:24px;
  }

  .assessment-score-ring{
    width:138px;
    height:138px;
  }

  .assessment-score-ring::before{
    width:114px;
    height:114px;
  }

  .assessment-score-ring__inside strong{
    font-size:2.75rem;
  }

  .assessment-score-guide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .assessment-score-guide > strong{
    grid-column:1/-1;
    justify-content:center;
    border-bottom:1px solid var(--line);
  }

  .assessment-score-guide > span{
    border-left:0;
    border-top:1px solid var(--line);
  }

  .assessment-score-guide > span:nth-of-type(even){
    border-left:1px solid var(--line);
  }
}

@media(max-width:520px){
  .assessment-hero-panel{
    grid-template-columns:minmax(0,1fr) 118px;
    gap:14px;
    min-height:195px;
    padding:22px 18px;
  }

  .assessment-kicker{
    font-size:.62rem;
  }

  .assessment-hero-panel h1{
    font-size:clamp(2rem,10vw,3rem);
  }

  .assessment-hero-panel p{
    font-size:.9rem;
  }

  .assessment-last-result{
    display:none;
  }

  .assessment-score-ring{
    width:116px;
    height:116px;
  }

  .assessment-score-ring::before{
    width:96px;
    height:96px;
  }

  .assessment-score-ring__inside span{
    font-size:.54rem;
  }

  .assessment-score-ring__inside strong{
    font-size:2.25rem;
  }

  .assessment-score-ring__inside small{
    font-size:.65rem;
  }

  .assessment-task-card{
    grid-template-columns:36px minmax(0,1fr) 84px;
    gap:10px;
    padding:14px;
  }

  .assessment-task-number{
    width:34px;
    height:34px;
  }

  .assessment-task-copy h2{
    font-size:.94rem;
  }

  .assessment-task-copy p{
    font-size:.73rem;
  }

  .assessment-task-illustration,
  .assessment-task-illustration svg{
    height:70px;
  }

  .assessment-task-options{
    gap:6px;
  }

  .assessment-task-option span{
    min-height:44px;
    height:44px;
  }

  .assessment-detail-grid{
    grid-template-columns:1fr;
  }

  .assessment-detail-grid__wide{
    grid-column:auto;
  }

  .assessment-profile-card__result{
    align-items:flex-start;
    flex-direction:column;
  }

  .assessment-profile-card__result small{
    max-width:none;
    text-align:left;
  }
}

@media(max-width:390px){
  .assessment-hero-panel{
    grid-template-columns:1fr;
  }

  .assessment-score-ring{
    justify-self:start;
  }

  .assessment-score-guide{
    grid-template-columns:1fr;
  }

  .assessment-score-guide > span,
  .assessment-score-guide > span:nth-of-type(even){
    border-left:0;
  }

  .assessment-task-card{
    grid-template-columns:34px minmax(0,1fr);
  }

  .assessment-task-illustration{
    grid-column:2;
    justify-content:start;
    width:100px;
  }

  .assessment-task-score{
    grid-column:1/-1;
  }

  .assessment-encouragement{
    grid-template-columns:auto minmax(0,1fr);
  }

  .assessment-encouragement__brain{
    display:none;
  }
}

/* =========================================================
   Brandon updates — Monday check-in and locked completions
   ========================================================= */

.monday-checkin-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin:0 0 22px;
  padding:20px;
  border:1px solid rgba(108,229,197,.35);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(108,229,197,.16),rgba(140,188,255,.08)),
    var(--surface);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  animation:mondayCheckInEnter .55s ease both;
}

.monday-checkin-card:hover{
  transform:translateY(-2px);
  border-color:rgba(108,229,197,.62);
  box-shadow:0 22px 54px rgba(0,0,0,.24);
}

.monday-checkin-card__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:19px;
  background:rgba(140,188,255,.14);
  color:var(--sky);
  font-size:2rem;
  font-weight:900;
}

.monday-checkin-card__copy{
  min-width:0;
}

.monday-checkin-card__copy strong,
.monday-checkin-card__copy small{
  display:block;
}

.monday-checkin-card__copy strong{
  margin-top:4px;
  font-size:1.08rem;
  line-height:1.25;
}

.monday-checkin-card__copy small{
  margin-top:5px;
  color:var(--muted);
  line-height:1.45;
}

.monday-checkin-card__arrow{
  color:var(--mint);
  font-size:1.55rem;
  font-weight:900;
}

.exercise-list-item.is-complete{
  cursor:default;
  background:
    linear-gradient(135deg,rgba(108,229,197,.18),rgba(55,188,155,.08)),
    rgba(255,255,255,.035);
  border-color:rgba(108,229,197,.48);
  box-shadow:inset 0 0 0 1px rgba(108,229,197,.06);
}

.exercise-list-item.is-complete .list-icon{
  background:rgba(108,229,197,.17);
  color:var(--mint);
}

.exercise-list-item.is-complete .list-copy strong{
  color:#ecfff9;
}

.exercise-list-item.is-complete .list-copy span,
.exercise-list-item.is-complete .list-end{
  color:#b9eadf;
}

.programme-day-card.is-complete{
  border-color:rgba(108,229,197,.32);
}

@keyframes mondayCheckInEnter{
  from{
    opacity:0;
    transform:translateY(-10px) scale(.985);
  }
  to{
    opacity:1;
    transform:none;
  }
}

body.reduce-motion .monday-checkin-card{
  animation:none;
}

@media(max-width:520px){
  .monday-checkin-card{
    grid-template-columns:auto minmax(0,1fr);
    gap:13px;
    padding:17px;
  }

  .monday-checkin-card__icon{
    width:50px;
    height:50px;
    border-radius:16px;
    font-size:1.65rem;
  }

  .monday-checkin-card__arrow{
    display:none;
  }

  .exercise-list-item.is-complete .list-end{
    font-size:.72rem;
  }
}

/* =========================================================
   VeyaNeuro — Rewards Hub
   ========================================================= */
.rewards-page-header{
  align-items:center;
}

.rewards-hero{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-radius:30px;
  border:1px solid rgba(108,229,197,.22);
  background:
    radial-gradient(circle at 90% 10%,rgba(140,188,255,.2),transparent 32%),
    radial-gradient(circle at 12% 90%,rgba(108,229,197,.16),transparent 38%),
    linear-gradient(145deg,rgba(20,44,55,.98),rgba(10,25,33,.98));
  box-shadow:var(--shadow);
}

.rewards-hero__glow{
  position:absolute;
  width:220px;
  height:220px;
  right:-95px;
  top:-100px;
  border-radius:50%;
  background:rgba(108,229,197,.13);
  filter:blur(10px);
  pointer-events:none;
}

.rewards-hero__top{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}

.rewards-hero__icon{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:24px;
  font-size:2rem;
  background:linear-gradient(145deg,rgba(108,229,197,.2),rgba(140,188,255,.14));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 18px 38px rgba(0,0,0,.24);
}

.rewards-hero__copy h2{
  margin:.15rem 0 .28rem;
  font-size:clamp(1.65rem,5vw,2.35rem);
  letter-spacing:-.045em;
}

.rewards-hero__copy p{
  margin:0;
  color:var(--muted);
  max-width:34rem;
}

.rewards-xp-pill{
  align-self:start;
  padding:.55rem .75rem;
  border-radius:999px;
  background:rgba(108,229,197,.12);
  border:1px solid rgba(108,229,197,.25);
  color:var(--mint);
  font-weight:900;
  white-space:nowrap;
}

.rewards-progress-copy{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:24px;
  font-size:.86rem;
}

.rewards-progress-copy span{
  color:var(--muted);
}

.rewards-progress-track{
  height:12px;
  margin-top:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.07);
}

.rewards-progress-track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--mint),var(--sky));
  box-shadow:0 0 24px rgba(108,229,197,.3);
}

.rewards-stat-grid{
  margin-top:12px;
}

.reward-stat-card{
  position:relative;
  overflow:hidden;
}

.reward-stat-card__icon{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:12px;
  border-radius:13px;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
}

.reward-stat-card strong,
.reward-stat-card span,
.reward-stat-card small{
  display:block;
}

.reward-stat-card strong{
  font-size:1.8rem;
  letter-spacing:-.04em;
}

.reward-stat-card span{
  margin-top:2px;
  font-weight:800;
}

.reward-stat-card small{
  margin-top:6px;
  color:var(--muted);
}

.achievement-summary-card{
  display:grid;
  grid-template-columns:auto minmax(130px,1fr);
  align-items:center;
  gap:18px;
  margin-bottom:12px;
}

.achievement-summary-card strong,
.achievement-summary-card span{
  display:block;
}

.achievement-summary-card strong{
  font-size:1.7rem;
  letter-spacing:-.04em;
}

.achievement-summary-card span{
  color:var(--muted);
  font-size:.82rem;
}

.achievement-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.achievement-card{
  min-width:0;
  padding:20px;
  border-radius:23px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(20,44,55,.92),rgba(13,31,40,.92));
  box-shadow:0 16px 44px rgba(0,0,0,.17);
}

.achievement-card.is-unlocked{
  border-color:rgba(108,229,197,.3);
  background:
    radial-gradient(circle at 100% 0,rgba(108,229,197,.13),transparent 38%),
    linear-gradient(145deg,rgba(20,48,56,.98),rgba(12,31,38,.98));
}

.achievement-card.is-locked{
  opacity:.82;
}

.achievement-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.achievement-card__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  font-size:1.55rem;
  background:rgba(255,255,255,.055);
  border:1px solid var(--line);
}

.is-unlocked .achievement-card__icon{
  background:linear-gradient(145deg,rgba(108,229,197,.2),rgba(140,188,255,.12));
  border-color:rgba(108,229,197,.24);
  box-shadow:0 12px 28px rgba(108,229,197,.09);
}

.achievement-card__state{
  padding:.34rem .58rem;
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.is-unlocked .achievement-card__state{
  color:var(--mint);
  background:rgba(108,229,197,.1);
  border-color:rgba(108,229,197,.2);
}

.achievement-card h3{
  margin:.22rem 0 .42rem;
  font-size:1.08rem;
}

.achievement-card p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}

.achievement-card__date{
  display:block;
  margin-top:16px;
  color:var(--mint);
  font-weight:800;
}

.achievement-card__progress{
  margin-top:17px;
}

.achievement-card__progress > span{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
}

.league-ladder{
  display:grid;
  gap:9px;
}

.league-step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:15px 16px;
  border-radius:19px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
}

.league-step.is-current{
  border-color:rgba(108,229,197,.35);
  background:linear-gradient(135deg,rgba(108,229,197,.12),rgba(140,188,255,.07));
  box-shadow:0 14px 34px rgba(108,229,197,.08);
}

.league-step.is-completed{
  border-color:rgba(140,188,255,.18);
}

.league-step.is-locked{
  opacity:.68;
}

.league-step__icon{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.055);
}

.league-step__copy strong,
.league-step__copy span{
  display:block;
}

.league-step__copy span{
  margin-top:2px;
  color:var(--muted);
  font-size:.78rem;
}

.league-step__status{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.league-step.is-current .league-step__status{
  color:var(--mint);
}

.xp-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.xp-guide-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:13px;
  padding:17px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
}

.xp-guide-card > span{
  min-width:48px;
  min-height:48px;
  display:grid;
  place-items:center;
  padding:.4rem;
  border-radius:15px;
  background:rgba(108,229,197,.11);
  color:var(--mint);
  font-weight:950;
}

.xp-guide-card strong,
.xp-guide-card small{
  display:block;
}

.xp-guide-card small{
  margin-top:4px;
  color:var(--muted);
}

.xp-guide-card--cap > span{
  background:rgba(255,212,140,.1);
  color:var(--warm);
}

.reward-history-list{
  display:grid;
  gap:8px;
}

.reward-history-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:13px;
  border-radius:17px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}

.reward-history-item__amount{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(108,229,197,.11);
  color:var(--mint);
  font-weight:950;
}

.reward-history-item strong,
.reward-history-item span{
  display:block;
}

.reward-history-item div span,
.reward-history-item small{
  color:var(--muted);
  font-size:.76rem;
}

@media(max-width:560px){
  .rewards-hero__top{
    grid-template-columns:auto minmax(0,1fr);
  }

  .rewards-xp-pill{
    grid-column:1/-1;
    justify-self:start;
  }

  .achievement-grid,
  .xp-guide-grid{
    grid-template-columns:1fr;
  }

  .achievement-summary-card{
    grid-template-columns:1fr;
  }

  .rewards-progress-copy{
    display:block;
  }

  .rewards-progress-copy span{
    display:block;
    margin-top:2px;
  }
}

@media(max-width:440px){
  .rewards-page-header .button{
    width:100%;
  }

  .rewards-hero{
    padding:21px;
  }

  .rewards-hero__icon{
    width:60px;
    height:60px;
    border-radius:20px;
  }

  .league-step{
    grid-template-columns:auto minmax(0,1fr);
  }

  .league-step__status{
    grid-column:2;
  }
}

/* =========================================================
   Account initial sheet — Accessibility, Safety and Privacy
   ========================================================= */

body.account-sheet-open{
  overflow:hidden;
}

.app-account-sheet{
  display:flex;
  max-height:min(88dvh,760px);
  flex-direction:column;
  overflow:hidden;
  padding-bottom:calc(18px + var(--safe-bottom));
  box-shadow:0 -28px 85px rgba(0,0,0,.4);
}

.app-account-sheet__heading{
  flex:0 0 auto;
  padding-bottom:14px;
}

.account-sheet-tabs{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.035);
}

.account-sheet-tab{
  min-width:0;
  min-height:44px;
  padding:.65rem .45rem;
  border:0;
  border-radius:13px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:.76rem;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  transition:
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease;
}

.account-sheet-tab.is-active{
  background:
    linear-gradient(
      145deg,
      rgba(108,229,197,.18),
      rgba(140,188,255,.11)
    );
  color:var(--text);
  box-shadow:
    inset 0 0 0 1px rgba(108,229,197,.2),
    0 8px 20px rgba(0,0,0,.12);
}

.account-sheet-tab:focus-visible{
  outline:3px solid rgba(140,188,255,.55);
  outline-offset:2px;
}

.account-sheet-panels{
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:16px 2px 2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(108,229,197,.35) transparent;
}

.account-sheet-panels::-webkit-scrollbar{
  width:7px;
}

.account-sheet-panels::-webkit-scrollbar-track{
  background:transparent;
}

.account-sheet-panels::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(108,229,197,.3);
}

.account-sheet-panel[hidden]{
  display:none;
}

.account-sheet-panel{
  animation:accountPanelIn .22s ease;
}

@keyframes accountPanelIn{
  from{
    opacity:0;
    transform:translateY(5px);
  }

  to{
    opacity:1;
    transform:none;
  }
}

.account-sheet-panel__heading{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:21px;
  background:
    radial-gradient(
      circle at 100% 0,
      rgba(140,188,255,.12),
      transparent 38%
    ),
    rgba(255,255,255,.025);
}

.account-sheet-panel__heading h3,
.account-sheet-panel__heading p{
  margin:0;
}

.account-sheet-panel__heading h3{
  margin-top:3px;
  font-size:1.3rem;
  letter-spacing:-.035em;
}

.account-sheet-panel__heading p{
  margin-top:5px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}

.account-sheet-panel__icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid rgba(108,229,197,.22);
  border-radius:17px;
  background:
    linear-gradient(
      145deg,
      rgba(108,229,197,.18),
      rgba(140,188,255,.11)
    );
  color:var(--mint);
  font-size:.92rem;
  font-weight:950;
  letter-spacing:-.03em;
}

.account-sheet-panel__icon--safety{
  border-color:rgba(255,212,140,.24);
  background:rgba(255,212,140,.09);
  color:var(--warm);
  font-size:1.35rem;
}

.account-sheet-panel__icon--privacy{
  border-color:rgba(140,188,255,.24);
  background:rgba(140,188,255,.09);
  color:var(--sky);
  font-size:1.1rem;
}

.account-sheet-controls{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:21px;
  background:rgba(255,255,255,.025);
}

.account-sheet-controls .setting-row{
  padding:17px 18px;
}

.account-sheet-controls .setting-row:last-child{
  border-bottom:0;
}

.account-sheet-install{
  margin-top:12px;
}

.account-sheet-information{
  padding:20px;
  border:1px solid var(--line);
  border-radius:21px;
  background:
    linear-gradient(
      145deg,
      rgba(140,188,255,.065),
      rgba(255,255,255,.02)
    );
}

.account-sheet-information p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.account-sheet-information p + p{
  margin-top:14px;
}

.account-sheet-information strong{
  display:block;
  margin-top:15px;
  color:var(--text);
  line-height:1.5;
}

.account-sheet-information--safety{
  border-color:rgba(255,212,140,.2);
  background:
    linear-gradient(
      145deg,
      rgba(255,212,140,.075),
      rgba(255,255,255,.018)
    );
}

body.high-contrast .account-sheet-tabs,
body.high-contrast .account-sheet-panel__heading,
body.high-contrast .account-sheet-controls,
body.high-contrast .account-sheet-information{
  border-width:2px;
}

@media(max-width:440px){
  .app-account-sheet{
    max-height:91dvh;
    padding-inline:14px;
  }

  .account-sheet-tab{
    min-height:42px;
    padding-inline:.25rem;
    font-size:.68rem;
  }

  .account-sheet-panel__heading{
    padding:15px;
  }

  .account-sheet-panel__icon{
    width:46px;
    height:46px;
    border-radius:15px;
  }

  .account-sheet-controls .setting-row{
    padding:16px 15px;
  }

  .account-sheet-information{
    padding:17px;
  }
}

/* =========================================================
   VeyaNeuro v2.0 — shared product shell
   Premium dark interface with a centred branded home control.
   Existing page-specific classes remain intact below this layer.
   ========================================================= */

html{
  background:#040a0f;
}

body{
  background:
    radial-gradient(circle at 88% -4%,rgba(127,197,255,.15),transparent 31%),
    radial-gradient(circle at 8% 18%,rgba(98,234,210,.09),transparent 28%),
    radial-gradient(circle at 58% 92%,rgba(181,167,255,.055),transparent 33%),
    linear-gradient(180deg,#061018 0%,var(--bg) 48%,#040a0f 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.48;
  background:
    linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.018) 49%,transparent 50% 100%);
  background-size:92px 92px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 82%);
}

.app-shell{
  width:min(100%,780px);
  padding-bottom:calc(104px + var(--safe-bottom));
}

.topbar{
  min-height:76px;
  padding:calc(12px + env(safe-area-inset-top,0px)) 18px 12px;
  background:
    linear-gradient(180deg,rgba(5,12,18,.97),rgba(5,12,18,.9) 72%,rgba(5,12,18,.7));
  border-bottom:1px solid rgba(211,235,241,.055);
  box-shadow:0 12px 34px rgba(0,0,0,.11);
  backdrop-filter:blur(24px) saturate(125%);
}

.brand{
  gap:.7rem;
  min-width:0;
}

.brand > img{
  filter:drop-shadow(0 8px 18px rgba(98,234,210,.12));
}

.brand > span:last-child{
  min-width:0;
}

.brand strong{
  overflow:hidden;
  color:var(--text);
  font-size:.97rem;
  font-weight:950;
  letter-spacing:.005em;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.brand small{
  margin-top:4px;
  overflow:hidden;
  color:var(--mint);
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1.1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.top-actions{
  gap:.55rem;
}

.icon-button,
.avatar-button{
  border-color:rgba(211,235,241,.13);
  background:
    linear-gradient(145deg,rgba(17,40,50,.86),rgba(8,23,30,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.icon-button:hover,
.avatar-button:hover{
  border-color:rgba(98,234,210,.32);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 10px 22px rgba(0,0,0,.16);
}

.avatar-button{
  background:
    radial-gradient(circle at 28% 18%,rgba(127,197,255,.22),transparent 42%),
    linear-gradient(145deg,rgba(181,167,255,.16),rgba(98,234,210,.12)),
    var(--surface);
}

.main-content{
  padding:8px 18px 34px;
}

.page-header{
  margin:15px 0 24px;
}

.page-header h1,
.hero h1{
  letter-spacing:-.052em;
}

.eyebrow{
  color:var(--mint);
  letter-spacing:.16em;
}

.hero,
.card,
.exercise-hero,
.assessment-hero-panel,
.rewards-hero{
  border-color:rgba(211,235,241,.115);
}

.hero{
  background:
    radial-gradient(circle at 88% 2%,rgba(127,197,255,.15),transparent 31%),
    radial-gradient(circle at 5% 100%,rgba(98,234,210,.10),transparent 32%),
    linear-gradient(145deg,rgba(17,40,50,.95),rgba(7,20,27,.97));
  box-shadow:var(--shadow);
}

.card{
  background:
    linear-gradient(145deg,rgba(17,40,50,.9),rgba(8,23,30,.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 16px 38px rgba(0,0,0,.13);
}

.card-interactive:hover{
  border-color:rgba(98,234,210,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 20px 45px rgba(0,0,0,.19);
}

.button{
  border-radius:17px;
  min-height:52px;
  font-weight:900;
  letter-spacing:-.01em;
}

.button-primary{
  background:linear-gradient(135deg,var(--mint),#79e7f6 62%,#8dc8ff);
  color:#041b1a;
  box-shadow:
    0 14px 32px rgba(98,234,210,.16),
    inset 0 1px 0 rgba(255,255,255,.36);
}

.button-secondary{
  border-color:rgba(211,235,241,.14);
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
}

.button:hover{
  transform:translateY(-1px);
  filter:brightness(1.045);
}

.list-item{
  background:
    linear-gradient(145deg,rgba(255,255,255,.041),rgba(255,255,255,.022));
}

.field input,
.field textarea,
.field select,
.search-field input{
  border-color:rgba(211,235,241,.13);
  background:rgba(7,21,29,.94);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.choice span{
  background:rgba(255,255,255,.03);
}

.choice input:checked + span{
  background:rgba(98,234,210,.105);
  border-color:rgba(98,234,210,.5);
  color:var(--mint);
}

/* PL-inspired navigation philosophy:
   four utility destinations orbit a larger branded VeyaNeuro Home control. */
.bottom-nav{
  width:min(100%,780px);
  min-height:76px;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:end;
  padding:12px 10px calc(10px + var(--safe-bottom));
  border-top:1px solid rgba(211,235,241,.09);
  border-radius:24px 24px 0 0;
  background:
    linear-gradient(180deg,rgba(11,28,36,.97),rgba(5,14,20,.985));
  box-shadow:
    0 -18px 48px rgba(0,0,0,.27),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter:blur(26px) saturate(135%);
}

.bottom-nav a{
  position:relative;
  gap:5px;
  min-height:48px;
  padding:6px 2px 3px;
  border-radius:15px;
  color:#8098a1;
  font-size:.65rem;
  font-weight:850;
  transition:
    color .2s ease,
    transform .2s ease,
    background .2s ease;
}

.bottom-nav a:hover{
  color:#bfd0d6;
}

.bottom-nav a.is-active{
  color:var(--mint);
  background:transparent;
}

.bottom-nav a:not(.nav-brand-button).is-active::after{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:18px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--mint),var(--sky));
  box-shadow:0 0 13px rgba(98,234,210,.45);
  transform:translateX(-50%);
}

.nav-icon{
  width:23px;
  height:23px;
}

.veyaneuro-bottom-nav .nav-brand-button{
  color:#b7c8ce;
}

.veyaneuro-bottom-nav .nav-brand-button.is-active{
  color:var(--mint);
}

.veyaneuro-bottom-nav .nav-brand-label{
  margin-top:1px;
  font-size:.62rem;
  font-weight:900;
}

.veyaneuro-bottom-nav .nav-brand-logo-wrap{
  background:
    radial-gradient(circle at 35% 16%,rgba(127,197,255,.15),transparent 46%),
    linear-gradient(145deg,rgba(16,38,48,.99),rgba(5,15,21,.99));
}

.app-sheet{
  background:
    radial-gradient(circle at 88% 0,rgba(127,197,255,.09),transparent 32%),
    linear-gradient(180deg,#0d232d,#081820);
  border-color:rgba(211,235,241,.13);
  box-shadow:0 -28px 90px rgba(0,0,0,.42);
}

.sheet-backdrop{
  background:rgba(1,7,11,.68);
  backdrop-filter:blur(7px);
}

.search-overlay{
  background:
    radial-gradient(circle at 82% 7%,rgba(127,197,255,.09),transparent 27%),
    rgba(3,10,14,.94);
  backdrop-filter:blur(22px);
}

.search-results a{
  border-color:rgba(211,235,241,.11);
  background:
    linear-gradient(145deg,rgba(17,40,50,.72),rgba(8,23,30,.78));
}

.toast{
  border-color:rgba(211,235,241,.13);
  background:rgba(11,29,37,.97);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}

.auth-page{
  background:
    radial-gradient(circle at 78% 12%,rgba(127,197,255,.15),transparent 30%),
    radial-gradient(circle at 13% 82%,rgba(98,234,210,.10),transparent 33%),
    linear-gradient(180deg,#061018,var(--bg));
}

.auth-card{
  border-color:rgba(211,235,241,.13);
  background:
    radial-gradient(circle at 90% 0,rgba(127,197,255,.08),transparent 28%),
    rgba(12,29,38,.92);
  box-shadow:var(--shadow-lg);
}

.plan-visual{
  background:
    radial-gradient(circle at 88% 8%,rgba(127,197,255,.18),transparent 34%),
    linear-gradient(125deg,rgba(98,234,210,.15),rgba(127,197,255,.11)),
    linear-gradient(145deg,#12303a,#091d25);
}

.mini-progress span,
.rewards-progress-track span,
.bar span{
  background:linear-gradient(90deg,var(--mint),var(--cyan),var(--sky));
}

/* Keep accessibility modes strong after the visual refresh. */
body.high-contrast{
  --muted:#e0e9ec;
  --muted-2:#c8d5da;
  --line:rgba(255,255,255,.34);
  --line-strong:rgba(255,255,255,.58);
}

body.high-contrast .topbar,
body.high-contrast .bottom-nav,
body.high-contrast .card,
body.high-contrast .hero,
body.high-contrast .app-sheet{
  border-color:rgba(255,255,255,.36);
}

body.reduce-motion .bottom-nav a,
body.reduce-motion .card-interactive,
body.reduce-motion .button,
body.reduce-motion .icon-button,
body.reduce-motion .avatar-button{
  transition:none;
}

@media(max-width:440px){
  .topbar{
    min-height:70px;
    padding-inline:14px;
  }

  .brand strong{
    font-size:.9rem;
  }

  .brand small{
    max-width:132px;
    font-size:.51rem;
    letter-spacing:.115em;
  }

  .main-content{
    padding-inline:14px;
  }

  .bottom-nav{
    padding-inline:5px;
    border-radius:20px 20px 0 0;
  }

  .bottom-nav a{
    font-size:.61rem;
  }
}
