/* FieldReady v1.1.0. Scoped styles: no Elementor / theme selectors overridden. */
.fr-app, .fr-login {
  --fr-bg: #eef2ed; --fr-ink: #172c26; --fr-muted: #62716b;
  --fr-forest: #173d33; --fr-dark: #102920; --fr-green: #2f765b;
  --fr-mint: #c8e4d6; --fr-line: #dbe3da; --fr-surface: #ffffff;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--fr-ink); box-sizing: border-box; font-size: 15px; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.fr-app *, .fr-app *::before, .fr-app *::after, .fr-login * { box-sizing: border-box; }
.fr-app button, .fr-app input, .fr-app select, .fr-app textarea { font: inherit; }
.fr-app button { cursor: pointer; }
.fr-app button:disabled { opacity: .42; cursor: not-allowed; }
.fr-app :is(button, input, select, textarea):focus-visible, .fr-login a:focus-visible { outline: 3px solid #74ba99; outline-offset: 3px; }
.fr-app p { margin: 0; }
.fr-app h1, .fr-app h2, .fr-app h3 { font-family: inherit; text-transform: none; letter-spacing: normal; color: inherit; margin: 0; line-height: 1.24; }
.fr-app h1 { font-size: clamp(1.8rem, 4vw, 2.55rem); font-weight: 780; }
.fr-app h2 { font-size: 1.18rem; font-weight: 750; }
.fr-app h3 { font-size: 1rem; font-weight: 730; }
.fr-shell { background: var(--fr-bg); min-height: 90vh; padding-bottom: 98px; border-radius: 18px; overflow: clip; }
.fr-top { min-height: 78px; padding: 15px max(22px, calc((100% - 1080px) / 2)); background: var(--fr-dark); color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fr-brand { display: flex; align-items: center; gap: 12px; font-size: 1.15rem; line-height: 1.05; font-weight: 900; letter-spacing: .065em; }
.fr-brand-bright { color: #a4dfc3; }
.fr-brand small { display: block; font-size: .55rem; font-weight: 600; letter-spacing: .23em; opacity: .76; margin-top: 6px; }
.fr-brand-logo { background: #c9e6d9; color: #12392a; width: 43px; height: 43px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; letter-spacing: -.1em; font-size: 1.15rem; padding-right: 3px; }
.fr-top-label { font-size: .68rem; font-weight: 750; letter-spacing: .14em; opacity: .65; }
.fr-page { width: min(100% - 40px, 1080px); margin: 0 auto; padding: 30px 0 36px; }
.fr-heading { margin-bottom: 23px; }
.fr-eyebrow, .fr-hero-kicker { display: block; color: var(--fr-green); font-size: .67rem; font-weight: 850; letter-spacing: .17em; margin-bottom: 7px; }
.fr-heading p { margin-top: 8px; max-width: 680px; color: var(--fr-muted); }
.fr-hero { display: flex; justify-content: space-between; align-items: end; gap: 24px; background: linear-gradient(115deg, #163b30, #285b47); color: #fff; border-radius: 20px; padding: 29px; margin-bottom: 18px; }
.fr-hero h2 { color: #fff; font-weight: 820; font-size: 2.2rem; }
.fr-hero h2 span { opacity: .55; font-size: 1.15rem; font-weight: 500; }
.fr-hero-kicker { color: #b8e0cb; }
.fr-hero p { margin-top: 8px; color: #d4e9de; max-width: 660px; font-size: .94rem; }
.fr-btn { appearance: none; border: 1px solid var(--fr-forest); border-radius: 11px; background: var(--fr-forest); color: white; padding: 11px 15px; font-weight: 720; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; line-height: 1.3; white-space: normal; min-height: 43px; }
.fr-btn:hover { background: #275942; color: white; }
.fr-btn-white { background: #e0f1e6; color: #143c2b; border-color: #e0f1e6; white-space: nowrap; }
.fr-btn-white:hover { background: #fff; color: #143c2b; }
.fr-btn-outline { background: transparent; color: var(--fr-forest); border-color: #7ca990; }
.fr-btn-outline:hover { background: #e8f4eb; color: var(--fr-forest); }
.fr-btn-small { padding: 8px 12px; min-height: 35px; font-size: .84rem; }
.fr-btn-danger { color: #9d3027; border-color: #d9b6b1; background: white; }
.fr-btn-danger:hover { color: #82221b; background: #fff2f0; }
.fr-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.fr-stat { background: #fff; padding: 18px; border: 1px solid var(--fr-line); border-radius: 15px; min-width: 0; }
.fr-stat>span, .fr-stat small { display: block; color: var(--fr-muted); font-size: .76rem; }
.fr-stat strong { font-size: clamp(1.55rem, 3vw, 2.1rem); letter-spacing: -.04em; display: block; margin: 4px 0 2px; line-height: 1.18; }
.fr-stat strong em { font-size: .84rem; font-style: normal; color: var(--fr-muted); letter-spacing: 0; }
.fr-dashboard-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; margin-bottom: 16px; }
.fr-card { background: var(--fr-surface); padding: 23px; border: 1px solid var(--fr-line); border-radius: 17px; min-width: 0; margin-bottom: 16px; }
.fr-dashboard-grid .fr-card, .fr-chart-grid .fr-card { margin-bottom: 0; }
.fr-card>p { margin-top: 12px; color: var(--fr-muted); }
.fr-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.fr-card-head span { font-size: .81rem; color: var(--fr-muted); }
.fr-type { display: inline-flex; align-items: center; background: #e8f2e9; color: #34654c; padding: 5px 9px; border-radius: 7px; font-size: .73rem; font-weight: 720; white-space: nowrap; }
.fr-today h3 { font-size: 1.2rem; margin-top: 12px; }
.fr-today p { font-size: .93rem; margin-top: 8px; }
.fr-workout-foot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 20px; }
.fr-workout-foot>span { color: var(--fr-muted); font-size: .83rem; }
.fr-done { color: #267047 !important; font-size: .82rem; font-weight: 800; }
.fr-small-muted, .fr-disclaimer, .fr-chart-hint { font-size: .8rem; color: var(--fr-muted); }
.fr-disclaimer { padding: 9px 0 4px; margin-top: 20px !important; }
.fr-chart-hint { margin-top: 9px !important; }
.fr-chart-svg { display: block; width: 100%; height: auto; overflow: visible; margin-top: 8px; }
.fr-chart-empty { min-height: 140px; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--fr-muted); font-size: .85rem; border-radius: 9px; border: 1px dashed var(--fr-line); margin-top: 15px; padding: 15px; }
.fr-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.fr-chart-grid h2 { margin-bottom: 12px; }
.fr-small-select { appearance: auto; background: #f5f8f5; padding: 7px 9px; border: 1px solid var(--fr-line); border-radius: 8px; min-width: 130px; max-width: 220px; font-size: .83rem; color: var(--fr-ink); }
.fr-week-picker { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--fr-line); border-radius: 16px; padding: 12px; background: white; margin-bottom: 17px; }
.fr-week-picker button { border: 0; background: #e6eee6; border-radius: 10px; width: 42px; height: 45px; font-size: 2rem; color: var(--fr-forest); line-height: 1; }
.fr-week-picker>div { text-align: center; }
.fr-week-picker>div>* { display: block; }
.fr-week-picker span { color: var(--fr-green); font-size: .65rem; font-weight: 850; letter-spacing: .14em; }
.fr-week-picker strong { font-size: 1.15rem; }
.fr-week-picker small { color: var(--fr-muted); }
.fr-phase-note { background: #dfece2; border-left: 4px solid var(--fr-green); padding: 14px 17px; border-radius: 9px; margin-bottom: 17px; }
.fr-phase-note strong { font-size: .9rem; }
.fr-phase-note p { margin-top: 5px; font-size: .86rem; color: #3c6151; }
.fr-plan-days { display: grid; gap: 11px; }
.fr-plan-day { display: flex; align-items: stretch; gap: 16px; background: white; border: 1px solid var(--fr-line); border-radius: 15px; padding: 17px; }
.fr-plan-day.is-complete { border-color: #a9d3b4; background: #f9fdfa; }
.fr-day-date { flex: 0 0 56px; border-right: 1px solid var(--fr-line); text-align: center; padding: 3px 10px 3px 0; }
.fr-day-date strong { display: block; font-size: 1rem; }
.fr-day-date span { font-size: .7rem; color: var(--fr-muted); white-space: nowrap; }
.fr-day-main { flex: 1; min-width: 0; }
.fr-day-title { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.fr-day-main p { margin: 8px 0 11px; font-size: .86rem; color: var(--fr-muted); }
.fr-muted-label { color: var(--fr-muted); font-size: .79rem; }
.fr-form { max-width: 790px; }
.fr-fields-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.fr-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; font-size: .87rem; color: var(--fr-ink); font-weight: 680; }
.fr-field input, .fr-field textarea, .fr-field select { width: 100%; min-width: 0; background: #f9fbf8; color: var(--fr-ink); border: 1px solid #cbd9cf; border-radius: 10px; padding: 11px 12px; font-size: 1rem; font-weight: 450; box-shadow: none; line-height: 1.3; }
.fr-field input { min-height: 46px; }
.fr-field textarea { line-height: 1.5; resize: vertical; }
.fr-field select { min-height: 46px; appearance: auto; }
.fr-field input:focus, .fr-field textarea:focus, .fr-field select:focus { border-color: #529578; background: white; }
.fr-section-label { margin: 14px 0 17px; border-bottom: 1px solid var(--fr-line); padding-bottom: 7px; font-size: .9rem; color: var(--fr-green); font-weight: 800; }
.fr-form-hint { margin: 0 0 19px; font-size: .82rem; color: var(--fr-muted); }
.fr-button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.fr-settings { margin-top: 18px; max-width: 790px; }
.fr-settings>h2 { margin-bottom: 18px; }
.fr-settings-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin-bottom: 15px; }
.fr-settings-form .fr-field { flex: 1 1 230px; margin-bottom: 0; }
.fr-privacy-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--fr-line); padding: 16px 0 0; margin-top: 16px; }
.fr-privacy-row strong { font-size: .88rem; }
.fr-privacy-row p { font-size: .81rem; color: var(--fr-muted); margin-top: 4px; }
.fr-history-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; gap: 16px; }
.fr-history-actions span { font-size: .85rem; color: var(--fr-muted); }
.fr-history-list { display: grid; gap: 10px; margin-bottom: 16px; }
.fr-history-item { padding: 16px 18px; border-radius: 14px; background: white; border: 1px solid var(--fr-line); display: flex; gap: 14px; justify-content: space-between; align-items: flex-start; }
.fr-history-main { display: flex; align-items: flex-start; gap: 5px; flex-direction: column; min-width: 0; }
.fr-history-main strong { margin-top: 3px; font-size: 1.02rem; }
.fr-history-main>span:not(.fr-type) { font-size: .84rem; color: var(--fr-muted); }
.fr-history-main p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .82rem; margin-top: 5px; color: var(--fr-muted); }
.fr-history-buttons { display: flex; gap: 12px; flex-wrap: wrap; }
.fr-link-button { border: 0; background: transparent; color: var(--fr-green); padding: 4px; text-decoration: underline; font-size: .85rem; }
.fr-danger-text { color: #a53c2c; }
.fr-checkin-item { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--fr-line); font-size: .87rem; }
.fr-checkin-item:last-child { border-bottom: 0; }
.fr-checkin-item span { color: var(--fr-muted); flex: 1; }
.fr-empty { color: var(--fr-muted); }
.fr-notice { position: relative; background: #e1f1e5; border: 1px solid #95c29e; border-radius: 11px; padding: 14px 43px 14px 15px; margin-bottom: 18px; color: #1a5935; font-weight: 650; }
.fr-notice button { position: absolute; right: 12px; top: 8px; font-size: 1.5rem; background: none; border: none; color: inherit; }
.fr-loading, .fr-error { background: #f2f7f3; border: 1px solid #cbd9cf; padding: 24px; border-radius: 14px; }
.fr-bottom-nav { display: flex; justify-content: space-around; position: fixed; z-index: 100; bottom: 12px; left: 50%; transform: translateX(-50%); width: min(calc(100% - 32px), 640px); min-height: 70px; background: #132f26; border: 1px solid #315547; border-radius: 22px; box-shadow: 0 12px 30px rgba(10,35,26,.27); padding: 7px 8px calc(7px + env(safe-area-inset-bottom, 0px)); }
.fr-nav-item { appearance: none; background: none; border: 0; color: #c1d3ca; display: flex; flex: 1; gap: 3px; flex-direction: column; align-items: center; justify-content: center; font-size: .69rem; font-weight: 700; padding: 6px 3px; border-radius: 15px; line-height: 1.2; }
.fr-nav-item.is-active { background: #d4eddd; color: #163d2b; }
.fr-nav-icon { height: 25px; display: inline-flex; align-items: center; justify-content: center; }
.fr-nav-icon svg { display: block; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.fr-login { max-width: 520px; margin: 30px auto; border-radius: 15px; background: #eef2ed; padding: 30px; }
.fr-login h2 { margin: 0 0 10px; font-size: 1.5rem; }
.fr-login p { margin: 0 0 20px; }
.fr-login-button { background: #173d33; color: white; padding: 11px 16px; text-decoration: none; border-radius: 9px; display: inline-block; }
.fr-login-button:hover { color: white; background: #285b47; }
@media (max-width: 750px) {
  .fr-shell { border-radius: 0; }
  .fr-top { padding: 14px 18px; min-height: 71px; }
  .fr-page { width: min(100% - 26px, 620px); padding: 25px 0; }
  .fr-hero { padding: 20px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .fr-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .fr-stat { padding: 14px; }
  .fr-dashboard-grid, .fr-chart-grid { grid-template-columns: 1fr; gap: 12px; }
  .fr-card { padding: 17px; margin-bottom: 12px; }
  .fr-top-label { display: none; }
  .fr-bottom-nav { bottom: 0; width: 100%; max-width: none; border-radius: 19px 19px 0 0; border-bottom: 0; padding-bottom: calc(7px + env(safe-area-inset-bottom,0px)); }
  .fr-shell { padding-bottom: calc(95px + env(safe-area-inset-bottom,0px)); }
}
@media (max-width: 460px) {
  .fr-fields-2 { grid-template-columns: 1fr; gap: 0; }
  .fr-plan-day { gap: 10px; padding: 13px 11px; }
  .fr-day-date { flex-basis: 45px; padding-right: 7px; }
  .fr-day-title { align-items: flex-start; flex-direction: column; gap: 6px; }
  .fr-privacy-row { align-items: flex-start; flex-direction: column; gap: 9px; }
  .fr-history-item { flex-direction: column; }
  .fr-chart-grid .fr-card { margin-bottom: 0; }
  .fr-small-select { max-width: 155px; }
}
@media (prefers-reduced-motion: reduce) {
  .fr-app *, .fr-app *::before, .fr-app *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Independent front-end application, rendered without the active WP theme. */
html { scroll-behavior: smooth; }
body.fr-standalone { margin: 0 !important; padding: 0 !important; background: #eef2ed; min-height: 100vh; }
body.fr-standalone #wpadminbar { display: none; }
body.fr-standalone .fr-app { min-height: 100vh; }
body.fr-standalone .fr-shell { min-height: 100vh; border-radius: 0; }
body.fr-standalone .fr-bottom-nav { box-sizing: border-box; }
body.fr-standalone .fr-top { box-sizing: border-box; }
body.fr-standalone .fr-login { box-sizing: border-box; }
.fr-standalone-login {
  min-height: 100svh; background: radial-gradient(ellipse at 15% 0%, #28553d 0%, #102920 62%);
  display: flex; align-items: center; justify-content: center; padding: 24px;
  color: #1c382d; font: 15px/1.55 Inter, system-ui, sans-serif;
}
.fr-standalone-login * { box-sizing: border-box; }
.fr-standalone-login-panel { width: min(100%, 445px); border-radius: 22px; background: #f7faf7; padding: clamp(24px, 5vw, 38px); box-shadow: 0 20px 55px rgba(0,0,0,.18); }
.fr-signin-mark { display: flex; align-items: center; justify-content: center; background: #153e2e; color: #c9e6d9; font-weight: 900; font-size: 1.3rem; height: 52px; width: 52px; border-radius: 15px; letter-spacing: -.1em; padding-right: 4px; }
.fr-login-eyebrow { letter-spacing: .16em; color: #387254; font-weight: 850; font-size: .7rem; margin: 22px 0 2px; }
.fr-standalone-login h1 { font: 850 2.4rem/1.1 Inter,system-ui,sans-serif; letter-spacing: .04em; margin: 0 0 12px; }
.fr-standalone-login h1 span { color: #3c8765; }
.fr-standalone-login-panel>p:not(.fr-login-eyebrow) { color: #577063; margin: 0 0 20px; }
.fr-standalone-login #loginform p { margin: 0 0 12px; }
.fr-standalone-login #loginform label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: 5px; }
.fr-standalone-login #loginform input[type=text], .fr-standalone-login #loginform input[type=password] { display: block; width: 100%; background: white; border: 1px solid #c6d8c9; border-radius: 10px; padding: 12px 13px; font: inherit; }
.fr-standalone-login #loginform .login-remember label { display: flex; gap: 7px; align-items: center; font-size: .85rem; font-weight: 500; }
.fr-standalone-login #loginform #wp-submit { width: 100%; border: none; border-radius: 10px; padding: 13px 18px; background: #173d33; color: white; font: 750 1rem Inter,system-ui,sans-serif; cursor: pointer; }
.fr-forgot-link { display: inline-block; color: #245c45; margin-top: 6px; font-size: .87rem; text-decoration: underline; }
html:has(body.fr-standalone) { margin-top: 0 !important; }

/* FieldReady v1.2.0 — dual PIN profile interface */
.fr-app { --fr-chart: #5aab85; }
.fr-shell.fr-stacey {
  --fr-bg:#fff5f8; --fr-ink:#432c37; --fr-muted:#856878;
  --fr-forest:#b52e68; --fr-dark:#9b245a; --fr-green:#a82864;
  --fr-mint:#fce3ed; --fr-line:#f0d8e2; --fr-surface:#fff;
  --fr-chart:#d25990;
}
.fr-shell.fr-stacey .fr-top { background:#fff; color:#8c2956; border-bottom:1px solid var(--fr-line); }
.fr-shell.fr-stacey .fr-brand-bright { color:#cf3c7c; }
.fr-shell.fr-stacey .fr-brand-logo { background:#fbe3ee; color:#a42c61; }
.fr-shell.fr-stacey .fr-hero { background:linear-gradient(115deg,#a92c61,#dd75a1); }
.fr-shell.fr-stacey .fr-hero-kicker { color:#fff0f5; }
.fr-shell.fr-stacey .fr-hero p { color:#fff6f9; }
.fr-shell.fr-stacey .fr-btn { background:var(--fr-forest); border-color:var(--fr-forest); color:white; }
.fr-shell.fr-stacey .fr-btn:hover { background:#952253; }
.fr-shell.fr-stacey .fr-btn-white { background:#fff1f6; color:#992957; border-color:#fff1f6; }
.fr-shell.fr-stacey .fr-btn-outline { background:white; color:#a5265d; border-color:#e5a2bb; }
.fr-shell.fr-stacey .fr-btn-danger { background:white; color:#9d3027; border-color:#d9b6b1; }
.fr-shell.fr-stacey .fr-type { background:#fde5ef; color:#992957; }
.fr-shell.fr-stacey .fr-phase-note { background:#ffebf2; border-left-color:#d8548c; }
.fr-shell.fr-stacey .fr-phase-note p { color:#805c6b; }
.fr-shell.fr-stacey .fr-week-picker button { background:#f8e1e9; color:#98245a; }
.fr-shell.fr-stacey .fr-small-select, .fr-shell.fr-stacey .fr-field input, .fr-shell.fr-stacey .fr-field select, .fr-shell.fr-stacey .fr-field textarea { background:#fff9fb; border-color:#eecbda; }
.fr-shell.fr-stacey .fr-done { color:#a92b63 !important; }
.fr-shell.fr-stacey .fr-nav-item.is-active { background:#ffd4e5; color:#922253; }
.fr-shell.fr-stacey .fr-bottom-nav { background:#ac2a63; border-color:#bc3972; }
.fr-shell.fr-stacey .fr-nav-item { color:#ffe0ed; }
.fr-shell.fr-stacey .fr-link-button { color:#ad2862; }
.fr-shell.fr-stacey .fr-notice { background:#ffedf4; color:#99335c; border-color:#f3b4cd; }
.fr-top-right { display:flex; gap:16px; align-items:center; }
.fr-switch { border:1px solid rgba(255,255,255,.45); border-radius:10px; padding:8px 11px; background:transparent; color:inherit; font-size:.78rem; font-weight:700; }
.fr-shell.fr-stacey .fr-switch { border-color:#efbfd0; }
.fr-switch:hover { background:rgba(135,135,135,.15); }
.fr-postnatal-notice { background:#fff; border:1px solid #ecc3d4; border-left:4px solid #d8598c; border-radius:12px; padding:16px 18px; margin-bottom:16px; }
.fr-postnatal-notice strong { color:#a12960; }
.fr-postnatal-notice p { font-size:.86rem; margin-top:5px; color:#665562; }
.fr-exercise-list { margin-top:12px; border-radius:11px; border:1px solid var(--fr-line); background:rgba(255,255,255,.55); padding:12px; }
.fr-exercise-list>strong { display:block; margin-bottom:5px; color:var(--fr-ink); font-size:.83rem; }
.fr-exercise-row { display:flex; align-items:center; gap:11px; justify-content:space-between; padding:7px 0; border-top:1px solid var(--fr-line); font-size:.84rem; }
.fr-exercise-row>span { flex:1; }
.fr-info-btn { flex:0 0 31px; width:31px; height:31px; border:2px solid #c43f79; border-radius:100%; background:white; color:#a82a65; font-weight:900; font-style:italic; line-height:1; }
.fr-info-btn:hover { background:#fee5ef; }
.fr-modal-overlay { position:fixed; inset:0; z-index:5000; background:rgba(28,20,26,.64); display:flex; align-items:center; justify-content:center; padding:20px; overflow-y:auto; }
.fr-modal { width:min(100%,570px); max-height:calc(100dvh - 40px); overflow:auto; background:#fff; color:#412d38; border-radius:21px; padding:22px; box-shadow:0 22px 70px rgba(15,4,11,.35); }
.fr-modal-top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:15px; }
.fr-modal h2 { color:#a62e62; font-size:1.4rem; }
.fr-modal h3 { margin:14px 0 8px; color:#6c3650; }
.fr-modal-close { flex:0 0 38px; width:38px; height:38px; background:#fae8ef; color:#a5265b; font-size:1.7rem; border:0; border-radius:50%; }
.fr-exercise-image { display:block; width:100%; max-height:280px; object-fit:contain; border-radius:12px; background:#fff6f9; }
.fr-modal ol { padding-left:24px; margin:10px 0 18px; }
.fr-modal li { padding-left:4px; margin-bottom:10px; }
.fr-modal .fr-youtube { width:100%; background:#b92c65; border-color:#b92c65; }
.fr-modal .fr-small-muted { margin-top:14px; line-height:1.5; }
.fr-postnatal-phase { flex:1 1 100%; width:100%; }
.fr-consent { display:flex; align-items:flex-start; gap:10px; font-size:.83rem; color:var(--fr-muted); }
.fr-consent input { flex:0 0 auto; margin-top:4px; }
.fr-pin-screen { min-height:100dvh; background:radial-gradient(circle at 40% 3%,#366650 0%,#163c31 43%,#0a2019 100%); color:#fff; display:flex; align-items:center; justify-content:center; padding:24px 14px; }
.fr-pin-card { width:min(100%,395px); text-align:center; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:rgba(10,26,22,.52); padding:28px 25px 32px; box-shadow:0 20px 60px rgba(0,0,0,.23); }
.fr-pin-mark { margin:auto auto 18px; width:76px; height:76px; border-radius:24px; background:#d1e9dc; color:#194734; display:grid; place-items:center; font-size:1.85rem; font-weight:900; letter-spacing:-.1em; padding-right:7px; }
.fr-pin-kicker { font-size:.68rem; letter-spacing:.19em; font-weight:800; color:#b7dcc6; }
.fr-pin-card h1 { margin:4px 0 8px; color:white; font-size:2.4rem; letter-spacing:-.045em; }
.fr-pin-card h1 span { color:#b7e6ce; }
.fr-pin-card p { color:#d3e1d7; font-size:.9rem; margin-bottom:21px; }
.fr-pin-card label { display:block; text-align:left; font-size:.78rem; font-weight:700; margin:8px 0 5px; }
.fr-pin-card input { width:100%; min-height:55px; padding:9px 14px; border-radius:11px; background:white; border:2px solid #90b4a0; text-align:center; font-size:1.45rem; color:#142f24; letter-spacing: .5em; }
.fr-pin-pad { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }
.fr-pin-pad button { min-height:48px; background:#2a5445; color:#fff; border:1px solid #457262; border-radius:11px; font-size:1.2rem; font-weight:700; }
.fr-pin-pad button:hover { background:#46725e; }
.fr-pin-pad button[data-key="clear"], .fr-pin-pad button[data-key="back"] { font-size:.9rem; }
.fr-pin-submit { width:100%; background:#79b89a; color:#10271b; border-color:#79b89a; padding:14px; }
.fr-pin-error { background:#ffeced; color:#842632; border-radius:9px; padding:9px 12px; margin:12px 0; font-size:.84rem; }
.fr-pin-card .fr-pin-foot { font-size:.75rem; margin:18px 0 0; color:#a6c1b4; }
@media(max-width:650px) {
  .fr-top-right { gap:7px; }
  .fr-top .fr-brand { font-size:.91rem; }
  .fr-top .fr-brand small { font-size:.49rem; letter-spacing:.14em; }
  .fr-switch { font-size:.7rem; padding:7px; }
  .fr-modal-overlay { padding:10px; align-items:flex-end; }
  .fr-modal { max-height:94dvh; border-radius:20px 20px 8px 8px; }
}

/* FieldReady v1.3.0 — shared brand system, splash and app-like polish */
:root { color-scheme: light; }
.fr-startup { min-height: 100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:25px;
  background: #102920 url('splash-poster.jpg') center / cover no-repeat; color:#fff; text-align:center; font-family:Inter,system-ui,sans-serif; }
.fr-startup > img { width:110px; height:110px; border-radius:24px; margin:0 0 12px; filter:drop-shadow(0 12px 25px rgba(0,0,0,.22)); }
.fr-startup strong { font-size:clamp(1.65rem,5vw,2.5rem); letter-spacing:.06em; font-weight:900; }
.fr-startup span { font-size:.86rem; letter-spacing:.39em; font-weight:700; color:#d1ead7; }
.fr-startup p { font-size:.8rem; color:#cbe5d7; margin:30px 0 0; }
.fr-startup-bar { width:140px; height:4px; border-radius:6px; overflow:hidden; background:#4b6a59; position:relative; }
.fr-startup-bar::after { content:''; position:absolute; height:100%; left:0; width:44%; background:linear-gradient(90deg,#b6ef70,#ed75a3); border-radius:6px; animation:fr-load 1.3s ease-in-out infinite alternate; }
@keyframes fr-load { to { transform:translateX(125%); } }
.fr-brand-logo-image { padding:0; background:transparent !important; display:block; flex:none; object-fit:cover; border-radius:12px; }
.fr-shell.fr-karl .fr-top { background:linear-gradient(110deg,#092b23,#14533d); border-bottom:1px solid rgba(204,240,219,.15); }
.fr-top { box-shadow:0 4px 18px rgba(5,39,24,.13); }
.fr-shell.fr-stacey .fr-top { background:#fff; border-bottom:2px solid #f3c9d9; box-shadow:0 5px 20px rgba(170,45,89,.06); }
.fr-shell.fr-karl .fr-brand-bright { color:#bbf16f; }
.fr-shell.fr-stacey .fr-brand-bright { color:#c32e73; }
.fr-hero { background:linear-gradient(90deg,rgba(8,41,34,.92) 0%,rgba(15,63,47,.70) 48%,rgba(22,69,50,.10) 100%), url('hero-green.svg') center / cover no-repeat; box-shadow:0 12px 30px rgba(10,51,35,.13); min-height:190px; }
.fr-shell.fr-stacey .fr-hero { background:linear-gradient(90deg,rgba(133,28,75,.93) 0%,rgba(178,56,104,.77) 47%,rgba(214,85,136,.15) 100%), url('hero-pink.svg') center / cover no-repeat; box-shadow:0 12px 25px rgba(162,31,84,.12); }
.fr-hero h2 { text-shadow:0 2px 8px rgba(0,0,0,.12); }
.fr-card, .fr-stat { box-shadow:0 4px 16px rgba(14,48,32,.035); }
.fr-shell.fr-stacey .fr-card, .fr-shell.fr-stacey .fr-stat { box-shadow:0 4px 15px rgba(183,41,94,.035); }
.fr-bottom-nav { backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.fr-nav-item { transition:background .16s ease,transform .16s ease; }
.fr-nav-item.is-active { font-weight:850; }
.fr-nav-item:active { transform:scale(.94); }
.fr-pin-screen { background:radial-gradient(ellipse at 82% 24%,rgba(205,94,143,.23),transparent 42%),linear-gradient(150deg,#174936,#07271f 70%); position:relative; isolation:isolate; }
.fr-pin-screen:before { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.22; background:url('hero-green.svg') center bottom / cover no-repeat; }
.fr-pin-card { border:1px solid rgba(218,247,226,.23); background:rgba(8,36,29,.90); box-shadow:0 25px 80px rgba(0,0,0,.33); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.fr-pin-brand-image { display:block; padding:0; object-fit:contain; margin:0 auto 20px; border-radius:22px; }
.fr-pin-kicker { color:#b0e2c4; font-size:.65rem; }
.fr-pin-card h1 { letter-spacing:-.04em; font-size:clamp(2.05rem,8vw,2.6rem); }
.fr-pin-card h1 span { color:#bef28f; }
.fr-pin-card input { letter-spacing:.35em; }
.fr-pin-submit { background:linear-gradient(90deg,#adf16d,#86dfad); color:#0b3025; border:0; font-weight:850; }
.fr-pin-submit:hover { background:#d6f5aa; color:#082d1c; }
.fr-pin-foot { line-height:1.5; }
@media(max-width:650px) {
 .fr-hero { min-height:194px; background-position:center; }
 .fr-shell.fr-stacey .fr-hero { background-position:center; }
 .fr-brand-logo-image { width:42px; height:42px; }
 .fr-top { padding-top:max(12px,env(safe-area-inset-top)); }
 .fr-page { padding-top:22px; }
}
@media(prefers-reduced-motion:reduce){ .fr-startup-bar::after {animation:none; transform:translateX(50%);} }

/* FieldReady 1.4: two individually installable profile experiences */
.fr-startup.fr-startup-green {background:#092d23 url('splash-nory-1170x2532.jpg') center / cover no-repeat}
.fr-startup.fr-startup-pink {background:#fce2ed url('splash-stacey-1170x2532.jpg') center / cover no-repeat;color:#9d285a}
.fr-startup.fr-startup-pink span,.fr-startup.fr-startup-pink p{color:#ac3c70}
.fr-startup.fr-startup-pink .fr-startup-bar{background:#f6b5d1}
.fr-startup.fr-startup-pink .fr-startup-bar::after{background:#c32971}
.fr-welcome{margin-bottom:17px}
.fr-welcome h1{font-weight:900;font-size:clamp(1.8rem,4.5vw,2.75rem);line-height:1.12;margin:0 0 5px;color:#092e24;letter-spacing:-.05em}
.fr-welcome p{margin:0;color:#587064;font-size:.94rem}
.fr-shell.fr-stacey .fr-welcome h1{color:#8c2855}
.fr-shell.fr-stacey .fr-welcome p{color:#946a7b}
.fr-hero {position:relative;overflow:hidden;align-items:center;min-height:215px;border-radius:22px}
.fr-hero-content{position:relative;z-index:1;width:min(65%,420px)}
.fr-hero h2{font-size:clamp(1.9rem,5.2vw,2.65rem);letter-spacing:-.035em}
.fr-hero h2 span{font-size:.6em}
.fr-hero-content small{font-size:.71rem;color:#dbf0e3;display:block;margin-top:9px}
.fr-shell.fr-stacey .fr-hero-content small{color:#fff3f7}
.fr-hero-progress{display:block;margin-top:16px;width:min(250px,100%);height:9px;background:rgba(255,255,255,.27);border-radius:20px;overflow:hidden}
.fr-hero-progress>span{display:block;height:100%;background:#bcf068;border-radius:20px;min-width:0}
.fr-shell.fr-stacey .fr-hero-progress>span{background:#fff}
.fr-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-2px 0 18px}
.fr-quick-tile{border:1px solid #dceadf;background:#fff;border-radius:16px;padding:18px 8px;display:flex;gap:8px;align-items:center;justify-content:center;flex-direction:column;color:#0a4230;cursor:pointer;box-shadow:0 4px 15px rgba(3,38,23,.06);transition:transform .15s,background .15s;min-height:112px}
.fr-quick-tile:hover{background:#f0f8f2;transform:translateY(-2px)}
.fr-quick-tile strong{font-size:.83rem;line-height:1.3;text-align:center}
.fr-quick-symbol{height:29px;min-width:29px;text-align:center;line-height:28px;font-size:1.85rem;font-weight:800}
.fr-shell.fr-stacey .fr-quick-tile{background:#fff9fb;border-color:#f3d9e3;color:#bb2a6d;box-shadow:0 4px 16px rgba(182,42,99,.05)}
.fr-shell.fr-stacey .fr-quick-tile:hover{background:#fff0f6}
.fr-week-peek{margin-bottom:18px}
.fr-week-peek-list{display:grid;gap:0}
.fr-week-peek-list>div{display:flex;align-items:center;gap:14px;min-height:38px;border-top:1px solid #ecf1ec;font-size:.85rem}
.fr-week-peek-list>div>span{width:35px;flex-shrink:0;font-size:.7rem;color:#277d4b;font-weight:800}
.fr-week-peek-list>div>strong{flex:1;font-size:.82rem;font-weight:650}
.fr-week-peek-list>div>small{font-size:1.12rem;color:#168344}
.fr-shell.fr-stacey .fr-week-peek-list>div{border-color:#f8e5ef}
.fr-shell.fr-stacey .fr-week-peek-list>div>span,.fr-shell.fr-stacey .fr-week-peek-list>div>small{color:#ca3177}
.fr-dashboard-install{display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:17px;margin:8px 0 18px;padding:18px 21px;background:linear-gradient(105deg,#e0f6e5,#eff9f1);border:1px solid #cce9d3}
.fr-dashboard-install>div{display:flex;flex-direction:column;gap:3px}
.fr-dashboard-install>div strong{color:#08442e;font-size:.94rem}
.fr-dashboard-install>div span{color:#557764;font-size:.8rem}
.fr-dashboard-install .fr-btn{white-space:nowrap}
.fr-shell.fr-stacey .fr-dashboard-install{background:linear-gradient(105deg,#fff0f6,#ffe4ef);border-color:#f7ccdf}
.fr-shell.fr-stacey .fr-dashboard-install>div strong{color:#9c2c5c}
.fr-shell.fr-stacey .fr-dashboard-install>div span{color:#ad6687}
.fr-me-identity{display:flex;gap:16px;align-items:center;padding:22px;background:linear-gradient(100deg,#e9f5ed,#fff);border:1px solid #d7e8dd;border-radius:19px;margin-bottom:20px}
.fr-me-identity img{border-radius:18px;box-shadow:0 6px 22px rgba(0,0,0,.11)}
.fr-me-identity>div{display:flex;flex-direction:column;gap:5px}
.fr-me-identity strong{font-weight:850;font-size:1.27rem;color:#113f2f}
.fr-me-identity span{font-size:.84rem;color:#577061}
.fr-shell.fr-stacey .fr-me-identity{background:linear-gradient(100deg,#fff1f6,#fff);border-color:#f5d7e2}
.fr-shell.fr-stacey .fr-me-identity strong{color:#a02c64}
.fr-menu-stack{display:grid;gap:10px;margin-bottom:28px}
.fr-menu-stack>button{padding:15px 17px;display:flex;align-items:center;gap:15px;border:1px solid #dce7df;border-radius:14px;background:#fff;color:#173b2e;cursor:pointer;text-align:left;min-height:80px}
.fr-menu-stack>button:hover{background:#f4f8f5}
.fr-menu-stack>button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px}
.fr-menu-stack strong{font-size:.9rem;font-weight:780}
.fr-menu-stack small{font-size:.76rem;color:#67786e}
.fr-menu-stack b{font-size:1.65rem;font-weight:400;color:#7a9986}
.fr-menu-icon{display:grid;place-items:center;border-radius:11px;background:#e6f5ed;color:#178051;font-size:1.35rem;width:40px;height:40px;flex:none}
.fr-shell.fr-stacey .fr-menu-stack>button{border-color:#f2d7e2;color:#8f2754}
.fr-shell.fr-stacey .fr-menu-stack>button:hover{background:#fff7fa}
.fr-shell.fr-stacey .fr-menu-icon{background:#ffe6f0;color:#c62872}
.fr-install-apphead{display:flex;align-items:center;gap:16px;margin:18px 0 24px;padding:16px;background:#f6f8f6;border-radius:15px}
.fr-install-apphead img{border-radius:20px}
.fr-install-apphead>div{display:flex;flex-direction:column;gap:7px}
.fr-install-apphead strong{font-size:1.1rem;font-weight:800}
.fr-install-apphead span{font-size:.85rem;color:#707b74}
.fr-pin-screen.fr-pin-pink{background:radial-gradient(ellipse at 70% 9%,#ffd7e5 0%,transparent 35%),linear-gradient(140deg,#ffeef4,#f9d9e6 90%);color:#922756}
.fr-pin-screen.fr-pin-pink:before{background:url('hero-pink.svg') center bottom / cover no-repeat;opacity:.13}
.fr-pin-pink .fr-pin-card{background:rgba(255,255,255,.93);border:1px solid #f3c8dc;box-shadow:0 15px 45px rgba(168,43,99,.16);color:#892a55}
.fr-pin-pink .fr-pin-card h1{color:#8d2853}
.fr-pin-pink .fr-pin-card h1 span{color:#cd357e}
.fr-pin-pink .fr-pin-kicker,.fr-pin-pink .fr-pin-foot{color:#9a5376}
.fr-pin-pink .fr-pin-pad button{background:#f8e0eb;color:#862b51;border-color:#f3cbdc}
.fr-pin-pink .fr-pin-submit{background:linear-gradient(90deg,#ca377c,#e47eac);color:#fff}
.fr-pin-pink .fr-pin-card input{border:1px solid #e7c7d3;background:#fff;color:#762246}
@media(max-width:700px){
 .fr-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .fr-quick-tile{min-height:95px;padding:12px 8px}
 .fr-hero{min-height:205px}
 .fr-hero-content{width:79%}
 .fr-welcome h1{font-size:2rem}
 .fr-dashboard-install{flex-direction:column;align-items:stretch;padding:15px}
 .fr-dashboard-install .fr-btn{width:100%}
 .fr-menu-stack>button{min-height:74px}
}
/* Scenic programme cover images follow each person's chosen brand. */
.fr-hero{background-image:linear-gradient(90deg,rgba(7,39,30,.91) 0%,rgba(10,49,37,.68) 49%,rgba(7,39,30,.02) 100%),url('hero-nory.jpg');background-position:center center;background-size:cover}
.fr-shell.fr-stacey .fr-hero{background-image:linear-gradient(90deg,rgba(148,34,90,.89) 0%,rgba(169,53,101,.66) 48%,rgba(228,147,183,.05) 100%),url('hero-stacey.jpg');background-position:center center;background-size:cover}

/* FieldReady v1.4.1: physical PIN pad only, no focused mobile text field. */
#fr-pin-input { display:none!important; }
.fr-pin-dots { display:flex;align-items:center;justify-content:center;gap:10px;min-height:62px;width:100%;margin-top:5px;padding:12px 14px;border-radius:13px;background:#f8fff9;border:2px solid #90b4a0; }
.fr-pin-dots span { display:block;width:21px;height:21px;flex:none;border:2px solid #a9bdaf;border-radius:50%;background:transparent;transition:background .12s ease,border-color .12s ease,transform .12s ease; }
.fr-pin-dots span.fr-pin-filled { background:#234f3c;border-color:#234f3c;transform:scale(1.07); }
.fr-pin-submit:disabled { opacity:.48;cursor:not-allowed;filter:grayscale(.25); }
.fr-pin-pad button:focus-visible { outline:3px solid #c6f5a6;outline-offset:2px; }
.fr-pin-pink .fr-pin-dots { background:#fff;border-color:#e7c7d3; }
.fr-pin-pink .fr-pin-dots span { border-color:#e3b4c9; }
.fr-pin-pink .fr-pin-dots span.fr-pin-filled { background:#c53275;border-color:#c53275; }
.fr-pin-pink .fr-pin-pad button:focus-visible { outline-color:#bf246b; }
@media(max-width:390px) { .fr-pin-dots { gap:8px; } .fr-pin-dots span { width:19px;height:19px; } }

/* PIN-screen text contrast and pink app styling. */
.fr-pin-pink .fr-pin-card p { color:#8c3e61; }
.fr-pin-pink .fr-pin-kicker { color:#a83972; }


/* v1.4.3 — Stacey's daily prescription and saved tick-off exercise list */
.fr-shell.fr-stacey .fr-exercise-checklist{border:1px solid #f2c4d7;background:#fff7fa;border-radius:15px;padding:14px;margin:14px 0}
.fr-shell.fr-stacey .fr-exercise-head{display:flex;gap:10px;justify-content:space-between;align-items:center;padding-bottom:8px}
.fr-shell.fr-stacey .fr-exercise-head strong{font-size:.87rem;color:#7f2850}
.fr-shell.fr-stacey .fr-exercise-head span{white-space:nowrap;font-size:.74rem;color:#b03972;font-weight:750}
.fr-shell.fr-stacey .fr-exercise-row{min-height:71px;justify-content:initial;gap:10px;border-top:1px solid #f1d5e0;padding:11px 0}
.fr-shell.fr-stacey .fr-exercise-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.fr-shell.fr-stacey .fr-exercise-text strong{font-size:.86rem;color:#5c2340;font-weight:750}
.fr-shell.fr-stacey .fr-exercise-text small{font-size:.78rem;line-height:1.4;color:#855b6f}
.fr-shell.fr-stacey .fr-exercise-row.fr-exercise-checked .fr-exercise-text strong{text-decoration:line-through;opacity:.62}
.fr-shell.fr-stacey .fr-check-btn{width:34px;height:34px;border:2px solid #d37a9d;background:#fff;border-radius:10px;color:#fff;flex:0 0 34px;display:grid;place-items:center;font-size:1.2rem;font-weight:800;cursor:pointer;touch-action:manipulation}
.fr-shell.fr-stacey .fr-check-btn[aria-checked=true]{background:#bb306a;border-color:#bb306a}
.fr-shell.fr-stacey .fr-check-btn:focus-visible,.fr-shell.fr-stacey .fr-info-btn:focus-visible{outline:3px solid #8e1346;outline-offset:3px}
.fr-shell.fr-stacey .fr-check-placeholder{display:none}
.fr-shell.fr-stacey .fr-exercise-row .fr-info-btn{flex:0 0 34px;width:34px;height:34px;font-size:1rem;margin:0}
.fr-shell.fr-stacey .fr-checklist-hint{display:block;margin-top:8px;color:#9d607e;font-size:.75rem}
.fr-exercise-dose{border-radius:13px;background:#ffecf3;border:1px solid #f4bad0;padding:14px 16px;margin:13px 0}
.fr-exercise-dose span{display:block;color:#ab426f;font-size:.68rem;font-weight:800;letter-spacing:.13em;margin-bottom:5px}
.fr-exercise-dose strong{display:block;color:#7e1745;font-size:1.03rem;line-height:1.5}
.fr-exercise-dose small{display:block;margin-top:6px;font-size:.77rem;color:#9b5e77}
.fr-shell.fr-stacey .fr-stacey-log-chooser{display:grid;gap:10px;margin:12px 0 20px}
.fr-shell.fr-stacey .fr-log-choice{display:flex;width:100%;min-height:76px;text-align:left;align-items:center;gap:12px;padding:12px 14px;border:1px solid #f2c8d8;border-radius:15px;background:#fff;color:#672542;cursor:pointer}
.fr-shell.fr-stacey .fr-log-choice:focus-visible{outline:3px solid #c83c78}
.fr-shell.fr-stacey .fr-log-choice-day{display:grid;place-items:center;border-radius:11px;min-width:44px;height:44px;background:#ffe7f0;color:#9d3261;font-weight:850}
.fr-shell.fr-stacey .fr-log-choice-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.fr-shell.fr-stacey .fr-log-choice-main strong{font-size:.87rem;color:#652340}
.fr-shell.fr-stacey .fr-log-choice-main small{color:#976a7e;font-size:.76rem}
.fr-shell.fr-stacey .fr-log-choice-end{font-size:.9rem;font-weight:750;color:#b02d65}
.fr-shell.fr-stacey .fr-easy-log{display:flex;flex-direction:column;gap:11px;max-width:790px;margin-top:14px}
.fr-shell.fr-stacey .fr-easy-log h2{font-size:1.15rem;color:#72284c}
.fr-shell.fr-stacey .fr-easy-log>p{margin:0;font-size:.82rem;color:#92657d}
.fr-shell.fr-stacey .fr-quick-save-status{font-size:.82rem;line-height:1.4;color:#a1426a;background:#ffeff5;border-radius:11px;padding:11px 13px}
.fr-shell.fr-stacey .fr-quick-save-status.ready{background:#edf9ef;color:#237040}
.fr-shell.fr-stacey .fr-easy-save{width:100%;min-height:50px}
.fr-shell.fr-stacey .fr-easy-save:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:520px){
 .fr-shell.fr-stacey .fr-exercise-checklist{padding:11px;margin-left:0;margin-right:0}
 .fr-shell.fr-stacey .fr-exercise-text small{font-size:.75rem}
 .fr-shell.fr-stacey .fr-log-choice{padding:10px}
}

/* FieldReady 1.5.0 — outdoor distance logger and 20m MSFT practice, green profile only. */
.fr-live-launches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:15px 0 20px}
.fr-live-launches .fr-btn{min-height:49px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px}
.fr-live-start{background:linear-gradient(120deg,#117345,#0d4a37)}
.fr-live-dashboard{background:linear-gradient(145deg,#0d362d,#122d24 80%);border:1px solid #36735a;border-radius:22px;padding:28px 18px 24px;margin:18px 0;color:#fff;text-align:center;box-shadow:0 12px 28px rgba(2,41,27,.15)}
.fr-tracker-status{display:block;margin-bottom:18px;color:#d3ffc2;font-size:.73rem;letter-spacing:.15em;font-weight:800}
.fr-live-dashboard>strong{display:block;font-size:clamp(2.5rem,10vw,4.7rem);line-height:1.12;font-variant-numeric:tabular-nums;letter-spacing:-.045em;color:#fff;margin-bottom:4px}
.fr-live-dashboard>span:not(.fr-tracker-status){display:block;font-size:.85rem;color:#c0d8cb}
.fr-tracker-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0 10px}
.fr-tracker-numbers>div{min-height:88px;border-radius:14px;background:rgba(255,255,255,.1);padding:15px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.fr-tracker-numbers strong{color:#e3ffb3;font-size:clamp(1.25rem,5vw,1.9rem);font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.fr-tracker-numbers span{font-size:.74rem;color:#c8d9cc}
.fr-live-dashboard>p{margin:18px 0 0;font-size:.79rem;color:#d6edda}
.fr-live-controls,.fr-score-buttons{display:flex;gap:11px;flex-wrap:wrap;margin:16px 0 21px}
.fr-live-controls .fr-btn,.fr-score-buttons .fr-btn{flex:1 1 170px;min-height:50px}
.fr-track-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.fr-track-types>.fr-btn{padding:15px 9px;min-height:54px}
.fr-track-intro{padding:22px}
.fr-stop-bleep{width:100%;background:#ab3444;border-color:#ab3444;color:#fff;min-height:65px;font-size:1.02rem;margin:14px 0}
.fr-bleep-review{display:flex;flex-direction:column;gap:12px}
.fr-bleep-review h2{font-size:1.3rem}
.fr-bleep-review .fr-btn{min-height:48px}
.fr-bleep-review .fr-form{display:flex;flex-direction:column;gap:12px}
.fr-bleep-intro{padding:22px}
@media (max-width:450px){.fr-live-launches{grid-template-columns:1fr}.fr-tracker-numbers{gap:8px}.fr-track-types{gap:8px}.fr-live-dashboard{padding:24px 13px}}
