/* Client material adapter. HQ reference: hq-glass.css; no staff assets imported. */
body[data-page="portal"] {
  --fit-bg:#0c0e12;--fit-surface:#202735;--fit-raised:#303b4d;
  --fit-text:#f4f5f8;--fit-muted:#cbd5e5;--fit-line:#c3d9ff4d;
  --fit-red:#f68b98;--fit-red-border:#ff9aaa65;--fit-primary:#b32946;
  --fit-radius:16px;--portal-ease:cubic-bezier(.2,.78,.2,1);
  font-family:Inter,"Segoe UI","Noto Sans Myanmar","Myanmar Text",system-ui,-apple-system,Arial,sans-serif;
  background:radial-gradient(ellipse at 12% 0,#66748b24,transparent 48%),radial-gradient(ellipse at 100% 65%,#a928491c,transparent 44%),#0c0e12;
  color:var(--fit-text);font-size:15px;line-height:1.65;min-height:100dvh;
}
body[data-page="portal"] .portal-root {max-width:1240px;padding:28px 32px 64px;margin:auto}
body[data-page="portal"] .site-nav {max-width:1240px;margin:auto;padding:20px 32px;border-color:#b9cbed25;background:transparent}
body[data-page="portal"] .site-nav img {width:180px;height:auto}
body[data-page="portal"] :is(.fit-panel,.portal-panel,.auth-card,.fit-dialog) {
  background:radial-gradient(ellipse at 3% -30%,#bfd5ff20,transparent 52%),linear-gradient(130deg,#303b4d,#1a2230 55%,#322431);
  border:1px solid var(--fit-line);border-radius:16px;
  box-shadow:inset 0 1px #eef5ff38,inset 0 -1px #0006,0 14px 36px #0003;
  padding:24px;
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  body[data-page="portal"] :is(.fit-panel,.portal-panel,.auth-card) {
    background:radial-gradient(ellipse at 3% -30%,#bfd5ff20,transparent 52%),linear-gradient(130deg,#303b4df2,#1a2230eb 55%,#422a3be8);
    backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  }
  body[data-page="portal"] .fit-panel .fit-panel {backdrop-filter:none;-webkit-backdrop-filter:none}
}
body[data-page="portal"] :is(.fit-panel,.portal-panel) p {font-size:15px;line-height:1.7;color:var(--fit-muted)}
body[data-page="portal"] .fit-page-heading {margin-bottom:26px}
body[data-page="portal"] .fit-page-heading h1 {font-size:36px;line-height:1.2;letter-spacing:-1px;font-weight:740;margin-bottom:10px}
body[data-page="portal"] :is(.fit-panel,.portal-panel) h2 {font-size:21px;line-height:1.35;color:var(--fit-text);letter-spacing:-.4px}
body[data-page="portal"] :is(.fit-panel,.portal-panel) h3 {font-size:17px;line-height:1.4;color:var(--fit-text)}
body[data-page="portal"] .fit-kicker {font-size:11px!important;letter-spacing:1.3px;color:#f68b98!important}
body[data-page="portal"] .fit-meta {font-size:13px!important;color:var(--fit-muted)!important}
body[data-page="portal"] :is(.fit-button,.secondary-button,.solid-link) {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;
  border:1px solid #d3e1ff47;border-radius:11px;padding:11px 15px;
  background:linear-gradient(160deg,#eef4ff1f,#a9bfeb0a),#242c3c;
  box-shadow:inset 0 1px #fff2,0 3px 8px #0003;color:#f0f3fa;font-size:14px;font-weight:650;
  text-decoration:none;line-height:1.4;cursor:pointer;
  transition:background-color 160ms var(--portal-ease),border-color 160ms var(--portal-ease),transform 120ms var(--portal-ease);
}
body[data-page="portal"] :is(.fit-primary,.solid-link) {background:linear-gradient(160deg,#ffb4cc42,#c4214375),#b32946;border-color:#ffadc384;box-shadow:inset 0 1px #ffd5e859,0 7px 24px #a41b3125;color:#fff}
body[data-page="portal"] :is(.fit-button,.secondary-button):hover {background-color:#3c475f;border-color:#e7efff83}
body[data-page="portal"] :is(.fit-primary,.solid-link):hover {background-color:#dc3b57;border-color:#ffc0cf}
body[data-page="portal"] button:active:not(:disabled) {transform:scale(.98)}
body[data-page="portal"] :is(button,input,textarea,select,summary,a):focus-visible {outline:2px solid #ff9cb2;outline-offset:4px}
body[data-page="portal"] button:disabled {opacity:.55;cursor:default}
body[data-page="portal"] :is(input,select,textarea) {background:#111722;border:1px solid #95a9cc70;box-shadow:inset 0 2px 7px #0003;border-radius:10px;font-size:16px;min-height:48px;color:var(--fit-text)}
body[data-page="portal"] textarea {resize:none;min-height:150px}
body[data-page="portal"] label {font-size:14px;color:#e1e6ef}
body[data-page="portal"] .portal-header {display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-bottom:1px solid #b9cbed25;padding:0 0 24px;margin-bottom:28px;background:transparent}
body[data-page="portal"] .portal-status {border-color:#ff9aaa65;background:#69334838;color:#ffd3df;font-size:11px;letter-spacing:.7px;border-radius:7px}
body[data-page="portal"] .portal-account {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body[data-page="portal"] .portal-account button {font-size:13px;min-height:44px}
body[data-page="portal"] .portal-account [aria-current="page"] {border-color:#ff9cb2;text-decoration:underline;text-underline-offset:5px}
body[data-page="portal"] .portal-layout {display:grid;grid-template-columns:176px minmax(0,1fr);gap:32px;align-items:start}
body[data-page="portal"] .portal-tabs {position:sticky;top:24px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--fit-line);border-radius:16px;background:linear-gradient(160deg,#252d3a,#141922);box-shadow:inset 0 1px #fff1}
body[data-page="portal"] .portal-tabs button {position:relative;display:flex;align-items:center;gap:12px;min-height:50px;padding:13px 14px;border:1px solid transparent;border-radius:10px;color:var(--fit-muted);background:transparent;font-size:14px;text-align:left}
body[data-page="portal"] .portal-tabs button svg {width:21px;height:21px;flex-shrink:0}
body[data-page="portal"] .portal-tabs button[aria-current="page"] {background:linear-gradient(105deg,#f7637730,#ffbed50d);border:1px solid #ff9aaa65;color:#fff;box-shadow:inset 3px 0 #ff8398}
body[data-page="portal"] .portal-tabs button[aria-current="page"] span {font-weight:750;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
body[data-page="portal"] .fit-today-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body[data-page="portal"] .fit-today-grid>.fit-panel {margin:0}
body[data-page="portal"] .fit-today-workout {grid-column:1/-1}
body[data-page="portal"] .fit-progress-grid {grid-template-columns:minmax(0,1fr)}
body[data-page="portal"] .portal-week-total {font-size:36px!important;letter-spacing:-1px}
body[data-page="portal"] .portal-week-total span {font-size:15px;font-weight:500;color:var(--fit-muted);letter-spacing:0}
body[data-page="portal"] .fit-due-row {display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #c3d9ff24;font-size:14px}
body[data-page="portal"] .fit-due-row span {color:var(--fit-muted)}
body[data-page="portal"] .private-file {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-color:#c3d9ff24}
body[data-page="portal"] .private-file strong {display:block;font-size:15px;overflow-wrap:anywhere}
body[data-page="portal"] .private-file small {display:block;font-size:13px;color:var(--fit-muted)}
body[data-page="portal"] .portal-document-group+.portal-document-group {border-top:1px solid var(--fit-line);padding-top:24px;margin-top:24px}
body[data-page="portal"] .portal-checkin-choices {display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
body[data-page="portal"] .portal-checkin-section {scroll-margin-top:24px;margin-bottom:24px}
body[data-page="portal"] summary {cursor:pointer;min-height:44px;padding-top:10px;padding-bottom:10px;color:#e3e9f4}
body[data-page="portal"] .fit-photo-fieldset {margin-top:24px}
body[data-page="portal"] .fit-photo-grid {gap:14px}
body[data-page="portal"] .fit-dialog::backdrop {background:#05070bd9}
body[data-page="portal"] .fit-dialog {max-width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}
body[data-page="portal"] .portal-toast {background:#1d3933;border:1px solid #95d8c272;color:#dbfff1;border-radius:12px;box-shadow:0 12px 35px #0005}
body[data-page="portal"] .auth-layout {max-width:980px;gap:64px;margin:40px auto}
body[data-page="portal"] .auth-intro h1 {font-size:48px;letter-spacing:-1.6px;line-height:1.12}
body[data-page="portal"] .auth-intro em {color:#f68b98}
body[data-page="portal"] .auth-card {padding:32px}
body[data-page="portal"] .auth-card h2 {font-size:27px;letter-spacing:-.6px}
body[data-page="portal"] .auth-card p {font-size:15px;line-height:1.7;color:var(--fit-muted)}
body[data-page="portal"] .auth-card .small-note {font-size:13px}
.portal-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px) {
  body[data-page="portal"] .portal-layout {grid-template-columns:150px minmax(0,1fr);gap:22px}
  body[data-page="portal"] .portal-root {padding:24px 24px 64px}
  body[data-page="portal"] .fit-today-grid {grid-template-columns:1fr}
}
@media(max-width:740px) {
  body.fitness-authenticated[data-page="portal"] .portal-header {position:static;inset:auto;margin:0 0 24px;z-index:auto}
  body.fitness-authenticated[data-page="portal"] .portal-header>div:first-child {display:block}
  body[data-page="portal"] .site-nav {padding:18px 20px}
  body[data-page="portal"] .site-nav img {width:156px}
  body[data-page="portal"] .portal-root {padding:20px 20px calc(112px + env(safe-area-inset-bottom))}
  body[data-page="portal"] .portal-header {align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px;padding-bottom:20px}
  body[data-page="portal"] .portal-account {justify-content:flex-start;width:100%;gap:8px}
  body[data-page="portal"] .portal-account button {flex:1}
  body[data-page="portal"] .portal-layout {display:block}
  body[data-page="portal"] .portal-tabs {position:fixed;top:auto;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;border:1px solid var(--fit-line);background:#161c28;box-shadow:0 -8px 32px #0005}
  body[data-page="portal"] .portal-tabs:not(.offers-fitness-navigation) {grid-template-columns:1fr}
  body[data-page="portal"] .portal-tabs.offers-fitness-navigation {grid-template-columns:repeat(4,minmax(0,1fr))}
  body[data-page="portal"] .portal-tabs.offers-fitness-navigation button {font-size:12px;padding:8px 3px}
  body[data-page="portal"] .portal-tabs button {display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 3px;min-height:62px;font-size:12px;border-radius:10px}
  body[data-page="portal"] .portal-tabs button[aria-current="page"] {border:1px solid #ff9aaa65!important;background:#69334838!important;box-shadow:inset 0 3px #ff8398}
  body[data-page="portal"] .fit-page-heading h1 {font-size:30px}
  body[data-page="portal"] :is(.fit-panel,.portal-panel) {padding:20px;margin-bottom:18px}
  body[data-page="portal"] .fit-today-grid {gap:16px}
  body[data-page="portal"] .fit-today-workout {grid-column:auto}
  body[data-page="portal"] .private-file {align-items:flex-start;flex-direction:column}
  body[data-page="portal"] .private-file .fit-actions {margin:0;width:100%}
  body[data-page="portal"] .fit-session-row {gap:12px}
  body[data-page="portal"] .auth-layout {display:flex;flex-direction:column;gap:24px;margin:12px auto}
  body[data-page="portal"] .auth-intro h1 {font-size:34px;margin:12px 0}
  body[data-page="portal"] .auth-intro h1 br {display:none}
  body[data-page="portal"] .auth-intro>p:not(.eyebrow),body[data-page="portal"] .auth-intro>.quiet-link {display:none}
  body[data-page="portal"] .auth-card {padding:24px}
}
@media(max-width:380px) {
  body[data-page="portal"] .portal-root {padding-left:14px;padding-right:14px}
  body[data-page="portal"] :is(.fit-panel,.portal-panel) {padding:17px}
  body[data-page="portal"] .portal-tabs {padding-left:6px;padding-right:6px}
  body[data-page="portal"] .portal-tabs button {font-size:11px}
}
@media(prefers-reduced-motion:reduce) {
  body[data-page="portal"] *,body[data-page="portal"] *::before,body[data-page="portal"] *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  body[data-page="portal"] button:active:not(:disabled) {transform:none}
}
@media(forced-colors:active) {
  body[data-page="portal"] :is(.fit-panel,.portal-panel,.auth-card,.portal-tabs,.fit-button) {background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none;backdrop-filter:none}
  body[data-page="portal"] .portal-tabs button[aria-current="page"] {outline:2px solid Highlight}
}
