/* SLPT R25 - approved UI foundation */

/* Authentication hardening: unauthenticated/loading states cannot reveal the workspace. */
#appView.hidden,
body[data-slpt-auth="loading"] #appView,
body[data-slpt-auth="login"] #appView{display:none!important;visibility:hidden!important;pointer-events:none!important}
body[data-slpt-auth="app"] #loginView{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Dashboard - same width, ~10% lower visual height, subtle tints. */
.r25-stats{align-items:stretch}
.r25-stats .r25-stat{min-height:72px!important;height:72px;padding:9px 12px!important;background:var(--r25-stat-tint,#fff)!important;border:1px solid rgba(31,41,55,.065)!important;box-shadow:0 8px 24px rgba(27,34,44,.045)!important;display:flex;align-items:center;gap:10px}
.r25-stat-icon{width:34px;height:34px;min-width:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.r25-stat-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;color:#7d3340}
.r25-stat-copy{display:flex;flex-direction:column;min-width:0}.r25-stat-copy strong{font-size:1.14rem;line-height:1.05;letter-spacing:-.025em}.r25-stat-copy span{font-size:.7rem;color:var(--muted,#6f7580);margin-top:3px}
.r25-quick-access{margin-top:10px;margin-bottom:10px}.r25-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.r25-quick-card{min-height:76px}.r25-dashboard-lower{margin-top:0}

/* Settings - keep existing settings logic but make the UI compact/collapsible. */
.r25-settings-section{margin-top:10px;border:1px solid rgba(31,41,55,.08);border-radius:17px;background:rgba(255,255,255,.78);overflow:hidden;box-shadow:0 8px 24px rgba(27,34,44,.035)}
.r25-settings-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer;font-size:.82rem;font-weight:760}.r25-settings-section>summary::-webkit-details-marker{display:none}.r25-settings-section[open]>summary{border-bottom:1px solid rgba(31,41,55,.065)}
.r25-settings-section>.panel{margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:rgba(255,255,255,.72)!important}.r25-chevron{transition:transform .18s ease}.r25-settings-section[open] .r25-chevron{transform:rotate(180deg)}
.r25-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.r25-order-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.r25-order-list{display:grid;gap:6px}.r25-order-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid rgba(31,41,55,.07);border-radius:11px;background:rgba(249,250,252,.82);font-size:.74rem;font-weight:650}.r25-order-buttons{display:flex;gap:4px}.r25-order-buttons button{min-width:31px}.r25-settings-actions{margin-top:12px;display:flex;justify-content:flex-end}

/* Client Profile - Design 1 */
.r25-profile-tabs{margin-bottom:10px}.r25-profile-panel{padding:14px!important}.r25-profile-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.r25-profile-summary{padding:11px 12px;border-radius:14px;background:rgba(250,251,253,.86);border:1px solid rgba(31,41,55,.065);min-width:0}.r25-profile-summary small,.r25-profile-summary b{display:block}.r25-profile-summary small{font-size:.64rem;color:var(--muted,#727985);margin-bottom:3px}.r25-profile-summary b{font-size:.79rem;overflow-wrap:anywhere}.r25-profile-toolbar{display:flex;justify-content:flex-end;margin:10px 0}.r25-inline-editor{padding:12px;border:1px solid rgba(142,41,52,.12);border-radius:15px;background:rgba(142,41,52,.025);margin-bottom:10px}.r25-inline-editor[hidden]{display:none!important}
.r25-profile-disclosure,.r25-access-section{border:1px solid rgba(31,41,55,.07);border-radius:14px;background:#fff;margin:7px 0;overflow:hidden}.r25-profile-disclosure summary,.r25-access-section summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:11px 12px;cursor:pointer;font-size:.76rem;font-weight:760}.r25-profile-disclosure summary::-webkit-details-marker,.r25-access-section summary::-webkit-details-marker{display:none}.r25-profile-disclosure>div,.r25-access-section>form,.r25-access-section>p,.r25-access-section>button{margin:0 12px 12px}.r25-profile-disclosure>div{padding-top:2px;color:var(--muted,#727985);font-size:.74rem}
.r25-consult-head{margin-bottom:10px}.r25-consult-head h2{font-size:1.3rem;margin:7px 0 3px}.r25-consult-block{padding:11px 12px;border:1px solid rgba(31,41,55,.07);border-radius:14px;background:#fff;margin:7px 0}.r25-consult-block.required{background:rgba(142,41,52,.025);border-color:rgba(142,41,52,.1)}.r25-consult-block.coach-only{background:rgba(215,139,66,.045);border-color:rgba(215,139,66,.16)}.r25-consult-toggle{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;color:inherit!important}.r25-consult-toggle input{width:auto!important;margin-top:2px}.r25-consult-toggle b,.r25-consult-toggle small{display:block}.r25-consult-toggle b{font-size:.76rem}.r25-consult-toggle small{font-size:.64rem;color:var(--muted,#727985);font-weight:500;margin-top:2px}.r25-consult-fields{margin-top:10px;padding-top:10px;border-top:1px solid rgba(31,41,55,.065);display:grid;gap:9px}.r25-consult-fields[hidden]{display:none!important}.r25-coach-only-label,.r25-legacy-note{font-size:.65rem;border-radius:9px;padding:7px 9px}.r25-coach-only-label{background:rgba(215,139,66,.09);color:#8a5d27}.r25-legacy-note{background:rgba(71,123,211,.07);color:#4a6494}.r25-consult-save{position:sticky;bottom:8px;display:flex;justify-content:flex-end;gap:7px;padding:8px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border:1px solid rgba(31,41,55,.07);border-radius:13px;box-shadow:0 10px 28px rgba(27,34,44,.08);margin-top:10px;z-index:2}
.r25-journey-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:11px 0}.r25-journey-progress>div{padding:9px 6px;text-align:center;border:1px solid rgba(31,41,55,.07);border-radius:11px;background:#fafbfd;color:#777e89;font-size:.65rem;font-weight:700}.r25-journey-progress>div.active{background:rgba(142,41,52,.08);border-color:rgba(142,41,52,.18);color:#8e2934}.r25-journey-current{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:rgba(119,91,177,.045);border:1px solid rgba(119,91,177,.12)}.r25-journey-current small{color:var(--muted,#727985)}.r25-journey-current h3{margin:2px 0 0}.r25-journey-history{margin-top:14px}.r25-access-stack{display:grid;gap:7px}.r25-account-status{font-size:.7rem;margin-top:9px;color:var(--muted,#727985)}.r25-account-status.success{padding:8px;border-radius:10px;background:rgba(47,146,107,.07);color:#247452}

/* Nutrition - Design 3 */
.r25-nutrition-tabs{margin-bottom:12px}.r25-ring-set{display:flex;align-items:center;justify-content:center;gap:0;min-height:206px;padding:10px 0;flex-wrap:wrap}.r25-nutrition-ring{--r25-ring:0%;--ring-color:#8e2934;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;position:relative;margin:-7px;background:conic-gradient(var(--ring-color) 0 var(--r25-ring),rgba(225,229,235,.72) var(--r25-ring) 100%);box-shadow:0 8px 22px rgba(28,34,43,.035)}.r25-nutrition-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:inset 0 0 0 1px rgba(31,41,55,.035)}.r25-nutrition-ring>span{position:relative;z-index:1;text-align:center}.r25-nutrition-ring b,.r25-nutrition-ring em{display:block}.r25-nutrition-ring b{font-size:1.05rem;letter-spacing:-.025em}.r25-nutrition-ring b small{display:inline!important;font-size:.58rem!important;margin-left:2px!important;color:var(--muted,#727985);font-weight:750}.r25-nutrition-ring em{font-style:normal;font-size:.58rem;color:var(--muted,#727985);margin-top:2px}.r25-nutrition-ring.protein{--ring-color:#2f926b}.r25-nutrition-ring.carbs{--ring-color:#4e7dcc}.r25-nutrition-ring.fat{--ring-color:#cf914d}.r25-ring-note{display:block;text-align:center;color:var(--muted,#727985);font-size:.62rem;margin:-2px 0 12px}.r25-meal-grid{display:grid;gap:7px}.r25-meal-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;text-align:left;padding:10px;border:1px solid rgba(31,41,55,.07);border-radius:13px;background:#fff;color:inherit}.r25-meal-card:hover{background:rgba(142,41,52,.025);border-color:rgba(142,41,52,.12)}.r25-meal-card b,.r25-meal-card small{display:block}.r25-meal-card b{font-size:.73rem}.r25-meal-card small{font-size:.62rem;color:var(--muted,#727985);margin-top:2px}.r25-meal-card em{font-style:normal;font-size:.65rem;color:#8e2934;font-weight:800}

/* Glass Pillars - approved app-wide bar language. Direction and meaning stay separate. */
.r25-glass-pillars{height:220px;display:flex;align-items:stretch;gap:8px;padding:22px 4px 8px}.r25-pillar-slot{flex:1;min-width:0;display:grid;grid-template-rows:18px 1fr 24px;text-align:center}.r25-pillar-value{font-size:.62rem;font-weight:800;color:#5f6570}.r25-pillar-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:10px;background:linear-gradient(180deg,rgba(239,242,246,.62),rgba(245,247,249,.28));position:relative;overflow:hidden}.r25-glass-pillar{width:72%;min-height:7px;border-radius:9px 9px 4px 4px;background:linear-gradient(180deg,rgba(78,125,204,.88),rgba(119,91,177,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 5px 14px rgba(78,125,204,.10);position:relative}.r25-glass-pillar:before{content:"";position:absolute;left:5px;right:5px;top:5px;height:3px;border-radius:999px;background:rgba(255,255,255,.42)}.r25-glass-pillar.dir-down{background:linear-gradient(180deg,rgba(184,88,101,.88),rgba(214,142,153,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 5px 14px rgba(184,88,101,.10)}.r25-glass-pillar.dir-neutral{background:linear-gradient(180deg,rgba(145,153,165,.8),rgba(190,196,204,.76))}.r25-glass-pillar.meaning-positive.dir-down{outline:1px solid rgba(47,146,107,.20)}.r25-pillar-label{font-size:.58rem;color:var(--muted,#727985);padding-top:5px;overflow:hidden;text-overflow:ellipsis}

/* Mobile: prevent iOS/Safari focus zoom on form controls. */
@media (max-width: 900px){
  input,select,textarea{font-size:16px!important}
  .r25-profile-summary-grid{grid-template-columns:1fr 1fr}.r25-order-grid{grid-template-columns:1fr}.r25-journey-progress{grid-template-columns:1fr 1fr}.r25-stats{grid-template-columns:1fr 1fr!important}.r25-quick-grid{grid-template-columns:1fr 1fr!important}
}
@media (max-width: 560px){.r25-profile-summary-grid{grid-template-columns:1fr}.r25-nutrition-ring{width:102px;height:102px}.r25-ring-set{min-height:280px}.r25-journey-current{align-items:flex-start;flex-direction:column}}

/* R25R19 - nutrition quantity usability and grouped meal ideas */
.r25-nutrition-auto-note{margin:2px 0 10px;padding:9px 11px;border-radius:10px;background:rgba(47,146,107,.06);color:var(--muted,#727985);font-size:.66rem;line-height:1.45}.r25-meal-groups{display:grid;gap:9px}.r25-meal-group{border:1px solid rgba(31,41,55,.08);border-radius:14px;background:rgba(255,255,255,.68);overflow:hidden}.r25-meal-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;cursor:pointer;font-size:.76rem;font-weight:800;color:var(--text,#1f2937)}.r25-meal-group>summary::-webkit-details-marker{display:none}.r25-meal-group>summary:after{content:"⌄";font-size:.9rem;color:var(--muted,#727985);transition:transform .18s ease}.r25-meal-group[open]>summary:after{transform:rotate(180deg)}.r25-meal-group>summary small{margin-left:auto;font-size:.61rem;font-weight:650;color:var(--muted,#727985)}.r25-meal-group>.r25-meal-grid{padding:0 9px 9px}.r25-meal-group .r25-meal-card{background:rgba(255,255,255,.94)}
