@font-face {
  font-family:"Vazirmatn";
  src:url("/assets/fonts/vazirmatn-regular.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:block
}
@font-face {
  font-family:"Vazirmatn";
  src:url("/assets/fonts/vazirmatn-medium.ttf") format("truetype");
  font-style:normal;
  font-weight:500;
  font-display:block
}
@font-face {
  font-family:"Vazirmatn";
  src:url("/assets/fonts/vazirmatn-semibold.ttf") format("truetype");
  font-style:normal;
  font-weight:600;
  font-display:block
}
@font-face {
  font-family:"Vazirmatn";
  src:url("/assets/fonts/vazirmatn-bold.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:block
}
@font-face {
  font-family:"Vazirmatn";
  src:url("/assets/fonts/vazirmatn-extrabold.ttf") format("truetype");
  font-style:normal;
  font-weight:800 900;
  font-display:block
}
:root {
  --bg:#faf8f6;
  --surface:#fff;
  --ink:#493747;
  --title:#493046;
  --plum:#704a60;
  --plum-dark:#59374c;
  --rose:#ce7891;
  --rose-dark:#ba6681;
  --rose-pale:#fff0f1;
  --lilac:#eee6f3;
  --muted:#8d7f89;
  --border:#eee7e8;
  --sage:#dfece4;
  --shadow:0 10px 40px rgba(107,76,93,.055);
  --radius:24px;
  --font:"Vazirmatn","Noto Sans Arabic","Noto Kufi Arabic",Tahoma,sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  overscroll-behavior-y:none
}
body {
  margin:0;
  min-width:320px;
  overflow-x:hidden;
  background:var(--bg);
  font-family:var(--font);
  font-size:14px;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  word-break:break-word;
  text-rendering:optimizeLegibility
}
button,input,textarea {
  font:inherit
}
button,a,input,textarea,select {
  overflow-wrap:anywhere
}
button {
  cursor:pointer;
  touch-action:manipulation
}
button:disabled {
  cursor:not-allowed;
  opacity:.55
}
a {
  color:inherit;
  text-decoration:none
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid var(--theme-focus,#d8a2b5);
  outline-offset:3px
}
p,h1,h2,h3,h4 {
  margin-top:0
}
svg {
  flex-shrink:0
}
::selection {
  background:var(--theme-tint,#f3bfca);
  color:var(--theme-title,#523247)
}
.ic {
  display:inline-block;
  vertical-align:middle
}
strong {
  font-weight:750
}
.legal-page {
  width:min(760px,calc(100% - 40px));
  margin:0 auto;
  padding:48px 0 80px;
  line-height:2.1
}
.legal-page h1 {margin-top:42px;color:var(--title)}
.legal-page h2 {margin-top:30px;color:var(--plum);font-size:18px}
.legal-page p {color:var(--theme-text,#746570)}
.check-row {display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--ink)}
.check-row input {width:20px;height:20px;accent-color:var(--plum)}
.auth-forgot {display:block;margin:16px auto 0}
.auth-switch-three button {flex:1;padding-inline:8px}
.otp-input {font-size:24px;letter-spacing:10px;text-align:center;font-weight:800}
.container {
  width:min(1200px,calc(100% - 90px));
  margin-inline:auto
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  background:transparent;
  border:1px solid transparent;
  padding:14px 22px;
  border-radius:15px;
  font-size:13px;
  font-weight:750;
  white-space:normal;
  transition:transform .2s,background .2s,box-shadow .2s
}
.btn:not(:disabled):hover {
  transform:translateY(-2px)
}
.btn-primary {
  color:#fff;
  background:var(--plum);
  box-shadow:0 8px 20px rgba(111,74,96,.16)
}
.btn-primary:hover {
  background:var(--theme-primary,#5f3c50);
  box-shadow:0 11px 24px rgba(111,74,96,.2)
}
.btn-outline {
  border-color:var(--theme-line,#e8dfe4);
  color:var(--plum);
  background:var(--theme-surface,#fff)
}
.btn-outline:hover {
  background:var(--theme-canvas,#fbf5f7)
}
.btn-soft {
  background:var(--theme-subtle,#f9eff2);
  color:var(--theme-text,#88576f)
}
.btn-soft:hover {
  background:var(--theme-subtle,#f5e6ec)
}
.btn-white {
  color:var(--theme-text,#84546b);
  background:var(--theme-surface,#fff)
}
.btn-danger {
  color:#fff;
  background:#bd627c
}
.btn-small {
  padding:10px 14px;
  font-size:12px;
  border-radius:11px
}
.btn-sm {
  padding:11px 19px
}
.btn-large {
  padding:17px 25px;
  min-height:54px
}
.wide-btn {
  width:100%
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:22px;
  font-weight:900;
  color:var(--plum);
  white-space:nowrap
}
.brand-mark-img {
  display:block;
  width:48px;
  height:48px;
  object-fit:contain;
  flex-shrink:0
}
.brand-mark-img--small {
  width:34px;
  height:34px
}
.brand-symbol-only {
  line-height:0
}
.app-logo {
  display:inline-flex;
  align-items:center;
  width:178px;
  height:62px;
  direction:ltr
}
.app-lockup-img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain
}
.app-logo-mark {
  display:none;
  width:46px;
  height:46px;
  object-fit:contain
}
.app-logo--compact {
  width:116px;
  height:42px
}
.brand-word {
  display:flex;
  flex-direction:column;
  gap:0;
  line-height:1.3
}
.brand-en {
  font-size:9px;
  letter-spacing:3.6px;
  font-weight:800;
  color:var(--theme-muted,#b2a1ac);
  direction:ltr
}
.logo-mark {
  width:43px;
  height:43px;
  position:relative;
  display:inline-block;
  flex-shrink:0;
  background:var(--theme-primary,#784e64);
  border-radius:14px
}
.logo-mark .petal {
  width:10px;
  height:17px;
  position:absolute;
  background:var(--theme-tint,#f7cbd7);
  border-radius:50%
}
.p1 {
  left:16.5px;
  top:5px
}
.p2 {
  left:16.5px;
  bottom:5px
}
.p3 {
  top:13px;
  left:8px;
  transform:rotate(90deg)
}
.p4 {
  top:13px;
  right:8px;
  transform:rotate(90deg)
}
.logo-mark .flower-center {
  position:absolute;
  width:9px;
  height:9px;
  top:17px;
  left:17px;
  border-radius:50%;
  background:var(--theme-accent,#d9889d)
}
.logo-small {
  width:28px;
  height:28px;
  border-radius:9px;
  transform-origin:center
}
.logo-small .petal {
  width:6.5px;
  height:11px
}
.logo-small .p1 {
  left:10.5px;
  top:3px
}
.logo-small .p2 {
  left:10.5px;
  bottom:3px
}
.logo-small .p3 {
  top:8.3px;
  left:5px
}
.logo-small .p4 {
  top:8.3px;
  right:5px
}
.logo-small .flower-center {
  width:6px;
  height:6px;
  top:11px;
  left:11px
}
.boot-screen {
  position:fixed;
  inset:0;
  z-index:1000;
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:max(28px,env(safe-area-inset-top)) 24px max(25px,env(safe-area-inset-bottom));
  background:linear-gradient(155deg,var(--theme-surface,#fffaf8) 0%,var(--theme-subtle,#f9edef) 52%,var(--theme-subtle,#f2e8ec) 100%);
  color:var(--plum);
  opacity:1;
  transition:opacity .42s ease,transform .42s ease
}
.boot-screen.is-leaving {
  opacity:0;
  transform:scale(1.018);
  pointer-events:none
}
.boot-glow {
  position:absolute;
  border-radius:50%;
  pointer-events:none
}
.boot-glow-one {
  width:min(72vw,650px);
  aspect-ratio:1;
  top:-38%;
  right:-18%;
  border:1px solid rgba(203,139,157,.28);
  box-shadow:0 0 0 60px rgba(255,255,255,.18),0 0 0 125px rgba(255,255,255,.11)
}
.boot-glow-two {
  width:min(66vw,560px);
  aspect-ratio:1;
  left:-27%;
  bottom:-36%;
  background:rgba(220,231,220,.48)
}
.boot-brand {
  position:relative;
  z-index:2;
  margin-bottom:14px;
  animation:bootFadeUp .75s .05s both ease-out
}
.boot-brand img {
  display:block;
  width:146px;
  height:auto
}
.boot-portrait {
  position:relative;
  z-index:1;
  height:clamp(255px,45vh,420px);
  width:min(430px,86vw);
  display:grid;
  place-items:center;
  animation:bootFadeUp .85s .14s both ease-out
}
.boot-portrait:before,.boot-portrait:after {
  content:"";
  position:absolute;
  width:78px;
  height:150px;
  border:1px solid rgba(119,143,123,.28);
  border-radius:80% 0 80% 0;
  transform:rotate(24deg)
}
.boot-portrait:before {
  right:2%;
  top:18%
}
.boot-portrait:after {
  left:5%;
  bottom:9%;
  transform:rotate(-32deg) scale(.72);
  border-color:rgba(197,126,148,.25)
}
.boot-portrait img {
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
  filter:saturate(.86) drop-shadow(0 23px 32px rgba(84,55,70,.11))
}
.boot-orbit {
  position:absolute;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(198,132,151,.18);
  box-shadow:0 0 0 32px rgba(255,255,255,.2);
  z-index:-1
}
.boot-copy {
  position:relative;
  z-index:2;
  text-align:center;
  margin-top:-7px;
  animation:bootFadeUp .75s .26s both ease-out
}
.boot-copy>span {
  color:var(--theme-muted,#a37589);
  font-size:10px;
  font-weight:750
}
.boot-copy h1 {
  margin:7px 0 3px;
  color:var(--theme-title,#523849);
  font-size:clamp(27px,5vw,35px);
  line-height:1.55;
  letter-spacing:-.7px
}
.boot-copy p {
  margin:0;
  color:var(--theme-text,#8f7b86);
  font-size:11px
}
.boot-progress {
  position:relative;
  z-index:2;
  width:min(230px,62vw);
  height:3px;
  margin-top:24px;
  border-radius:99px;
  overflow:hidden;
  background:rgba(116,78,98,.12)
}
.boot-progress i {
  display:block;
  height:100%;
  width:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--theme-accent,#d79aae),var(--theme-primary,#79566a));
  transform-origin:right;
  animation:bootProgress 2.25s both cubic-bezier(.2,.7,.25,1)
}
.boot-loading {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:24px;
  margin-top:9px;
  color:var(--theme-muted,#a3919a)
}
.boot-loading span {
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--theme-primary,#aa7a8f);
  animation:bootDot 1.2s infinite ease-in-out
}
.boot-loading span:nth-child(2) {animation-delay:.14s}
.boot-loading span:nth-child(3) {animation-delay:.28s}
.boot-loading small {
  font-size:8.5px;
  margin-right:5px
}
@keyframes bootFadeUp {
  from {opacity:0;transform:translateY(13px)}
  to {opacity:1;transform:translateY(0)}
}
@keyframes bootProgress {
  from {transform:scaleX(0)}
  to {transform:scaleX(1)}
}
@keyframes bootDot {
  0%,60%,100% {opacity:.32;transform:translateY(0)}
  30% {opacity:1;transform:translateY(-2px)}
}
/* Public marketing website */
.landing-page {
  overflow:hidden
}
.landing-header {
  height:102px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:2
}
.landing-links {
  display:flex;
  align-items:center;
  gap:39px;
  font-size:13px;
  color:var(--theme-text,#736572);
  font-weight:650
}
.landing-links a:hover {
  color:var(--rose-dark)
}
.landing-login {
  background:transparent;
  border:1px solid var(--theme-line,#e9dce1);
  border-radius:14px;
  display:flex;
  gap:10px;
  color:var(--theme-text,#775268);
  font-size:12px
}

.account-gate,.onboarding-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at 20% 10%,var(--theme-subtle,#f5e6ef) 0,transparent 35%),var(--theme-canvas,#faf8f6)}.account-gate-card,.onboarding-card{width:min(100%,620px);background:var(--theme-surface,#fff);border:1px solid rgba(83,43,72,.1);border-radius:30px;padding:34px;box-shadow:0 24px 70px rgba(71,39,63,.12)}.account-gate-card{width:min(100%,460px);text-align:center}.account-gate-card form{text-align:right;margin-top:24px}.account-gate-card .brand,.onboarding-card>.brand{display:inline-flex;margin-bottom:24px}.gate-symbol{width:58px;height:58px;border-radius:20px;background:var(--theme-subtle,#f4e6ee);color:var(--theme-title,#70425f);display:grid;place-items:center;margin:0 auto 18px}.account-gate h1,.onboarding-content h1{font-size:clamp(1.65rem,4vw,2.35rem);margin:8px 0 10px;color:var(--theme-title,#4d3043)}.account-gate p,.onboarding-content>p{color:var(--theme-text,#786a73);line-height:1.9}.onboarding-progress{margin-bottom:30px}.onboarding-progress>div{display:flex;justify-content:space-between;color:var(--theme-title,#68455c);font-size:.9rem}.onboarding-progress progress{display:block;width:100%;height:9px;margin:10px 0;border:0;border-radius:20px;overflow:hidden}.onboarding-progress progress::-webkit-progress-bar{background:var(--theme-subtle,#f1e9ee)}.onboarding-progress progress::-webkit-progress-value{background:var(--theme-primary,#8b5878);border-radius:20px}.onboarding-progress progress::-moz-progress-bar{background:var(--theme-primary,#8b5878)}.onboarding-progress small{color:var(--theme-muted,#96878f)}.jalali-selects{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:10px;margin-bottom:22px}.onboarding-selected-date{display:flex;align-items:center;gap:8px;margin-top:16px;padding:11px 13px;border-radius:14px;background:var(--theme-canvas,#faf7f9);color:var(--theme-text,#8f7b88);font-size:12px}.onboarding-selected-date.has-value{background:var(--theme-subtle,#edf8f6);color:#357b77}.onboarding-calendar{border:1px solid var(--theme-line,#eadfe5);border-radius:22px;padding:18px;margin:14px 0 22px}.onboarding-calendar .day-cell.outside{opacity:.28}.onboarding-calendar .day-cell:disabled{opacity:.25;cursor:not-allowed}.onboarding-calendar .day-cell.selected{background:var(--theme-primary,#7e4c6c);color:#fff;box-shadow:0 5px 14px rgba(126,76,108,.3)}.onboarding-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.onboarding-number-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 24px}.onboarding-number-choices input,.onboarding-choice-list input{position:absolute;opacity:0}.onboarding-number-choices span,.onboarding-choice-list span{display:block;padding:12px;border:1px solid var(--theme-line,#e5d9e0);border-radius:14px;text-align:center;cursor:pointer}.onboarding-number-choices input:checked+span,.onboarding-choice-list input:checked+span{background:var(--theme-subtle,#f2e5ed);border-color:var(--theme-focus,#8b5878);color:var(--theme-title,#613b55);font-weight:700}.onboarding-choice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0 24px}.onboarding-privacy{display:flex;gap:7px;align-items:center;color:var(--theme-text,#8d7e87);font-size:.82rem;margin:28px 0 0}.account-gate .toast,.onboarding-shell .toast{position:static;transform:none;margin-top:18px}
.setting-row:has([data-action="change-password"]){display:none}
.health-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 16px}.health-profile-grid>div{padding:13px 14px;border-radius:14px;background:var(--theme-canvas,#faf7f9);border:1px solid var(--theme-line,#f0e7ec)}.health-profile-grid span{display:block;color:var(--theme-muted,#9a8793);font-size:10px;margin-bottom:5px}.health-profile-grid strong{color:var(--theme-title,#67485c);font-size:12px}.rose-icon{background:var(--theme-subtle,#f8e5eb)!important;color:var(--theme-text,#a85f78)!important}
@media(max-width:600px){.onboarding-shell{display:block;padding:0;background:var(--theme-surface,#fff)}.onboarding-card{width:100%;min-height:100vh;min-height:100dvh;border:0;border-radius:0;box-shadow:none;padding:18px 16px calc(18px + env(safe-area-inset-bottom));overflow-x:hidden}.account-gate-card{padding:24px 18px;border-radius:24px}.onboarding-card>.brand{margin-bottom:14px}.onboarding-card>.brand .app-logo{width:126px!important;height:44px!important}.onboarding-progress{margin-bottom:20px;padding:0 2px}.onboarding-progress progress{height:7px;margin:7px 0}.onboarding-progress>div{font-size:12px}.onboarding-progress small{font-size:10px}.onboarding-content h1{font-size:24px;line-height:1.45;margin:6px 0}.onboarding-content>p{font-size:12px;line-height:1.8;margin:0 0 14px}.onboarding-content .field-label{font-size:12px;margin-top:14px}.onboarding-content .text-input{min-height:50px;font-size:16px;border-radius:13px}.jalali-selects{grid-template-columns:minmax(64px,.72fr) minmax(104px,1.18fr) minmax(82px,.9fr);gap:7px;margin-bottom:18px}.jalali-selects .text-input{padding-inline:7px;font-size:14px}.onboarding-content form>.wide-btn{min-height:52px;margin-top:6px;font-size:13px}.onboarding-selected-date{margin-top:12px;padding:10px 12px;font-size:11px}.onboarding-calendar{padding:10px 8px;margin:10px 0 14px;border-radius:18px}.onboarding-calendar .month-toolbar{margin:2px 2px 10px}.onboarding-calendar .month-toolbar>strong{font-size:14px;color:var(--theme-title,#654a60)}.onboarding-calendar .month-controls button{width:42px;height:42px;border-radius:12px}.onboarding-calendar .weekdays{margin-bottom:5px}.onboarding-calendar .weekdays span{font-size:10px;padding:2px}.onboarding-calendar .days-grid{gap:2px}.onboarding-calendar .day-cell{min-height:38px;max-height:42px;border-radius:10px;font-size:12px}.onboarding-actions{position:sticky;bottom:0;z-index:4;margin:14px -16px -2px;padding:12px 16px calc(4px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,.9),var(--theme-surface,#fff) 24%);border-top:1px solid var(--theme-line,#f2eaee)}.onboarding-actions .btn{min-height:50px;flex:1;font-size:12px}.onboarding-number-choices{grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 18px}.onboarding-choice-list{grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0 18px}.onboarding-number-choices span,.onboarding-choice-list span{min-height:52px;display:grid;place-items:center;padding:8px 5px;font-size:11px;line-height:1.45}.onboarding-privacy{font-size:10px;line-height:1.7;margin:18px 0 0}.onboarding-shell .toast{margin:12px 0 0}.section-mini-label{font-size:10px}}
@media(max-width:600px){.health-profile-grid{grid-template-columns:1fr 1fr;gap:7px}.health-profile-grid>div{padding:11px}.health-profile-grid strong{font-size:11px}.modal-card #health-profile-form .jalali-selects{grid-template-columns:minmax(60px,.7fr) minmax(96px,1.2fr) minmax(76px,.9fr);gap:6px}.modal-card #health-profile-form .jalali-selects .text-input{padding-inline:6px;font-size:13px}}
.hero-section {
  min-height:660px;
  display:grid;
  grid-template-columns:50.5% 49.5%;
  align-items:center;
  gap:0;
  padding-bottom:30px
}
.hero-copy {
  position:relative;
  z-index:1;
  padding:12px 0 25px 20px
}
.eyebrow {
  color:var(--theme-muted,#ac697d);
  font-weight:700;
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  letter-spacing:.1px;
  background:var(--theme-canvas,#fff0f1);
  padding:9px 16px;
  border-radius:30px
}
.eyebrow-dot {
  width:8px;
  height:8px;
  background:var(--theme-accent,#d8899c);
  border-radius:50%;
  box-shadow:0 0 0 4px #f6d4dd
}
.hero-copy h1 {
  font-size:clamp(42px,4.15vw,65px);
  font-weight:900;
  line-height:1.72;
  letter-spacing:-2px;
  color:var(--theme-title,#4a3444);
  margin:27px 0 15px
}
.hero-copy h1 em {
  font-style:normal;
  color:var(--rose);
  position:relative
}
.hero-copy h1 em:after {
  content:"";
  position:absolute;
  bottom:4px;
  left:1px;
  right:3px;
  height:11px;
  background:var(--theme-subtle,#f5d7e0);
  z-index:-1;
  border-radius:50%
}
.hero-period {
  color:var(--theme-muted,#d88aa0)
}
.hero-subtitle {
  font-size:15px;
  line-height:2.45;
  color:var(--theme-text,#80737c);
  max-width:515px;
  margin-bottom:28px
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:26px
}
.link-text {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--theme-text,#755768);
  font-weight:720;
  font-size:12px
}
.link-text:hover {
  color:var(--theme-muted,#c07990)
}
.hero-trust {
  margin-top:49px;
  display:flex;
  align-items:center;
  gap:15px
}
.hero-trust p {
  font-size:11px;
  line-height:1.9;
  color:var(--theme-muted,#958993);
  margin:0
}
.hero-trust strong {
  color:var(--theme-title,#664759);
  font-size:12px
}
.trust-avatars {
  display:flex;
  flex-direction:row
}
.trust-avatars span {
  width:36px;
  height:36px;
  border:3px solid var(--bg);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:17px;
  background:var(--theme-subtle,#f2dce5);
  color:var(--theme-muted,#b86a86);
  margin-left:-9px
}
.trust-avatars span:nth-child(2) {
  background:var(--theme-tint,#e4eadf);
  color:#88967f
}
.trust-avatars span:nth-child(3) {
  background:var(--theme-subtle,#eadfed);
  color:var(--theme-muted,#997d9e)
}
.hero-visual {
  height:610px;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate
}
.visual-halo {
  position:absolute;
  border-radius:50%;
  z-index:-1
}
.visual-halo-one {
  width:545px;
  height:545px;
  background:var(--theme-subtle,#f9e9ec);
  left:0;
  top:10px
}
.visual-halo-two {
  width:390px;
  height:390px;
  border:1px solid var(--theme-line,#f1cfd8);
  left:68px;
  top:87px
}
.floating-bloom {
  position:absolute;
  color:var(--theme-decoration,#e9bfcf);
  width:220px;
  height:220px;
  left:12px;
  top:20px;
  opacity:.8;
  transform:rotate(19deg);
  z-index:-1
}
.floating-bloom svg {
  width:100%
}
.hero-woman {
  position:absolute;
  width:470px;
  height:auto;
  left:-108px;
  bottom:-4px;
  z-index:0;
  pointer-events:none;
  filter:drop-shadow(0 24px 32px rgba(73,52,63,.08));
  opacity:.94
}
.preview-phone {
  position:relative;
  width:326px;
  height:542px;
  padding:24px 22px 0;
  background:var(--theme-surface,#fff);
  border:8px solid var(--theme-line,#fff);
  border-radius:37px;
  box-shadow:0 36px 75px rgba(96,60,80,.17),0 0 0 1px #e5dce0;
  transform:translateX(70px) rotate(-5deg);
  z-index:1;
  overflow:hidden
}
.phone-top {
  display:flex;
  align-items:center;
  justify-content:space-between
}
.preview-brand {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:850;
  color:var(--theme-text,#6f4e62)
}
.preview-day {
  font-size:9px;
  color:var(--theme-muted,#a39aa0)
}
.phone-greeting {
  font-weight:800;
  font-size:13px;
  margin:22px 0 11px
}
.phone-greeting span {
  color:var(--theme-muted,#ce90a0)
}
.phone-cycle-card {
  background:linear-gradient(145deg,var(--theme-subtle,#fbe4e6),var(--theme-subtle,#f9f0ef));
  height:211px;
  border-radius:20px;
  position:relative;
  padding:14px
}
.phone-eyebrow {
  font-size:10px;
  color:var(--theme-text,#9b6177);
  font-weight:750
}
.cycle-ring {
  position:relative;
  border-radius:50%;
  background:conic-gradient(from -90deg,#cd849a 0%,#cd849a calc(var(--pct)*1%),#f5d1dc calc(var(--pct)*1%),#f5d1dc 100%);
  display:grid;
  place-items:center
}
.cycle-ring:before {
  content:"";
  position:absolute;
  inset:12px;
  border-radius:50%;
  background:var(--theme-canvas,#fff7f5)
}
.ring-interior {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.5
}
.ring-interior span {
  color:var(--theme-text,#977489);
  font-size:11px
}
.ring-interior strong {
  font-size:50px;
  color:var(--theme-title,#6a4559);
  line-height:1.15;
  font-weight:900
}
.ring-interior small {
  font-size:10px;
  color:var(--theme-muted,#9c8792)
}
.phone-ring {
  height:151px;
  width:151px;
  margin:5px auto
}
.phone-ring:before {
  inset:10px;
  background:var(--theme-surface,#fff9f8)
}
.phone-ring .ring-interior strong {
  font-size:36px
}
.phone-cycle-hint {
  position:absolute;
  bottom:9px;
  right:14px;
  font-size:8px;
  color:var(--theme-muted,#a17a89);
  line-height:1.8
}
.phone-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:17px 13px;
  margin-top:12px;
  background:var(--theme-subtle,#f5f1f5);
  border-radius:15px
}
.phone-row>div {
  display:flex;
  flex-direction:column;
  gap:5px
}
.phone-row span {
  color:var(--theme-muted,#a696a3);
  font-size:10px
}
.phone-row strong {
  color:var(--theme-title,#67465c);
  font-size:12px
}
.phone-round {
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--theme-tint,#e9deed);
  color:var(--theme-text,#9a749b)!important
}
.phone-question {
  font-weight:750;
  margin-top:23px;
  font-size:12px
}
.phone-moods {
  display:flex;
  justify-content:space-between;
  margin-top:10px
}
.phone-moods span {
  width:41px;
  height:41px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--theme-canvas,#f9f5f6);
  color:var(--theme-muted,#9f8796);
  font-size:21px
}
.phone-moods .selected {
  background:var(--theme-subtle,#f4d8e1);
  color:var(--theme-muted,#c77791)
}
.phone-bottom {
  display:flex;
  justify-content:space-around;
  align-items:center;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:51px;
  border-top:1px solid var(--theme-line,#f1eced);
  color:var(--theme-muted,#b6a6ad);
  background:var(--theme-surface,#fff)
}
.phone-bottom>span:first-child {
  color:var(--theme-muted,#c67891)
}
.phone-bottom-plus {
  width:29px;
  height:29px;
  border-radius:10px;
  background:var(--plum);
  display:grid;
  place-items:center;
  color:#fff
}
.floating-card {
  position:absolute;
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 36px rgba(121,83,106,.09);
  display:flex;
  align-items:center;
  gap:11px;
  z-index:2;
  border:1px solid var(--theme-line,#f5ecef);
  backdrop-filter:blur(8px)
}
.floating-card-mood {
  top:135px;
  right:0;
  border-radius:16px;
  padding:12px 17px;
  transform:rotate(6deg)
}
.mini-mood-icon {
  background:var(--theme-subtle,#f6e3ea);
  color:var(--theme-muted,#b46a86);
  width:43px;
  height:43px;
  border-radius:13px;
  display:grid;
  place-items:center;
  font-size:25px
}
.floating-card-mood>div {
  display:flex;
  flex-direction:column;
  gap:5px
}
.floating-card-mood strong {
  font-size:10px;
  color:var(--theme-text,#765266)
}
.floating-card-mood div span {
  font-size:9px;
  color:var(--theme-muted,#b19ba8)
}
.floating-card-privacy {
  bottom:98px;
  left:0;
  border-radius:13px;
  padding:15px 16px;
  color:#799487;
  font-size:10px;
  font-weight:800;
  transform:rotate(6deg)
}
.visual-deco-dot {
  position:absolute;
  border-radius:50%;
  background:var(--theme-accent,#dfadc0)
}
.dot-a {
  width:12px;
  height:12px;
  right:42px;
  bottom:107px
}
.dot-b {
  width:7px;
  height:7px;
  left:95px;
  top:40px
}
.benefit-strip {
  background:var(--theme-subtle,#f5eff0);
  border-top:1px solid var(--theme-line,#f4e9ec);
  border-bottom:1px solid var(--theme-line,#eee1e6)
}
.strip-inner {
  display:flex;
  align-items:center;
  justify-content:space-around;
  min-height:88px
}
.strip-inner span {
  display:flex;
  align-items:center;
  gap:13px;
  color:var(--theme-text,#7f6476);
  font-weight:700;
  font-size:13px
}
.strip-inner i {
  font-style:normal;
  color:var(--theme-muted,#cda6b7)
}
.landing-section {
  padding:112px 0 116px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:48px;
  gap:20px
}
.section-kicker {
  font-size:12px;
  color:var(--theme-muted,#bd778d);
  letter-spacing:.1px;
  font-weight:800
}
.section-heading h2,.journey-copy h2,.last-cta h2 {
  font-size:37px;
  line-height:1.82;
  letter-spacing:-1.2px;
  color:var(--theme-title,#50364a);
  margin:13px 0 0;
  font-weight:850
}
.section-heading h2 em,.journey-copy h2 em,.last-cta h2 em {
  font-style:normal;
  color:var(--theme-muted,#d28599)
}
.section-heading>p {
  width:295px;
  line-height:2.2;
  color:var(--theme-muted,#958691);
  font-size:13px;
  margin-bottom:10px
}
.feature-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}
.feature-card {
  position:relative;
  min-height:460px;
  border-radius:24px;
  padding:27px 25px 29px;
  overflow:hidden;
  border:1px solid var(--theme-line,#f1ebec)
}
.feature-peach {
  background:var(--theme-subtle,#fbf0ed)
}
.feature-lilac {
  background:var(--theme-subtle,#f2edf6)
}
.feature-sage {
  background:var(--theme-subtle,#eaf2ed)
}
.feature-graphic {
  height:245px;
  position:relative
}
.feature-icon {
  width:40px;
  height:40px;
  background:var(--theme-surface,#fff8f9);
  border-radius:13px;
  display:grid;
  place-items:center;
  color:var(--theme-muted,#ba7590);
  margin-bottom:13px;
  box-shadow:0 5px 15px rgba(80,47,80,.05)
}
.feature-card h3 {
  font-size:19px;
  font-weight:850;
  color:var(--theme-title,#593e51);
  margin-bottom:8px
}
.feature-card p {
  font-size:12px;
  line-height:2.15;
  color:var(--theme-text,#82717a);
  margin:0
}
.graphic-calendar {
  width:230px;
  margin:0 auto;
  background:var(--theme-surface,#fff);
  box-shadow:0 15px 30px rgba(96,62,78,.09);
  border-radius:21px;
  padding:20px 18px;
  transform:rotate(-7deg) translateY(-12px)
}
.mini-calendar-top {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  font-weight:780;
  color:var(--theme-title,#694c62);
  margin-bottom:19px
}
.mini-calendar-top span:last-child {
  color:var(--theme-muted,#bcb0b7)
}
.mini-calendar-dots {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
  text-align:center
}
.mini-calendar-dots span {
  font-size:10px;
  color:var(--theme-muted,#c3b4bd)
}
.mini-calendar-dots b {
  font-size:9px;
  color:var(--theme-muted,#9c8e97);
  font-weight:600;
  width:19px;
  height:19px;
  border-radius:7px;
  display:grid;
  place-items:center
}
.mini-calendar-dots b.marked {
  background:var(--theme-tint,#edacbc);
  color:#fff
}
.mini-calendar-dots b.today {
  background:var(--theme-subtle,#eee5ee);
  color:var(--theme-text,#855b78)
}
.graphic-checkin {
  display:flex;
  align-items:center;
  justify-content:center
}
.graphic-checkin>div {
  background:var(--theme-surface,#fff);
  border-radius:20px;
  padding:24px 18px;
  width:247px;
  box-shadow:0 14px 30px rgba(96,62,78,.07);
  transform:rotate(5deg)
}
.graphic-checkin small {
  display:block;
  font-weight:780;
  font-size:12px;
  color:var(--theme-title,#674b64)
}
.graphic-moods {
  display:flex;
  gap:9px;
  margin-top:18px;
  justify-content:space-between
}
.graphic-moods i {
  font-style:normal;
  background:var(--theme-subtle,#f6f2f7);
  color:var(--theme-muted,#c4afbf);
  border-radius:13px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  font-size:25px
}
.graphic-moods i.active {
  background:var(--theme-tint,#edd5e8);
  color:var(--theme-muted,#a573a5)
}
.graphic-progress {
  height:7px;
  background:var(--theme-subtle,#f3ecf2);
  margin-top:26px;
  border-radius:10px
}
.graphic-progress span {
  width:65%;
  height:100%;
  display:block;
  border-radius:10px;
  background:var(--theme-accent,#b7a1c2)
}
.graphic-heart {
  font-size:100px;
  position:absolute;
  right:7px;
  bottom:10px;
  color:var(--theme-decoration,#e8d7ef)
}
.graphic-chart {
  background:var(--theme-surface,#fff);
  border-radius:20px;
  padding:22px;
  width:245px;
  height:218px;
  box-shadow:0 15px 30px rgba(96,62,78,.07);
  margin:3px auto;
  transform:rotate(-5deg)
}
.graphic-chart-head {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  font-weight:750;
  color:#547967
}
.graphic-chart-head span {
  font-size:17px
}
.graphic-bars {
  height:113px;
  display:flex;
  align-items:end;
  justify-content:space-around;
  gap:12px;
  margin:13px 0
}
.graphic-bars i {
  display:block;
  flex:1;
  background:linear-gradient(#96b5a3,#d3e5d7);
  border-radius:7px 7px 3px 3px
}
.graphic-chart-bottom {
  font-size:9px;
  color:#97ada0
}
.journey-section {
  background:var(--theme-subtle,#f8f0f1);
  padding:100px 0 105px
}
.journey-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
  position:relative
}
.journey-deco {
  position:absolute;
  width:240px;
  opacity:.3;
  color:var(--theme-muted,#d5a2b6);
  top:-90px;
  right:17%;
  pointer-events:none
}
.journey-deco svg {
  width:100%
}
.journey-copy {
  position:relative;
  z-index:1
}
.journey-copy h2 {
  margin:14px 0 18px;
  font-size:36px
}
.journey-copy p {
  max-width:410px;
  font-size:13px;
  line-height:2.3;
  color:var(--theme-text,#907d87);
  margin-bottom:28px
}
.journey-steps {
  display:flex;
  flex-direction:column;
  gap:16px
}
.journey-step {
  display:flex;
  align-items:center;
  gap:19px;
  background:var(--theme-surface,#fff);
  padding:21px;
  border-radius:19px;
  box-shadow:0 10px 24px rgba(95,56,75,.025)
}
.journey-step>span {
  font-family:Arial,sans-serif;
  color:var(--theme-muted,#d2a9b7);
  font-size:21px;
  font-weight:700;
  direction:ltr
}
.journey-step>div {
  flex:1
}
.journey-step h3 {
  font-size:14px;
  margin-bottom:6px
}
.journey-step p {
  font-size:11px;
  color:var(--theme-muted,#9a8c95);
  margin:0;
  line-height:1.9
}
.journey-step>.ic {
  color:#a4bdac;
  background:var(--theme-subtle,#f0f5ef);
  border-radius:50%;
  padding:3px;
  width:25px;
  height:25px
}
.privacy-section {
  padding:105px 0
}
.privacy-panel {
  background:linear-gradient(130deg,var(--theme-primary,#755168),var(--theme-primary,#63445d));
  border-radius:31px;
  min-height:373px;
  padding:56px 65px;
  display:flex;
  align-items:flex-start;
  gap:25px;
  color:#fff;
  position:relative;
  overflow:hidden
}
.privacy-icon {
  width:53px;
  height:53px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:rgba(255,255,255,.13);
  flex-shrink:0
}
.privacy-content {
  position:relative;
  z-index:1;
  max-width:600px
}
.privacy-content>span {
  font-size:12px;
  color:var(--theme-decoration,#e4c8d7);
  font-weight:750
}
.privacy-content h2 {
  font-size:30px;
  line-height:1.85;
  letter-spacing:-.8px;
  margin:11px 0
}
.privacy-content p {
  color:var(--theme-decoration,#e6d8e0);
  font-size:12px;
  line-height:2.35;
  max-width:630px
}
.privacy-list {
  display:flex;
  gap:25px;
  flex-wrap:wrap;
  margin-top:20px
}
.privacy-list span {
  display:flex;
  gap:6px;
  align-items:center;
  font-size:11px;
  font-weight:700
}
.privacy-list .ic {
  color:#bbd3c3
}
.privacy-deco {
  position:absolute;
  width:480px;
  height:480px;
  left:-28px;
  top:-65px;
  color:rgba(255,255,255,.11);
  transform:rotate(20deg)
}
.privacy-deco svg {
  width:100%
}
.last-cta {
  text-align:center;
  padding:32px 0 112px
}
.last-cta-star {
  display:inline-grid;
  place-items:center;
  width:45px;
  height:45px;
  background:var(--theme-subtle,#fae6e9);
  border-radius:50%;
  font-size:25px;
  color:var(--theme-muted,#c97e95)
}
.last-cta h2 {
  font-size:37px;
  margin:18px auto 10px
}
.last-cta p {
  color:var(--theme-muted,#94858d);
  font-size:13px;
  margin-bottom:26px
}
.landing-footer {
  border-top:1px solid var(--theme-line,#f0e8ea);
  background:var(--theme-surface,#fff)
}
.footer-inner {
  min-height:130px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.footer-inner .brand {
  font-size:17px
}
.footer-inner .brand-en {
  font-size:7px
}
.footer-inner p,.footer-inner>span {
  font-size:10px;
  color:var(--theme-muted,#a3969d);
  margin:0
}
.landing-blog {
  padding:78px 0 105px
}
.landing-blog .section-heading>div:last-child {
  max-width:360px
}
.landing-blog .section-heading .link-text {
  margin-top:15px
}
.landing-blog-grid,.blog-public-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:19px;
  margin-top:33px
}
.landing-blog-card {
  min-height:300px;
  padding:24px;
  border-radius:23px;
  background:var(--feed-soft);
  border:1px solid color-mix(in srgb,var(--feed-bg) 14%,#fff);
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease
}
.landing-blog-card:after {
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  left:-62px;
  top:-67px;
  border:1px solid color-mix(in srgb,var(--feed-bg) 24%,transparent);
  border-radius:50%
}
.landing-blog-card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 45px color-mix(in srgb,var(--feed-bg) 13%,transparent)
}
.landing-blog-art {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:16px;
  color:var(--feed-bg);
  background:rgba(255,255,255,.72);
  margin-bottom:25px
}
.landing-blog-card .feed-card-meta {
  color:color-mix(in srgb,var(--feed-bg) 72%,#65515d)
}
.landing-blog-card h3 {
  color:var(--theme-title,#513947);
  font-size:15px;
  line-height:1.9;
  margin:12px 0 7px
}
.landing-blog-card p {
  color:var(--theme-text,#85747d);
  font-size:10.5px;
  line-height:2.1;
  margin:0 0 18px
}
.landing-blog-card strong {
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--feed-bg);
  font-size:10.5px
}
.landing-shop{padding:88px 0 92px;background:linear-gradient(145deg,var(--theme-primary,#523748),var(--theme-primary,#765066) 58%,var(--theme-primary,#a96f84));color:#fff;position:relative;overflow:hidden}.landing-shop:before,.landing-shop:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%}.landing-shop:before{width:420px;height:420px;right:-170px;top:-210px}.landing-shop:after{width:260px;height:260px;left:-100px;bottom:-150px}.landing-shop-inner{position:relative;z-index:1}.landing-shop-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.landing-shop-heading>div{max-width:570px}.landing-shop-heading .section-kicker{color:var(--theme-decoration,#efd4df)}.landing-shop-heading h2{font-size:38px;line-height:1.55;margin:12px 0}.landing-shop-heading h2 em{color:var(--theme-decoration,#f2bdcb);font-style:normal}.landing-shop-heading p{color:rgba(255,255,255,.7);line-height:2.1;margin:0 0 22px}.landing-shop-mark{width:145px;height:145px;border-radius:45px;display:grid;place-items:center;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transform:rotate(-7deg)}.landing-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}.landing-shop-card{padding:19px;border-radius:24px;background:rgba(255,255,255,.94);color:var(--theme-title,#593d4d);box-shadow:0 18px 45px rgba(34,20,28,.14);transition:transform .2s ease}.landing-shop-card:hover{transform:translateY(-5px)}.landing-shop-art{height:155px;border-radius:18px;display:grid;place-items:center;position:relative;color:var(--feed-bg);background:linear-gradient(145deg,var(--feed-soft),rgba(255,255,255,.72));margin-bottom:16px}.landing-shop-art b{position:absolute;top:10px;right:10px;padding:5px 8px;border-radius:10px;background:var(--theme-surface,#fff);color:var(--theme-text,#a45e76);font-size:8px}.landing-shop-card>small{color:var(--theme-muted,#a48796);font-size:9px}.landing-shop-card h3{font-size:15px;margin:6px 0 13px}.landing-shop-card>div{display:flex;align-items:center;gap:8px}.landing-shop-card del{font-size:9px;color:var(--theme-muted,#a99ca3)}.landing-shop-card>div strong{color:var(--theme-text,#744b61);font-size:14px}.landing-shop-link{display:flex;align-items:center;gap:5px;margin-top:17px;color:var(--theme-text,#9d6680);font-size:10px;font-weight:800}.landing-shop-empty{margin-top:35px;padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:22px;text-align:center;color:rgba(255,255,255,.75)}
.public-blog {
  min-height:100vh;
  background:var(--theme-canvas,#faf8f6)
}
.blog-header {
  height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}
.blog-header nav {
  display:flex;
  gap:28px;
  color:var(--theme-text,#796873);
  font-size:11px;
  font-weight:700
}
.blog-index-hero {
  min-height:440px;
  border-radius:30px;
  padding:65px 7%;
  background:linear-gradient(135deg,var(--theme-subtle,#f7e9ee),var(--theme-subtle,#f1ebe7));
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center
}
.blog-index-hero>div {
  position:relative;
  z-index:2;
  max-width:540px
}
.blog-index-hero h1 {
  font-size:46px;
  line-height:1.7;
  color:var(--theme-title,#4e3546);
  margin:12px 0
}
.blog-index-hero p {
  max-width:500px;
  color:var(--theme-text,#8a7782);
  font-size:12px;
  line-height:2.25
}
.blog-index-hero img {
  position:absolute;
  width:350px;
  height:auto;
  left:5%;
  bottom:-96px;
  filter:saturate(.82)
}
.blog-list-section {
  padding:70px 0 100px
}
.blog-public-grid {
  margin-top:24px
}
.blog-article {
  max-width:920px;
  padding:25px 0 100px
}
.blog-back {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--theme-text,#947989);
  font-size:11px;
  margin-bottom:18px
}
.blog-article-hero {
  min-height:310px;
  padding:50px 55px;
  border-radius:28px;
  background:var(--feed-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  overflow:hidden;
  position:relative
}
.blog-article-hero>div {
  max-width:690px;
  position:relative;
  z-index:1
}
.blog-article-hero h1 {
  font-size:31px;
  line-height:1.8;
  color:var(--theme-title,#4c3544);
  margin:15px 0 8px
}
.blog-article-hero p {
  margin:0;
  color:var(--theme-text,#7e6c76);
  font-size:11.5px;
  line-height:2.2
}
.blog-article-symbol {
  width:86px;
  height:86px;
  border-radius:27px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--feed-bg);
  background:rgba(255,255,255,.72)
}
.blog-article-content {
  max-width:720px;
  margin:0 auto;
  padding:52px 0;
  color:var(--theme-text,#71616a)
}
.blog-article-content p {
  font-size:13px;
  line-height:2.45;
  margin:0 0 25px
}
.blog-article-content h2 {
  color:var(--theme-title,#533c4a);
  font-size:18px;
  margin:38px 0 7px
}
.blog-article-lead {
  color:var(--theme-title,#57434f)!important;
  font-size:15px!important;
  font-weight:650
}
/* App frame */
.app-shell {
  min-height:100vh;
  background:var(--theme-canvas,#faf8f6)
}
.sidebar {
  width:247px;
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  padding:35px 22px 23px;
  background:var(--theme-surface,#fff);
  border-left:1px solid var(--theme-line,#f0e9eb);
  display:flex;
  flex-direction:column;
  z-index:25
}
.app-brand {
  padding:1px 10px 0;
  margin-bottom:57px;
  width:100%;
  justify-content:center
}
.sidebar-section-label {
  font-size:10px;
  color:var(--theme-muted,#b8a7b1);
  font-weight:760;
  margin:0 16px 12px
}
.side-nav {
  display:flex;
  flex-direction:column;
  gap:8px
}
.side-nav-link {
  width:100%;
  border:0;
  background:transparent;
  border-radius:13px;
  padding:14px 17px;
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--theme-muted,#978993);
  font-size:12.5px;
  font-weight:690;
  text-align:right;
  position:relative;
  transition:background .2s,color .2s
}
.side-nav-link:hover {
  background:var(--theme-canvas,#fbf6f7);
  color:var(--theme-text,#9c6480)
}
.side-nav-link.is-active {
  color:var(--theme-text,#9a627b);
  background:var(--theme-subtle,#f8e9ef);
  font-weight:850
}
.side-nav-link.is-action .ic {
  color:var(--theme-muted,#bc7890)
}
.active-dot {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--theme-primary,#c17893);
  margin-right:auto
}
.sidebar-lower {
  margin-top:auto
}
.sidebar-care {
  padding:21px 21px 24px;
  position:relative;
  overflow:hidden;
  border-radius:19px;
  background:linear-gradient(150deg,var(--theme-subtle,#fbeaf0),var(--theme-subtle,#f4e7eb))
}
.care-stars {
  font-size:17px;
  color:var(--theme-muted,#c7859d)
}
.sidebar-care strong {
  display:block;
  font-size:15px;
  line-height:1.8;
  color:var(--theme-text,#755166);
  margin:17px 0 6px
}
.sidebar-care p {
  margin:0;
  line-height:1.9;
  color:var(--theme-text,#987b89);
  font-size:10px
}
.care-heart {
  position:absolute;
  left:10px;
  top:45px;
  font-size:74px;
  font-family:Georgia,serif;
  transform:rotate(-24deg);
  color:var(--theme-decoration,#ebbfce);
  opacity:.7
}
.sidebar-privacy {
  margin-top:21px;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--theme-muted,#9b8892);
  font-size:11px;
  font-weight:750;
  width:100%;
  padding:10px
}
.sidebar-privacy .ic:last-child {
  margin-right:auto
}
.app-workspace {
  margin-right:247px;
  min-height:100vh
}
.install-banner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 min(4.1vw,60px) 18px;
  padding:12px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--theme-subtle,#f8edf2),var(--theme-subtle,#f4e9ef));
  border:1px solid var(--theme-line,#f0dfe7);
  box-shadow:0 12px 28px rgba(98,66,82,.08)
}
.install-banner__copy {
  display:flex;
  flex-direction:column;
  gap:2px
}
.install-banner__copy strong {
  color:var(--theme-text,#734d62);
  font-size:12px;
  font-weight:850
}
.install-banner__copy span {
  color:var(--theme-text,#877681);
  font-size:10px
}
.install-banner .btn {
  min-width:70px;
  padding:10px 14px;
  font-size:11px
}
.install-banner__actions {
  display:flex;
  align-items:center;
  gap:8px
}
.install-close {
  width:36px;
  height:36px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--theme-text,#947988);
  font-size:22px
}
.offline-badge {
  padding:2px 7px;
  border-radius:999px;
  background:#fff1cf;
  color:#80683d;
  font-size:8px
}
.app-header {
  height:123px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px min(4.1vw,60px) 17px;
  gap:20px
}
.page-eyebrow {
  font-size:11px;
  color:var(--theme-muted,#ac8b9a);
  margin-bottom:5px
}
.app-heading h1 {
  font-size:25px;
  font-weight:900;
  line-height:1.5;
  letter-spacing:-.65px;
  margin:0;
  color:var(--theme-title,#473344);
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
  max-width:100%
}
.wave {
  display:inline-block;
  color:var(--theme-muted,#cc899e);
  font-size:21px;
  vertical-align:middle
}
.app-header-actions {
  display:flex;
  align-items:center;
  gap:15px
}
.header-today {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:3px;
  color:var(--theme-text,#806f7c);
  font-size:10px;
  font-weight:700
}
.header-today .ic {
  color:var(--theme-muted,#c187a0)
}
.avatar-btn {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  background:var(--theme-subtle,#f5e5eb);
  color:var(--theme-text,#a26c86);
  border:1px solid var(--theme-line,#f0dce4);
  border-radius:15px
}
.app-content {
  max-width:1490px;
  margin:auto;
  padding:0 min(4.1vw,60px) 52px
}
.app-footer-note {
  text-align:center;
  font-size:10px;
  color:var(--theme-muted,#b2a6ac);
  margin-top:48px
}
.bottom-nav,.mobile-brand {
  display:none
}
.demo-banner,.guest-note {
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 16px;
  border-radius:13px;
  background:#fff4dd;
  color:#866c47;
  border:1px solid #f4e6c6;
  margin-bottom:20px;
  font-size:11px;
  line-height:1.8
}
.demo-banner .demo-icon {
  color:#ad8751
}
.demo-banner>span:nth-child(2) {
  flex:1
}
.demo-banner .text-btn {
  font-size:11px;
  color:var(--theme-text,#855d38)
}
.guest-note {
  background:var(--theme-subtle,#f1f4f0);
  border-color:var(--theme-line,#e6ece5);
  color:#6b8275
}
.inline-link {
  border:0;
  background:transparent;
  color:var(--theme-text,#865b73);
  text-decoration:underline;
  font-weight:800;
  padding:0
}
.text-btn {
  border:0;
  background:transparent;
  color:var(--theme-text,#8b647b);
  font-size:11px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px;
  white-space:nowrap
}
.text-btn:hover {
  text-decoration:underline
}
.danger-text {
  color:#b65b6a
}
.dashboard-grid {
  display:grid;
  grid-template-columns:1fr 1fr .94fr;
  grid-template-areas:"cycle cycle next" "pms pms pms" "check overview overview" "mini mini note";
  gap:19px
}
.cycle-hero {
  grid-area:cycle;
  min-height:310px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  background:linear-gradient(117deg,var(--theme-subtle,#fce8e8),var(--theme-subtle,#f6dde6));
  border:1px solid var(--theme-line,#f6e2e7);
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:30px 32px
}
.cycle-hero-text {
  position:relative;
  z-index:2;
  max-width:340px
}
.card-kicker {
  font-size:11px;
  font-weight:800;
  color:var(--theme-text,#9f7184);
  display:inline-flex;
  align-items:center;
  gap:8px
}
.kicker-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--theme-accent,#d88ca5);
  box-shadow:0 0 0 4px #f4d5df
}
.cycle-hero h2 {
  font-size:25px;
  color:var(--theme-title,#694a60);
  font-weight:900;
  letter-spacing:-.7px;
  margin:19px 0 7px;
  line-height:1.65
}
.cycle-hero p {
  font-size:11px;
  color:var(--theme-muted,#9b7989);
  line-height:2.2;
  margin-bottom:22px
}
.cycle-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.cycle-actions .btn {
  font-size:11px;
  padding:12px 17px;
  border-radius:12px;
  box-shadow:0 6px 16px rgba(100,64,91,.06)
}
.circle-arrow {
  width:41px;
  height:41px;
  border:1px solid var(--theme-line,#e9c7d1);
  background:transparent;
  color:var(--theme-text,#a66d84);
  border-radius:12px;
  display:grid;
  place-items:center
}
.hero-note {
  font-size:10px;
  color:var(--theme-muted,#b18091);
  margin-top:22px;
  display:flex;
  gap:7px;
  align-items:center
}
.cycle-hero-chart {
  z-index:2;
  position:relative;
  display:grid;
  place-items:center;
  min-width:215px
}
.cycle-overview-ring {
  display:grid;
  justify-items:center;
  gap:13px;
  max-width:260px
}
.segmented-ring {
  background:conic-gradient(from -90deg,#da7f9c 0 var(--period-end),#eadfe7 var(--period-end) var(--fertile-start),#55c3bd var(--fertile-start) var(--fertile-end),#eadfe7 var(--fertile-end) var(--pms-start),#eca94e var(--pms-start) 100%);
  box-shadow:0 18px 40px rgba(95,67,84,.13),0 2px 9px rgba(95,67,84,.08),inset 0 0 0 1px rgba(255,255,255,.55)
}
.segmented-ring:before {
  inset:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--theme-canvas,#fff7f5) 92%,#fff),var(--theme-canvas,#fff7f5));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),inset 0 12px 28px rgba(255,255,255,.4),0 0 0 5px rgba(255,255,255,.42)
}
.segmented-ring:after {
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  pointer-events:none
}
.cycle-phase-label {
  font-weight:800;
  max-width:130px;
  line-height:1.55!important;
  margin-top:5px;
  letter-spacing:-.1px
}
.phase-period{color:#ae5975!important}.phase-fertile,.phase-ovulation{color:#238f8b!important}.phase-pms{color:#a86a25!important}
.ring-marker,.ovulation-dot {
  position:absolute;
  inset:0;
  border-radius:50%;
  transform:rotate(calc(var(--today-angle) - 90deg));
  pointer-events:none
}
.ring-marker i {
  position:absolute;
  top:-7px;
  left:calc(50% - 11px);
  width:22px;
  height:22px;
  background:var(--theme-surface,#fff);
  border:5px solid var(--theme-focus,#76506a);
  border-radius:50%;
  box-shadow:0 0 0 5px rgba(118,80,106,.1),0 7px 16px rgba(76,45,65,.26)
}
.ovulation-dot{transform:rotate(calc(var(--ovulation-angle) - 90deg))}
.ovulation-dot:before {
  content:"";
  position:absolute;
  top:3px;
  left:calc(50% - 5px);
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 3px #279d98,0 3px 9px rgba(39,157,152,.28)
}
.cycle-phase-legend {
  display:grid;
  grid-template-columns:repeat(2,max-content);
  justify-content:center;
  gap:7px 8px;
  color:var(--theme-text,#795f70);
  font-size:9px
}
.cycle-phase-legend span {
  display:flex;
  align-items:center;
  gap:6px;
  min-width:88px;
  padding:6px 9px;
  border:1px solid color-mix(in srgb,var(--theme-line,#e2d7dd) 72%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--theme-surface,#fff) 62%,transparent)
}
.cycle-phase-legend i{width:8px;height:8px;border-radius:50%;background:#ddd;box-shadow:0 0 0 3px rgba(255,255,255,.55)}
.cycle-phase-legend .period{background:#da7f9c}.cycle-phase-legend .fertile{background:#55c3bd}.cycle-phase-legend .ovulation{background:#fff;box-shadow:0 0 0 2px #279d98}.cycle-phase-legend .pms{background:#eca94e}
.cycle-estimate-note {
  font-size:8px;
  color:var(--theme-muted,#8e7a86);
  line-height:1.75;
  text-align:center;
  max-width:245px;
  padding:0 5px
}
.main-ring {
  height:205px;
  width:205px;
  box-shadow:0 13px 32px rgba(180,97,123,.08)
}
.main-ring:before {
  inset:15px;
  background:var(--theme-canvas,#ffeff1)
}
.main-ring .ring-interior strong {
  font-size:57px;
  letter-spacing:-2px;
  text-shadow:0 2px 0 rgba(255,255,255,.7)
}
.main-ring .ring-interior span {
  font-size:10px;
  font-weight:700;
  letter-spacing:.15px
}
.main-ring .ring-interior small {
  font-size:12px
}
.ring-tick {
  position:absolute;
  left:-8px;
  top:48px;
  background:var(--theme-surface,#fff);
  border-radius:50%;
  color:var(--theme-muted,#c37a93);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  font-size:21px;
  box-shadow:0 5px 15px #e0bbc8
}
.hero-flower-watermark {
  position:absolute;
  left:-83px;
  top:-93px;
  color:var(--theme-decoration,#edbacb);
  width:235px;
  transform:rotate(20deg);
  opacity:.65
}
.hero-flower-watermark svg {
  width:100%
}
.next-period-card {
  grid-area:next;
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,var(--theme-subtle,#ede5f4),var(--theme-subtle,#f0eaf2));
  border:1px solid var(--theme-line,#eae1f0);
  border-radius:24px;
  padding:27px 26px;
  min-height:310px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 34px rgba(91,68,82,.06)
}
.next-card-head {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.next-period-card .card-kicker {
  color:var(--theme-muted,#987ca1)
}
.next-period-card h3 {
  font-size:14px;
  margin:38px 0 3px;
  color:var(--theme-text,#8c6b94)
}
.next-main {
  font-size:32px;
  font-weight:900;
  color:var(--theme-text,#6f5077);
  line-height:1.6;
  position:relative;
  z-index:1;
  white-space:nowrap
}
.next-period-card>p {
  font-size:11px;
  color:var(--theme-muted,#9e88a5);
  margin:5px 0 0;
  position:relative;
  z-index:1
}
.next-bottom {
  position:absolute;
  right:26px;
  left:26px;
  bottom:24px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  z-index:2;
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--theme-line,#ddd0e5) 75%,transparent);
  color:var(--theme-muted,#8e7a86)
}
.next-bottom>span:last-child {
  font-size:10px;
  line-height:1.9
}
.next-bottom>.ic {
  flex:0 0 auto;
  margin-top:2px;
  color:var(--theme-text,#785f6d)
}
.small-pill {
  display:inline-flex;
  align-items:center;
  border-radius:8px;
  padding:7px 11px;
  background:var(--theme-surface,#fff);
  color:var(--theme-text,#896c92);
  font-size:10px;
  font-weight:780
}
.conf-pill {
  flex:0 0 auto;
  background:color-mix(in srgb,var(--theme-surface,#fff) 84%,transparent);
  border:1px solid color-mix(in srgb,var(--theme-line,#ddd0e5) 80%,transparent);
  box-shadow:0 5px 16px rgba(91,68,82,.06)
}
.next-orbit {
  position:absolute;
  left:-85px;
  bottom:46px;
  width:200px;
  height:200px;
  border:1px solid var(--theme-line,#ddd0e5);
  border-radius:50%
}
.orbit-two {
  width:130px;
  height:130px;
  left:-49px;
  bottom:82px
}
.surface-card {
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#f1eced);
  border-radius:21px;
  box-shadow:var(--shadow)
}
.checkin-card {
  grid-area:check;
  padding:25px 25px 23px
}
.overview-card {
  grid-area:overview;
  padding:25px 26px
}
.mini-month-card {
  grid-area:mini;
  padding:25px 27px
}
.insight-note {
  grid-area:note;
  min-height:300px;
  padding:25px 26px;
  background:var(--theme-subtle,#ecf3ed);
  border-color:var(--theme-line,#e8efe8);
  position:relative;
  overflow:hidden
}
.insight-note:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,rgba(236,243,237,.08) 0%,rgba(236,243,237,.9) 54%,var(--theme-subtle,#ecf3ed) 76%);
  pointer-events:none;
  z-index:1
}
.insight-note-copy>* {
  position:relative;
  z-index:2
}
.insight-woman {
  position:absolute;
  width:176px;
  height:auto;
  left:-18px;
  bottom:-23px;
  opacity:.72;
  pointer-events:none;
  z-index:1;
  filter:saturate(.82)
}
.block-heading {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:10px
}
.section-mini-label {
  font-size:10px;
  font-weight:740;
  color:var(--theme-muted,#c094a5)
}
.block-heading h3 {
  margin:4px 0 0;
  font-size:17px;
  font-weight:850;
  color:var(--theme-title,#543c4e);
  line-height:1.5
}
.tiny-sun {
  color:var(--theme-muted,#d6a6b8)
}
.muted {
  color:var(--theme-muted,#9b9098);
  font-size:11px;
  line-height:2.1
}
.checkin-card>.muted {
  margin:0 0 20px
}
.home-moods {
  display:flex;
  justify-content:space-between;
  gap:9px;
  margin:12px 0 23px
}
.home-mood {
  background:transparent;
  border:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:var(--theme-muted,#9b8e96);
  padding:0;
  min-width:0
}
.home-mood>span {
  display:grid;
  place-items:center;
  background:var(--theme-canvas,#faf7f8);
  width:49px;
  height:49px;
  border:1px solid var(--theme-line,#f2ebed);
  border-radius:15px;
  font-size:24px;
  color:var(--theme-muted,#c1afb9);
  transition:.2s
}
.home-mood small {
  font-size:9px;
  white-space:nowrap
}
.home-mood.chosen>span,.home-mood:hover>span {
  background:var(--theme-subtle,#f8e3e9);
  border-color:var(--theme-line,#f3d6e0);
  color:var(--theme-muted,#be758d)
}
.home-mood.chosen small {
  color:var(--theme-muted,#a76d87);
  font-weight:800
}
.checkin-card .wide-btn {
  font-size:11px;
  padding:13px
}
.tiny-link {
  border:0;
  background:transparent;
  color:var(--theme-muted,#ae7991);
  font-size:10px;
  font-weight:760;
  display:inline-flex;
  gap:6px;
  align-items:center;
  white-space:nowrap
}
.tiny-link:hover {
  color:var(--theme-title,#704a60)
}
.overview-stats {
  display:flex;
  justify-content:space-around;
  gap:5px;
  margin:30px 0 20px
}
.overview-stats>div {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  flex:1;
  position:relative;
  text-align:center
}
.overview-stats>div+div:after {
  content:"";
  height:74px;
  position:absolute;
  right:0;
  top:10px;
  border-right:1px solid var(--theme-line,#f1ebed)
}
.stat-icon {
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px
}
.stat-pink {
  color:var(--theme-muted,#cb829a);
  background:var(--theme-subtle,#fbedf0)
}
.stat-violet {
  color:var(--theme-muted,#9e88b5);
  background:var(--theme-subtle,#f1edf6)
}
.stat-green {
  color:#92b49c;
  background:var(--theme-subtle,#eef5ed)
}
.overview-stats strong {
  font-size:22px;
  color:var(--theme-title,#63485a);
  font-weight:900;
  white-space:nowrap
}
.overview-stats strong small {
  font-size:10px;
  color:var(--theme-muted,#9c8594);
  font-weight:750
}
.overview-stats div>span:last-child {
  font-size:10px;
  color:var(--theme-muted,#9d8c96)
}
.overview-foot {
  border-top:1px solid var(--theme-line,#f4eff1);
  padding-top:13px;
  color:var(--theme-muted,#aca1a7);
  font-size:10px;
  display:flex;
  align-items:center;
  gap:7px
}
.month-widget {
  margin-top:20px
}
.month-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px
}
.month-title {
  font-size:15px;
  font-weight:850;
  color:var(--theme-title,#654a60)
}
.month-title span {
  font-weight:650;
  color:var(--theme-muted,#a899a3)
}
.month-controls {
  display:flex;
  gap:7px
}
.month-controls button {
  width:30px;
  height:30px;
  background:var(--theme-canvas,#faf7f9);
  border:1px solid var(--theme-line,#f1ebed);
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--theme-text,#98758b)
}
.month-controls button:hover {
  background:var(--theme-subtle,#f8e9ef)
}
.weekdays,.days-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:5px;
  text-align:center
}
.weekdays {
  margin-bottom:9px
}
.weekdays span {
  font-size:11px;
  color:var(--theme-muted,#b0a1ab);
  font-weight:800;
  padding:3px
}
.day-cell {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  aspect-ratio:1;
  min-height:32px;
  max-height:46px;
  border-radius:11px;
  border:1px solid transparent;
  background:transparent;
  color:var(--theme-text,#7e717a);
  font-size:11px;
  transition:.15s
}
.day-cell:hover {
  background:var(--theme-canvas,#fbf1f3)
}
.day-cell.off-month {
  opacity:.32
}
.day-cell.is-period {
  background:#f1bdd0;
  color:#9a4668;
  font-weight:850
}
.day-cell.is-prediction {
  background:#f5ecf7;
  color:#ae8cb4;
  border:1px dashed #d7bfdc
}
.day-cell.is-today {
  border-color:var(--theme-focus,#a87290);
  font-weight:850
}
.day-cell.is-selected {
  outline:2px solid var(--theme-focus,#91617c);
  outline-offset:-1px
}
.day-cell .log-dot,.day-cell .period-mini-dot {
  height:4px;
  width:4px;
  background:var(--theme-primary,#b7819c);
  border-radius:50%;
  position:absolute;
  bottom:2px
}
.day-cell.is-period .period-mini-dot {
  background:#fff
}
.compact-month .days-grid {
  gap:3px
}
.compact-month .day-cell {
  max-height:36px;
  min-height:27px;
  border-radius:9px
}
.compact-month .month-toolbar {
  margin-bottom:12px
}
.compact-month .month-title {
  font-size:13px
}
.compact-month .weekdays {
  margin-bottom:5px
}
.compact-month .weekdays span {
  font-size:10px
}
.compact-month .day-cell {
  font-size:10px
}
.note-leaf {
  width:47px;
  height:47px;
  border-radius:15px;
  background:#dbe8db;
  color:#83a38e;
  display:grid;
  place-items:center;
  margin-bottom:20px
}
.insight-note h3 {
  margin:12px 0;
  font-size:21px;
  line-height:1.9;
  max-width:265px;
  color:#698570
}
.insight-note p {
  font-size:11px;
  line-height:2.2;
  color:#8aa090;
  max-width:275px
}
.small-heart-row {
  position:absolute;
  right:26px;
  bottom:23px;
  display:flex;
  align-items:center;
  gap:11px;
  color:#9bb8a1;
  font-size:15px
}
.small-heart-row span {
  font-size:9px
}
.small-heart-row:before {
  content:"";
  height:1px;
  width:60px;
  background:#d3e2d5
}
/* Calendar */
.calendar-view {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(245px,.85fr);
  gap:22px
}
.calendar-main {
  padding:30px
}
.calendar-heading {
  margin-bottom:28px
}
.calendar-main .month-widget {
  margin-top:18px
}
.calendar-main .month-title {
  font-size:20px
}
.calendar-main .month-controls button {
  width:36px;
  height:36px
}
.calendar-main .weekdays {
  margin-bottom:15px
}
.calendar-main .weekdays span {
  font-size:12px
}
.calendar-main .days-grid {
  gap:9px
}
.calendar-main .day-cell {
  min-height:57px;
  max-height:none;
  border-radius:13px;
  font-size:13px
}
.calendar-main .day-cell .log-dot,.calendar-main .day-cell .period-mini-dot {
  width:5px;
  height:5px;
  bottom:6px
}
.calendar-legend {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  border-top:1px solid var(--theme-line,#f4eff1);
  margin-top:24px;
  padding-top:19px
}
.calendar-legend span {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:10px;
  color:var(--theme-muted,#9d8e98)
}
.calendar-legend i {
  height:11px;
  width:11px;
  border-radius:4px;
  display:inline-block
}
.legend-period {
  background:#f1bdd0
}
.legend-pred {
  background:#f5ecf7;
  border:1px dashed #d7bfdc
}
.legend-log {
  background:#b7819c!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important
}
.calendar-hint {
  display:flex;
  gap:6px;
  align-items:center;
  color:var(--theme-muted,#b6a7af);
  font-size:10px;
  margin-top:17px
}
.calendar-sidebar {
  display:flex;
  flex-direction:column;
  gap:18px
}
.selected-day-card {
  padding:26px 23px
}
.selected-day-card h3 {
  font-size:20px;
  color:var(--theme-title,#62485b);
  margin:12px 0 18px
}
.day-state {
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--theme-canvas,#f7f6f7);
  border-radius:10px;
  padding:11px 13px;
  color:var(--theme-muted,#978992);
  font-size:11px;
  font-weight:700;
  margin-bottom:22px
}
.day-period {
  background:#fbedf1;
  color:#bd7990
}
.selected-day-card .wide-btn {
  font-size:11px;
  margin-top:10px;
  padding:13px 9px
}
.selected-day-card .muted {
  margin:10px 0 22px
}
.secondary-day-btn {
  background:var(--theme-surface,#fff)
}
.selected-details {
  border-top:1px solid var(--theme-line,#f2ebed);
  padding:5px 0 10px
}
.selected-details>div {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:10px;
  padding:9px 0;
  color:var(--theme-muted,#9c8e97);
  font-size:10px
}
.selected-details strong {
  color:var(--theme-text,#715464);
  max-width:150px;
  text-align:left
}
.selected-details .selected-note {
  display:block;
}
.selected-details .selected-note strong {
  display:block;
  max-width:none;
  margin-top:6px;
  text-align:right;
  white-space:pre-wrap;
  line-height:1.9;
}
.period-action-row {
  border-top:1px solid var(--theme-line,#f2ebed);
  margin-top:14px;
  padding-top:5px;
}
.period-history {
  padding:20px 22px;
}
.period-history summary {
  cursor:pointer;
  color:var(--theme-title,#654a5d);
  font-size:12px;
  font-weight:800;
  display:flex;
  justify-content:space-between;
}
.period-history-row {
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--theme-line,#f2ebed);
  padding:12px 0;
}
.period-history-row:first-child { margin-top:12px; }
.period-history-row>button {
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  border:0;
  background:transparent;
  color:var(--theme-text,#796471);
  text-align:right;
}
.period-history-row>button span { color:var(--theme-muted,#a798a1);font-size:10px; }
.period-history-row>button small { color:var(--theme-muted,#b66d80);font-size:9px;line-height:1.7; }
.period-history-row>div { display:flex;gap:4px; }
.period-history-row>div button {
  width:31px;height:31px;border:0;border-radius:9px;background:var(--theme-canvas,#f8f3f5);color:var(--theme-muted,#a77b8e);display:grid;place-items:center;
}
.inline-actions { display:flex;align-items:center;gap:12px; }
.visually-hidden {
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.danger-link {
  display:flex;
  align-items:center;
  gap:5px;
  justify-content:center;
  font-size:10px;
  color:#bd6d82;
  border:0;
  background:transparent;
  width:100%;
  margin-top:15px
}
.prediction-explain {
  padding:23px
}
.lavender-symbol {
  color:var(--theme-muted,#a486ab);
  font-size:30px
}
.prediction-explain strong {
  display:block;
  margin:8px 0;
  font-size:13px;
  color:var(--theme-text,#74587c)
}
.prediction-explain p {
  font-size:11px;
  color:var(--theme-muted,#9b8d9f);
  line-height:2.2;
  margin-bottom:0
}
/* Insights */
.insight-lead,.settings-intro {
  margin-bottom:29px
}
.insight-lead h2,.settings-intro h2 {
  font-size:25px;
  color:var(--theme-title,#553b4f);
  font-weight:870;
  margin:10px 0;
  line-height:1.65
}
.insight-lead p,.settings-intro p {
  font-size:12px;
  color:var(--theme-muted,#968793);
  line-height:2.1
}
.insight-kpis {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:22px
}
.kpi-card {
  border:1px solid var(--theme-line,#f0e7eb);
  border-radius:20px;
  background:var(--theme-surface,#fff);
  padding:25px
}
.kpi-card>span {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  color:var(--theme-muted,#aa8195);
  font-weight:750
}
.kpi-card strong {
  display:block;
  font-size:33px;
  font-weight:900;
  color:var(--theme-title,#65495e);
  margin:15px 0 6px
}
.kpi-card strong small {
  font-size:12px;
  color:var(--theme-muted,#a3919c)
}
.kpi-card p {
  color:var(--theme-muted,#aaa0a8);
  font-size:10px;
  margin:0
}
.insights-panels {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.insights-panels>article {
  padding:25px
}
.bars-chart {
  height:245px;
  display:flex;
  align-items:flex-end;
  justify-content:space-around;
  gap:20px;
  padding:26px 5px 3px;
  border-bottom:1px solid var(--theme-line,#f1edf0);
  margin:10px 0 16px
}
.chart-bar-wrap {
  height:100%;
  min-width:33px;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:9px
}
.chart-bar {
  background:linear-gradient(var(--theme-tint,#e6b9c9),var(--theme-subtle,#f5dbe4));
  width:min(57px,85%);
  border-radius:12px 12px 3px 3px
}
.chart-bar.last {
  background:linear-gradient(var(--theme-primary,#bc7b96),var(--theme-tint,#e6b2c3))
}
.chart-bar-value {
  font-size:11px;
  color:var(--theme-text,#8a6c7e);
  font-weight:800
}
.chart-bar-wrap small {
  font-size:10px;
  color:var(--theme-muted,#a898a5);
  margin-bottom:5px
}
.chart-empty {
  font-size:12px;
  color:var(--theme-muted,#a89ba6);
  align-self:center;
  line-height:2.4;
  text-align:center
}
.chart-unit {
  background:var(--theme-subtle,#f6f0f4)
}
.chart-foot {
  border-top:1px solid var(--theme-line,#f6f1f4);
  padding-top:15px;
  font-size:10px;
  color:var(--theme-muted,#aaa0a9);
  display:flex;
  gap:8px;
  line-height:2.1;
  margin:12px 0 0
}
.symptom-list {
  display:flex;
  flex-direction:column;
  gap:18px;
  margin:28px 0
}
.symptom-row {
  display:flex;
  gap:12px;
  align-items:center
}
.symptom-symbol {
  width:37px;
  height:37px;
  border-radius:11px;
  background:var(--theme-subtle,#f9eef2);
  color:var(--theme-muted,#bd7c95);
  display:grid;
  place-items:center;
  font-size:22px
}
.symptom-info {
  flex:1
}
.symptom-info>div:first-child {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  margin-bottom:8px
}
.symptom-info strong {
  color:var(--theme-text,#7b6575)
}
.symptom-info span {
  color:var(--theme-muted,#ae9ba8)
}
.symptom-track {
  height:7px;
  background:var(--theme-subtle,#f9eff3);
  border-radius:10px
}
.symptom-track i {
  display:block;
  height:100%;
  background:var(--theme-accent,#d7a2b7);
  border-radius:10px
}
.empty-description {
  line-height:2.2;
  color:var(--theme-muted,#a1959e);
  font-size:12px;
  margin:30px 0
}
.insight-actions {
  margin-top:22px;
  background:var(--theme-subtle,#f6ebf0);
  border-radius:20px;
  border:1px solid var(--theme-line,#f2e2e9);
  padding:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.insight-actions>div {
  display:flex;
  align-items:center;
  gap:17px
}
.insight-actions h3 {
  font-size:14px;
  margin:0 0 7px
}
.insight-actions p {
  font-size:10px;
  line-height:2;
  color:var(--theme-muted,#a28c98);
  margin:0
}
.icon-square {
  background:var(--theme-surface,#fff);
  border-radius:12px;
  color:var(--theme-muted,#bb8096);
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  flex-shrink:0
}
.medical-note {
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#9b8c7c;
  background:var(--theme-subtle,#f8f5ee);
  border:1px solid #f0ecdf;
  padding:16px 19px;
  border-radius:14px;
  margin-top:20px
}
.medical-note p {
  font-size:11px;
  line-height:2.2;
  margin:0
}
/* Educational feed */
.feed-view {
  max-width:1180px;
  margin:0 auto
}
.feed-intro {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin:4px 0 26px
}
.feed-intro h2 {
  margin:10px 0 6px;
  font-size:31px;
  line-height:1.7;
  color:var(--theme-title,#4b3545)
}
.feed-intro p {
  margin:0;
  max-width:650px;
  color:var(--theme-muted,#94838d);
  font-size:12px;
  line-height:2.15
}
.feed-intro-mark {
  width:118px;
  height:72px;
  flex:0 0 auto;
  border:1px solid var(--theme-line,#eee4e8);
  border-radius:20px;
  background:var(--theme-surface,#fff);
  color:var(--theme-text,#956a80);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 14px 35px rgba(85,55,72,.05)
}
.feed-intro-mark span {
  font-size:10px;
  line-height:1.7;
  font-weight:850
}
.feed-filters {
  display:flex;
  gap:8px;
  margin-bottom:20px;
  overflow-x:auto;
  scrollbar-width:none
}
.feed-filters::-webkit-scrollbar {
  display:none
}
.feed-filters button {
  border:1px solid var(--theme-line,#ece4e7);
  background:var(--theme-surface,#fff);
  color:var(--theme-text,#8e7b85);
  border-radius:999px;
  padding:9px 17px;
  white-space:nowrap;
  font-size:10.5px;
  font-weight:750;
  transition:.2s ease
}
.feed-filters button:hover,.feed-filters button.is-active {
  color:#fff;
  border-color:var(--theme-focus,#795568);
  background:var(--theme-primary,#795568)
}
.feed-theme-plum {--feed-bg:#755266;--feed-soft:#eadde4;--feed-ink:#fff}
.feed-theme-rose {--feed-bg:#d995a6;--feed-soft:#fae9ed;--feed-ink:#603d4d}
.feed-theme-sage {--feed-bg:#91a392;--feed-soft:#e7eee8;--feed-ink:#334b3d}
.feed-theme-lilac {--feed-bg:#9a82a2;--feed-soft:#eee7f1;--feed-ink:#47384d}
.feed-theme-peach {--feed-bg:#d99a7f;--feed-soft:#fae9df;--feed-ink:#5a4037}
.feed-theme-sand {--feed-bg:#b49d7d;--feed-soft:#f2ecdf;--feed-ink:#4b4134}
.feed-featured {
  min-height:330px;
  padding:42px 46px;
  border-radius:28px;
  background:var(--feed-bg);
  color:var(--feed-ink);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  align-items:center;
  overflow:hidden;
  position:relative;
  box-shadow:0 24px 55px color-mix(in srgb,var(--feed-bg) 20%,transparent)
}
.feed-featured-copy {
  position:relative;
  z-index:2;
  max-width:620px
}
.feed-card-meta {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:9.5px;
  font-weight:780;
  opacity:.8
}
.feed-card-meta span+span:before {
  content:"";
  display:inline-block;
  width:3px;
  height:3px;
  border-radius:50%;
  background:currentColor;
  vertical-align:middle;
  margin:0 0 0 9px
}
.feed-featured h2 {
  max-width:580px;
  margin:16px 0 10px;
  font-size:29px;
  line-height:1.75;
  letter-spacing:-.5px
}
.feed-featured-copy>p {
  max-width:590px;
  margin:0 0 24px;
  font-size:11.5px;
  line-height:2.2;
  opacity:.82
}
.feed-featured .btn-white {
  color:var(--theme-text,#704d60);
  border:0;
  box-shadow:0 12px 25px rgba(40,25,34,.1)
}
.feed-featured-art {
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:39%;
  pointer-events:none
}
.feed-featured-art img {
  position:absolute;
  width:270px;
  height:auto;
  left:8px;
  bottom:-87px;
  opacity:.96;
  filter:saturate(.78) drop-shadow(0 18px 24px rgba(52,34,44,.12))
}
.feed-orbit {
  position:absolute;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%
}
.feed-orbit.orbit-a {
  width:290px;
  height:290px;
  left:-25px;
  top:12px
}
.feed-orbit.orbit-b {
  width:205px;
  height:205px;
  left:27px;
  top:54px
}
.feed-section {
  margin-top:34px
}
.feed-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:17px
}
.feed-section-heading h3 {
  font-size:17px;
  margin:6px 0 0;
  color:var(--theme-title,#543d4b)
}
.feed-section-heading>span {
  color:var(--theme-muted,#aa98a2);
  font-size:10px
}
.feed-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.feed-card {
  min-width:0;
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#eee7e9);
  border-radius:21px;
  overflow:hidden;
  box-shadow:0 13px 35px rgba(77,48,65,.045);
  transition:transform .2s ease,box-shadow .2s ease
}
.feed-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(77,48,65,.08)
}
.feed-card-cover {
  width:100%;
  height:142px;
  border:0;
  padding:18px;
  background:var(--feed-soft);
  color:var(--feed-bg);
  position:relative;
  overflow:hidden;
  text-align:right
}
.feed-card-cover:before,.feed-card-cover:after {
  content:"";
  position:absolute;
  border:1px solid color-mix(in srgb,var(--feed-bg) 24%,transparent);
  border-radius:50%
}
.feed-card-cover:before {
  width:155px;
  height:155px;
  left:-24px;
  top:-34px
}
.feed-card-cover:after {
  width:105px;
  height:105px;
  left:2px;
  top:-8px
}
.feed-card-cover i {
  position:absolute;
  left:62px;
  bottom:-28px;
  width:82px;
  height:128px;
  border:1px solid color-mix(in srgb,var(--feed-bg) 32%,transparent);
  border-radius:70% 0 70% 0;
  transform:rotate(-25deg)
}
.feed-card-cover b {
  position:absolute;
  right:18px;
  bottom:16px;
  font-size:9px;
  letter-spacing:.1px
}
.feed-card-symbol {
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.72);
  position:relative;
  z-index:1
}
.feed-card-body {
  padding:20px 20px 21px
}
.feed-card-body .feed-card-meta {
  color:var(--theme-muted,#a08f98)
}
.feed-card-body h3 {
  font-size:14px;
  line-height:1.9;
  color:var(--theme-title,#4f3947);
  margin:10px 0 6px
}
.feed-card-body>p {
  color:var(--theme-muted,#96868f);
  font-size:10.5px;
  line-height:2.05;
  margin:0;
  min-height:66px
}
.feed-read-link {
  border:0;
  background:transparent;
  padding:0;
  margin-top:15px;
  color:var(--theme-text,#9d677f);
  font-size:10.5px;
  font-weight:850;
  display:flex;
  align-items:center;
  gap:6px
}
.feed-empty {
  padding:38px;
  border:1px dashed var(--theme-line,#dfd3d8);
  border-radius:20px;
  text-align:center;
  color:var(--theme-muted,#9b8992)
}
.feed-disclaimer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--theme-muted,#9d9096);
  font-size:9.5px;
  margin:26px 0 0
}
.article-reader-modal {
  max-width:760px;
  padding:0;
  overflow:auto
}
.article-reader-modal .modal-close {
  z-index:5;
  background:rgba(255,255,255,.9)
}
.article-reader-head {
  padding:45px 48px 38px;
  background:var(--feed-soft);
  color:var(--feed-ink);
  position:relative;
  overflow:hidden
}
.article-reader-head:after {
  content:"";
  position:absolute;
  left:-75px;
  bottom:-125px;
  width:300px;
  height:300px;
  border:1px solid color-mix(in srgb,var(--feed-bg) 23%,transparent);
  border-radius:50%
}
.article-reader-icon {
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:var(--feed-bg);
  background:rgba(255,255,255,.72);
  margin-bottom:20px
}
.article-reader-head .feed-card-meta {
  color:var(--feed-bg)
}
.article-reader-head h2 {
  color:var(--theme-title,#4f3846);
  font-size:25px;
  line-height:1.75;
  margin:12px 0 8px;
  max-width:590px
}
.article-reader-head>p {
  color:var(--theme-text,#7f6c76);
  line-height:2.15;
  font-size:11px;
  max-width:620px;
  margin:0
}
.article-reader-body {
  padding:34px 48px 45px
}
.article-lead {
  margin:0 0 28px;
  color:var(--theme-title,#64525c);
  font-size:13px;
  line-height:2.25;
  font-weight:650
}
.article-reader-body section {
  margin:0 0 25px
}
.article-reader-body section h3 {
  margin:0 0 6px;
  color:var(--theme-title,#583e4e);
  font-size:15px
}
.article-reader-body section p {
  margin:0;
  color:var(--theme-text,#81727a);
  font-size:11.5px;
  line-height:2.35
}
.article-takeaway {
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:18px 20px;
  background:var(--theme-subtle,#f3f6f1);
  color:#66806d;
  border-radius:16px;
  margin-top:30px
}
.article-takeaway strong {
  display:block;
  font-size:11px;
  margin-bottom:3px
}
.article-takeaway p {
  margin:0;
  font-size:10.5px;
  line-height:2;
  color:#728279
}
.article-medical-note {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--theme-muted,#a3939a);
  font-size:9px;
  margin-top:19px
}
/* Admin */
.admin-auth {
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:25px;
  background:radial-gradient(circle at 15% 20%,var(--theme-subtle,#f5e3e9) 0,transparent 31%),linear-gradient(145deg,var(--theme-canvas,#faf7f5),var(--theme-subtle,#f1e8ed))
}
.admin-auth-card {
  width:min(430px,100%);
  padding:38px;
  border:1px solid var(--theme-line,#eadfe4);
  border-radius:27px;
  background:rgba(255,255,255,.94);
  box-shadow:0 25px 70px rgba(70,46,60,.1)
}
.admin-auth-card .brand {
  margin:0 auto 27px
}
.admin-lock {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:var(--theme-subtle,#f4e3ea);
  color:var(--theme-text,#95637d);
  margin-bottom:18px
}
.admin-lock.admin-denied {
  background:var(--theme-subtle,#f8ece8);
  color:var(--theme-muted,#b26e67)
}
.admin-auth-card h1 {
  font-size:22px;
  color:var(--theme-title,#4f3847);
  margin-bottom:7px
}
.admin-auth-card>p {
  color:var(--theme-muted,#95858e);
  font-size:11px;
  line-height:2;
  margin-bottom:24px
}
.admin-auth-card .text-input {
  margin-bottom:15px
}
.admin-return {
  display:block;
  text-align:center;
  color:var(--theme-muted,#9c8792);
  font-size:10px;
  margin-top:20px
}
.admin-shell {
  min-height:100vh;
  background:var(--theme-canvas,#f7f5f3)
}
.admin-sidebar {
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  width:220px;
  background:var(--theme-primary,#553b4b);
  color:#fff;
  padding:28px 18px;
  display:flex;
  flex-direction:column;
  gap:7px;
  z-index:20
}
.admin-logo {
  display:flex;
  justify-content:center;
  padding:0 5px 32px;
  filter:brightness(0) invert(1);
  opacity:.92
}
.admin-label {
  color:var(--theme-muted,#cdbbc4);
  font-size:9px;
  padding:0 13px 7px
}
.admin-sidebar button,.admin-sidebar>a:not(.admin-logo) {
  width:100%;
  border:0;
  padding:13px 14px;
  border-radius:12px;
  background:transparent;
  color:var(--theme-decoration,#d8cbd1);
  display:flex;
  align-items:center;
  gap:12px;
  font-size:11px;
  font-weight:720;
  text-align:right
}
.admin-sidebar button:hover,.admin-sidebar>a:not(.admin-logo):hover,.admin-sidebar button.is-active {
  color:#fff;
  background:rgba(255,255,255,.1)
}
.admin-sidebar .admin-logout {
  margin-top:auto;
  color:var(--theme-decoration,#e4c6d1)
}
.admin-main {
  margin-right:220px;
  padding:0 clamp(22px,4vw,58px) 65px
}
.admin-topbar {
  height:105px;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.admin-topbar>div:first-child>span {
  color:var(--theme-muted,#a18e99);
  font-size:9px
}
.admin-topbar h1 {
  color:var(--theme-title,#4d3745);
  font-size:23px;
  margin:4px 0 0
}
.admin-profile {
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--theme-text,#786772);
  font-size:10.5px;
  font-weight:750
}
.admin-profile i {
  width:39px;
  height:39px;
  border-radius:13px;
  display:grid;
  place-items:center;
  color:var(--theme-text,#95677e);
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#ebe3e6);
  font-style:normal
}
.admin-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:20px
}
.admin-stats article {
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#ebe5e7);
  border-radius:18px;
  padding:20px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:4px 13px
}
.admin-stats article>span {
  grid-row:span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:var(--theme-text,#96677e);
  background:var(--theme-subtle,#f5e9ed);
  border-radius:14px
}
.admin-stats strong {
  color:var(--theme-title,#513b48);
  font-size:22px;
  line-height:1
}
.admin-stats small {
  color:var(--theme-muted,#9a8b93);
  font-size:9px
}
.admin-content-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:18px
}
.admin-posts-panel,.admin-users-panel {
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#ebe5e7);
  border-radius:20px;
  padding:23px
}
.admin-section-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px
}
.admin-section-head span {
  color:var(--theme-muted,#aa98a2);
  font-size:9px
}
.admin-section-head h2 {
  color:var(--theme-title,#513a48);
  font-size:16px;
  margin:4px 0 0
}
.admin-post-list {
  margin-top:18px
}
.admin-post-list>article {
  display:grid;
  grid-template-columns:45px minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:13px 0;
  border-top:1px solid var(--theme-line,#f2edef)
}
.admin-post-theme {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:var(--feed-bg);
  background:var(--feed-soft)
}
.admin-post-list strong {
  display:block;
  color:var(--theme-title,#59424f);
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.admin-post-list small {
  color:var(--theme-muted,#a19199);
  font-size:8.5px
}
.admin-status {
  padding:5px 9px;
  border-radius:99px;
  font-size:8px;
  font-style:normal;
  color:var(--theme-text,#967c62);
  background:#f5efe5
}
.admin-status.published {
  color:#66806d;
  background:var(--theme-subtle,#e9f1ea)
}
.admin-row-actions {
  display:flex;
  gap:5px
}
.admin-row-actions button {
  width:31px;
  height:31px;
  border:0;
  border-radius:9px;
  background:var(--theme-canvas,#f7f3f5);
  color:var(--theme-text,#8f7483)
}
.admin-row-actions button:last-child {
  color:var(--theme-muted,#b86e72)
}
.admin-user-list {
  margin-top:18px
}
.admin-user-list>div {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 0;
  border-top:1px solid var(--theme-line,#f2edef)
}
.admin-user-list>div>i {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:var(--theme-subtle,#f4eaee);
  color:var(--theme-text,#996b81);
  font-style:normal
}
.admin-user-list span {
  min-width:0;
  flex:1
}
.admin-user-list strong,.admin-user-list small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.admin-user-list strong {
  color:var(--theme-title,#5e4854);
  font-size:10px
}
.admin-user-list small {
  color:var(--theme-muted,#a3939a);
  font-size:8px;
  margin-top:3px
}
.admin-user-list b {
  font-size:8px;
  color:var(--theme-text,#866178)
}
.admin-editor-backdrop {
  position:fixed;
  inset:0;
  z-index:50;
  background:rgba(47,33,42,.48);
  display:flex;
  justify-content:flex-start;
  backdrop-filter:blur(5px)
}
.admin-editor {
  width:min(820px,calc(100% - 220px));
  height:100%;
  overflow:auto;
  padding:30px 35px;
  background:var(--theme-surface,#fff);
  box-shadow:25px 0 70px rgba(40,26,34,.18)
}
.admin-editor form {
  margin-top:25px
}
.admin-editor label {
  display:block;
  color:var(--theme-title,#66535e);
  font-size:10px;
  font-weight:750;
  margin-bottom:17px
}
.admin-editor label>.text-input {
  display:block;
  margin-top:7px
}
.admin-editor label>small {
  display:block;
  color:var(--theme-muted,#a4939c);
  font-weight:400;
  margin-top:5px
}
.admin-form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.admin-form-four {
  grid-template-columns:repeat(4,1fr)
}
.admin-body-field {
  line-height:2;
  resize:vertical
}
.admin-editor-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding-top:10px
}
/* Settings */
.settings-grid {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(245px,.8fr);
  gap:22px
}
.settings-main {
  display:flex;
  flex-direction:column;
  gap:18px
}
.theme-options {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding-top:18px
}
.theme-option {
  position:relative;
  min-width:0;
  padding:13px 10px 12px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface);
  color:var(--ink);
  text-align:right
}
.theme-option:hover,.theme-option.is-selected {border-color:var(--rose);box-shadow:0 6px 18px color-mix(in srgb,var(--rose) 18%,transparent)}
.theme-option strong,.theme-option small {display:block}
.theme-option strong {font-size:11px;margin-top:9px;color:var(--title)}
.theme-option small {font-size:9px;line-height:1.7;color:var(--muted);margin-top:3px}
.theme-option>b {position:absolute;top:8px;left:8px;width:19px;height:19px;border-radius:50%;display:none;place-items:center;background:var(--plum);color:#fff}
.theme-option.is-selected>b {display:grid}
.theme-swatches {display:flex;height:32px;overflow:hidden;border-radius:9px}
.theme-swatches i {flex:1}
.theme-preview-classic .theme-swatches i:nth-child(1){background:#704a60}.theme-preview-classic .theme-swatches i:nth-child(2){background:#ce7891}.theme-preview-classic .theme-swatches i:nth-child(3){background:#eee6f3}
.theme-preview-midnight .theme-swatches i:nth-child(1){background:#10203f}.theme-preview-midnight .theme-swatches i:nth-child(2){background:#ef8b7d}.theme-preview-midnight .theme-swatches i:nth-child(3){background:#e8e1ef}
.theme-preview-sage .theme-swatches i:nth-child(1){background:#496553}.theme-preview-sage .theme-swatches i:nth-child(2){background:#dca184}.theme-preview-sage .theme-swatches i:nth-child(3){background:#dce8e1}
:root[data-theme="midnight"] .app-header,:root[data-theme="midnight"] .bottom-nav {border-color:#ded7d3}
:root[data-theme="sage"] .app-header,:root[data-theme="sage"] .bottom-nav {border-color:#dedbcf}
:root[data-theme="midnight"] .setting-header-icon,:root[data-theme="sage"] .setting-header-icon {background:var(--rose-pale);color:var(--rose-dark)}
@media(max-width:600px){.theme-options{grid-template-columns:1fr}.theme-option{display:grid;grid-template-columns:76px 1fr;column-gap:11px;align-items:center}.theme-swatches{grid-row:1/3}.theme-option strong{margin-top:0}.theme-option small{margin-top:0}}
.setting-section {
  padding:24px 25px
}
.setting-heading {
  display:flex;
  gap:13px;
  align-items:center;
  padding-bottom:17px;
  border-bottom:1px solid var(--theme-line,#f4eef1)
}
.setting-header-icon {
  width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--theme-subtle,#faeaf0);
  color:var(--theme-muted,#c7839b)
}
.setting-header-icon.violet-icon {
  background:var(--theme-subtle,#f2edf7);
  color:var(--theme-muted,#9d87ab)
}
.setting-header-icon.sage-icon {
  background:var(--theme-subtle,#edf4ee);
  color:#8ca997
}
.setting-heading h3 {
  font-size:13px;
  margin:0 0 6px
}
.setting-heading p {
  font-size:10px;
  color:var(--theme-muted,#aba0aa);
  margin:0
}
.setting-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  border-bottom:1px solid var(--theme-line,#f8f3f5);
  padding:19px 1px
}
.setting-row:last-child {
  border-bottom:0;
  padding-bottom:2px
}
.setting-row>div:first-child {
  display:flex;
  flex-direction:column;
  gap:7px
}
.setting-row strong {
  font-size:12px;
  color:var(--theme-title,#6a5061)
}
.setting-row small {
  font-size:10px;
  color:var(--theme-muted,#aaa0a8);
  line-height:1.8
}
.tag {
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border-radius:9px;
  background:var(--theme-subtle,#f8edf1);
  color:var(--theme-muted,#b07b92);
  font-size:10px;
  font-weight:800;
  white-space:nowrap
}
.tag-green {
  background:var(--theme-subtle,#eaf4eb);
  color:#729a7c
}
.ltr-email {
  direction:ltr;
  text-align:right
}
.setting-icon-btn {
  width:37px;
  height:37px;
  border-radius:11px;
  color:var(--theme-muted,#ac7c92);
  background:var(--theme-canvas,#fbf0f4);
  border:0;
  display:grid;
  place-items:center
}
.pill-switch {
  width:48px;
  height:27px;
  background:var(--theme-tint,#e4dce1);
  border:0;
  border-radius:22px;
  padding:3px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  direction:ltr;
  transition:.2s
}
.pill-switch i {
  width:21px;
  height:21px;
  border-radius:50%;
  background:var(--theme-surface,#fff);
  box-shadow:0 2px 5px #0001
}
.pill-switch.switch-on {
  background:var(--theme-primary,#b9839a);
  justify-content:flex-start
}
.settings-aside {
  display:flex;
  flex-direction:column;
  gap:20px
}
.settings-reassurance {
  background:var(--theme-subtle,#ede6f1);
  min-height:350px;
  border-radius:24px;
  position:relative;
  overflow:hidden;
  padding:30px 25px
}
.settings-reassurance>svg {
  position:absolute;
  width:275px;
  left:-99px;
  top:53px;
  color:var(--theme-decoration,#ddd1e7);
  opacity:.8
}
.settings-reassurance>span {
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  background:var(--theme-canvas,#fff7fe);
  color:var(--theme-muted,#9f7ba9);
  border-radius:15px
}
.settings-reassurance h3 {
  position:relative;
  font-size:22px;
  color:var(--theme-text,#796080);
  line-height:1.8;
  margin:25px 0 14px
}
.settings-reassurance p {
  position:relative;
  font-size:11px;
  color:var(--theme-muted,#a290a8);
  line-height:2.1;
  max-width:220px
}
.reassurance-line {
  font-size:11px;
  color:var(--theme-muted,#ac8cae);
  margin-top:30px
}
.settings-medical {
  padding:21px;
  border:1px solid var(--theme-line,#eee8e5);
  background:var(--theme-surface,#fff);
  border-radius:17px
}
.settings-medical strong {
  display:flex;
  gap:8px;
  align-items:center;
  color:var(--theme-text,#826d79);
  font-size:12px
}
.settings-medical p {
  font-size:10px;
  line-height:2.3;
  color:var(--theme-muted,#a397a0);
  margin:9px 0 0
}
/* Drawers and dialogs */
.modal-backdrop {
  position:fixed;
  inset:0;
  background:rgba(49,31,47,.4);
  backdrop-filter:blur(5px);
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:25px
}
.modal-card {
  position:relative;
  background:var(--theme-surface,#fff);
  border:1px solid var(--theme-line,#f5ebed);
  box-shadow:0 30px 100px rgba(43,25,38,.19);
  border-radius:25px;
  max-width:450px;
  width:100%;
  max-height:min(92vh,980px);
  overflow:auto;
  padding:32px;
  animation:modalup .22s ease-out
}
@keyframes modalup {
  from {
    opacity:0;
    transform:translateY(16px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.modal-card.checkin-modal {
  width:min(650px,100%);
  max-width:650px;
  padding:34px 37px
}
.modal-close {
  position:absolute;
  left:21px;
  top:21px;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--theme-canvas,#f8f4f6);
  color:var(--theme-muted,#a28b9b);
  border:0
}
.modal-eyebrow {
  font-size:11px;
  color:var(--theme-muted,#bd849b);
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px
}
.modal-title {
  font-size:23px;
  color:var(--theme-title,#543c4f);
  font-weight:850;
  line-height:1.6;
  margin:10px 0 8px;
  padding-left:30px
}
.modal-desc {
  font-size:11px;
  line-height:2.15;
  color:var(--theme-muted,#a3949e);
  margin:0 0 23px
}
.form-group {
  margin-top:24px
}
.form-group>label,.form-group .range-head>label {
  display:block;
  color:var(--theme-text,#6e5667);
  font-size:12px;
  font-weight:800;
  margin-bottom:12px
}
.form-group>label small {
  font-weight:500;
  color:var(--theme-muted,#ad9fa9)
}
.choice-flow {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px
}
.flow-option,.modal-mood {
  padding:12px 4px;
  border:1px solid var(--theme-line,#f1ebef);
  background:var(--theme-surface,#fdfafb);
  border-radius:13px;
  color:var(--theme-muted,#a1919d);
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:7px;
  font-size:10px
}
.flow-option.picked,.modal-mood.picked {
  border-color:var(--theme-line,#e9bdce);
  background:var(--theme-canvas,#fff0f4);
  color:var(--theme-muted,#ac6d85);
  font-weight:850
}
.flow-drop {
  color:var(--theme-muted,#d0b1c0)
}
.drop-heavy {
  color:#b34c70
}
.drop-moderate {
  color:#cd7892
}
.drop-light {
  color:#dbabc0
}
.drop-spotting {
  color:#ead3dc
}
.drop-none {
  color:#d4cbd0
}
.modal-moods {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px
}
.modal-mood span {
  font-size:22px
}
.modal-mood small {
  font-size:10px
}
.range-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px
}
.range-head>label {
  margin:0!important
}
.range-head strong {
  font-size:11px;
  color:var(--theme-muted,#aa7791)
}
.pain-range {
  width:100%;
  accent-color:var(--theme-primary,#bd7992);
  cursor:pointer;
  margin:9px 0
}
.range-labels {
  display:flex;
  justify-content:space-between;
  color:var(--theme-muted,#b7aab2);
  font-size:9px
}
.energy-row {
  display:flex;
  align-items:center;
  gap:9px
}
.energy-dot {
  width:36px;
  height:36px;
  border:1px solid var(--theme-line,#f3e8ec);
  border-radius:11px;
  background:var(--theme-canvas,#fbf7f9);
  color:var(--theme-decoration,#d5c0ca);
  display:grid;
  place-items:center
}
.energy-dot.active {
  background:var(--theme-subtle,#f4e1e9);
  color:var(--theme-muted,#c3819d)
}
.energy-row>span {
  font-size:11px;
  color:var(--theme-muted,#998692);
  margin-right:12px
}
.sleep-choices {
  display:flex;
  gap:9px
}
.sleep-choice {
  border:1px solid var(--theme-line,#f1e9ee);
  background:var(--theme-canvas,#fcf8fa);
  color:var(--theme-muted,#aa94a1);
  padding:9px 24px;
  border-radius:11px;
  font-size:11px
}
.sleep-choice.picked {
  background:var(--theme-subtle,#eee6f3);
  color:var(--theme-text,#866c96);
  border-color:var(--theme-line,#e5d7ec);
  font-weight:800
}
.symptoms-pills {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.symptom-choice {
  background:var(--theme-canvas,#fbf8fa);
  border:1px solid var(--theme-line,#f1e9ee);
  color:var(--theme-muted,#a18e99);
  padding:8px 12px;
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:12px;
  font-size:11px
}
.symptom-choice>span {
  color:var(--theme-muted,#c194a6);
  font-size:14px
}
.symptom-choice.picked {
  background:var(--theme-subtle,#f9e8ed);
  color:var(--theme-muted,#a76d85);
  border-color:var(--theme-line,#eec8d6);
  font-weight:760
}
.note-field,.text-input {
  display:block;
  width:100%;
  border-radius:12px;
  border:1px solid var(--theme-line,#ede6eb);
  background:var(--theme-surface,#fdfbfc);
  resize:vertical;
  padding:12px 14px;
  outline:0;
  color:var(--theme-title,#695261)
}
.note-field::placeholder,.text-input::placeholder {
  color:var(--theme-muted,#c4b7c0)
}
.note-field:focus,.text-input:focus {
  border-color:var(--theme-focus,#d6a5bb);
  background:var(--theme-surface,#fff)
}
.save-checkin {
  margin-top:28px
}
.auth-switch {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--theme-canvas,#f9f3f6);
  border-radius:12px;
  padding:5px;
  gap:5px;
  margin-bottom:19px
}
.auth-switch button {
  background:transparent;
  border:0;
  border-radius:9px;
  padding:11px;
  color:var(--theme-muted,#aa93a1);
  font-size:12px;
  font-weight:750
}
.auth-switch button.picked {
  background:var(--theme-surface,#fff);
  color:var(--theme-text,#8e6178);
  box-shadow:0 3px 9px #6042530d
}
.field-label {
  display:block;
  font-size:11px;
  font-weight:760;
  color:var(--theme-text,#776173);
  margin:17px 0 8px
}
.text-input {
  height:48px
}
.auth-submit {
  margin-top:24px
}
.auth-foot {
  display:flex;
  gap:6px;
  align-items:start;
  font-size:10px;
  color:var(--theme-muted,#b1a5ad);
  line-height:1.9;
  margin-top:14px
}
.confirm-actions {
  display:flex;
  gap:10px;
  justify-content:flex-end
}
.confirm-actions>.btn {
  flex:1
}
.form-help {
  font-size:11px;
  color:var(--theme-muted,#b7788a);
  text-align:center
}
.toast {
  position:fixed;
  left:25px;
  bottom:28px;
  z-index:150;
  background:var(--theme-primary,#614457);
  color:#fff;
  border-radius:14px;
  box-shadow:0 12px 35px #39263533;
  padding:14px 20px;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:12px;
  font-weight:740;
  max-width:min(360px,calc(100% - 50px))
}
.toast-error { background:#8f4258; }
.pin-lock-backdrop {
  z-index:130;
  background:var(--theme-canvas,#f8f4f6);
  backdrop-filter:none
}
.pin-lock-card {
  text-align:center
}
.lock-symbol {
  width:60px;
  height:60px;
  border-radius:20px;
  background:var(--theme-subtle,#f6e4eb);
  color:var(--theme-muted,#a4748f);
  margin:0 auto 15px;
  display:grid;
  place-items:center
}
.pin-lock-card h2 {
  font-size:18px
}
.pin-lock-card p {
  font-size:12px;
  color:var(--theme-muted,#9f91a0)
}
.pin-lock-card .wide-btn {
  margin-top:18px
}
.pin-lock-card .biometric-unlock {
  margin-bottom:4px
}
.lock-divider {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 2px;
  color:var(--theme-muted,#a99ba7);
  font-size:11px
}
.lock-divider::before,.lock-divider::after {
  content:"";
  flex:1;
  height:1px;
  background:var(--theme-tint,#eadfe6)
}
.security-note {
  margin:12px 0 0;
  color:var(--theme-text,#8e7f8b);
  font-size:11px;
  line-height:1.8
}
.pill-switch:disabled {
  opacity:.45;
  cursor:not-allowed
}
/* Printable doctor report, hidden in screen */
.print-report {
  display:none
}
@media print {
  body {
    background:white!important;
    color:var(--theme-title,#222)!important
  }
  .landing-page,.app-shell,.toast,.modal-backdrop {
    display:none!important
  }
  .print-report {
    display:block!important;
    direction:rtl;
    max-width:100%;
    font-family:Tahoma,sans-serif;
    padding:0 15px
  }
  .print-report h1 {
    font-size:22px
  }
  .print-report h2 {
    font-size:16px;
    margin-top:24px
  }
  .print-report p {
    font-size:11px
  }
  .print-report table {
    width:100%;
    border-collapse:collapse;
    font-size:10px
  }
  .print-report th,.print-report td {
    border:1px solid #ddd;
    padding:8px;
    text-align:right
  }
  .print-report th {
    background:#f3f3f3
  }
  .print-disclaimer {
    margin-top:30px;
    color:#666
  }
}
/* Responsive */
@media (min-width:1500px) {
  .app-content {
    padding-inline:58px
  }
  .app-header {
    padding-inline:58px
  }
}
@media (max-width:1190px) {
  .container {
    width:min(1100px,calc(100% - 62px))
  }
  .hero-visual {
    transform:scale(.92);
    transform-origin:center
  }
  .hero-copy h1 {
    font-size:47px
  }
  .preview-phone {
    width:310px
  }
  .sidebar {
    width:220px;
    padding-inline:16px
  }
  .app-workspace {
    margin-right:220px
  }
  .app-content,.app-header {
    padding-inline:27px
  }
  .dashboard-grid {
    grid-template-columns:1fr 1fr .93fr;
    gap:15px
  }
  .cycle-hero {
    padding:25px
  }
  .cycle-hero h2 {
    font-size:21px
  }
  .main-ring {
    width:168px;
    height:168px
  }
  .cycle-hero-chart {
    min-width:172px
  }
  .overview-stats strong {
    font-size:19px
  }
  .home-mood>span {
    width:42px;
    height:42px
  }
  .next-main {
    font-size:24px
  }
  .next-period-card {
    padding:23px
  }
  .settings-grid {
    grid-template-columns:1.6fr .8fr
  }
}
@media (max-width:960px) {
  .landing-header {
    height:82px
  }
  .landing-links {
    gap:15px
  }
  .hero-section {
    min-height:auto;
    grid-template-columns:1fr 1fr;
    padding-bottom:65px
  }
  .hero-copy h1 {
    font-size:40px
  }
  .hero-subtitle {
    font-size:12px
  }
  .hero-visual {
    height:540px;
    transform:scale(.8);
    margin:-30px -35px
  }
  .hero-woman {
    left:-92px;
    width:445px
  }
  .preview-phone {
    transform:translateX(62px) rotate(-5deg)
  }
  .benefit-strip .strip-inner {
    gap:15px;
    flex-wrap:wrap;
    padding-block:15px
  }
  .feature-card {
    padding:20px;
    min-height:425px
  }
  .feature-graphic {
    transform:scale(.85);
    transform-origin:center
  }
  .journey-inner {
    gap:40px
  }
  .privacy-panel {
    padding:45px
  }
  .privacy-deco {
    opacity:.5
  }
  .sidebar {
    width:82px;
    padding:30px 13px;
    align-items:center
  }
  .app-brand {
    padding:0;
    margin-bottom:55px
  }
  .app-brand .app-lockup-img {
    display:none
  }
  .app-brand .app-logo {
    width:48px!important;
    height:48px!important
  }
  .app-brand .app-logo-mark {
    display:block!important
  }
  .sidebar-section-label,.side-nav-link span,.active-dot,.sidebar-lower {
    display:none
  }
  .side-nav {
    width:100%
  }
  .side-nav-link {
    padding:14px;
    justify-content:center
  }
  .app-workspace {
    margin-right:82px
  }
  .dashboard-grid {
    grid-template-columns:1fr 1fr;
    grid-template-areas:"cycle cycle" "next check" "pms pms" "overview overview" "mini note"
  }
  .next-period-card {
    min-height:280px
  }
  .calendar-view {
    grid-template-columns:1fr
  }
  .calendar-sidebar {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:start
  }
  .settings-grid {
    grid-template-columns:1fr
  }
  .settings-aside {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .settings-reassurance {
    min-height:275px
  }
}
@media (max-width:700px) {
  body {
    font-size:13px
  }
  .container {
    width:calc(100% - 40px)
  }
  .landing-header {
    height:76px
  }
  .landing-header .brand {
    font-size:19px
  }
  .landing-header .brand-mark-img {
    width:42px;
    height:42px
  }
  .landing-links {
    display:none
  }
  .landing-login {
    padding:10px 12px;
    font-size:11px;
    white-space:normal;
    text-align:center
  }
  .hero-section {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:33px 0 15px
  }
  .hero-copy {
    padding:0;
    overflow-wrap:anywhere
  }
  .eyebrow {
    font-size:10px
  }
  .hero-copy h1 {
    font-size:42px;
    line-height:1.7;
    margin:25px 0 13px;
    overflow-wrap:anywhere
  }
  .hero-subtitle {
    font-size:12px;
    line-height:2.35;
    max-width:560px;
    overflow-wrap:anywhere
  }
  .hero-actions {
    gap:17px;
    flex-wrap:wrap;
    align-items:stretch
  }
  .hero-actions .btn {
    font-size:12px;
    white-space:normal
  }
  .link-text {
    font-size:11px;
    white-space:normal
  }
  .hero-trust {
    margin-top:33px
  }
  .hero-visual {
    height:660px;
    min-height:660px;
    transform:none;
    margin:-10px -20px -35px
  }
  .hero-woman {
    width:360px;
    left:-55px;
    top:-6px;
    bottom:auto;
    opacity:.94
  }
  .preview-phone {
    transform:translate(50px,105px) rotate(-5deg) scale(.9);
    transform-origin:center top
  }
  .visual-halo-one {
    width:510px;
    height:510px;
    left:50%;
    transform:translateX(-50%);
    top:28px
  }
  .visual-halo-two {
    left:50%;
    transform:translateX(-50%)
  }
  .floating-card-mood {
    top:225px;
    right:-4px
  }
  .floating-card-privacy {
    bottom:64px;
    left:-4px
  }
  .benefit-strip .strip-inner {
    min-height:90px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:19px 0
  }
  .strip-inner span {
    font-size:11px;
    gap:8px
  }
  .strip-inner i {
    display:none
  }
  .landing-section {
    padding:71px 0
  }
  .section-heading {
    display:block;
    margin-bottom:25px
  }
  .section-heading h2,.journey-copy h2,.last-cta h2 {
    font-size:29px
  }
  .section-heading>p {
    margin-top:13px;
    width:auto;
    font-size:12px
  }
  .feature-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .feature-card {
    min-height:420px
  }
  .feature-graphic {
    height:245px;
    transform:none
  }
  .journey-section {
    padding:70px 0
  }
  .journey-inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:33px
  }
  .journey-copy p {
    font-size:12px
  }
  .journey-steps {
    gap:12px
  }
  .journey-step {
    padding:16px
  }
  .privacy-section {
    padding:70px 0
  }
  .privacy-panel {
    padding:36px 26px;
    min-height:430px
  }
  .privacy-icon {
    width:42px;
    height:42px
  }
  .privacy-content h2 {
    font-size:23px
  }
  .privacy-content p {
    font-size:11px
  }
  .privacy-list {
    gap:13px
  }
  .privacy-list span {
    font-size:10px
  }
  .privacy-deco {
    left:-195px;
    top:30px
  }
  .last-cta {
    padding:0 0 70px
  }
  .footer-inner {
    padding:25px 0;
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
    gap:10px
  }
  .footer-inner p {
    width:100%;
    order:2
  }
  .footer-inner>span {
    order:3;
    width:100%
  }
  .app-shell {
    padding-bottom:79px
  }
  .sidebar {
    display:none
  }
  .app-workspace {
    margin:0
  }
  .install-banner {
    margin:14px 15px 0;
    padding:10px 12px
  }
  .install-banner__copy strong {
    font-size:11px
  }
  .install-banner__copy span {
    font-size:9px
  }
  .install-banner .btn {
    min-width:64px;
    padding:9px 12px
  }
  .install-banner {
    align-items:center;
    padding:10px 12px
  }
  .install-banner__copy {
    flex:1;
    min-width:0
  }
  .install-banner__actions {
    flex-shrink:0
  }
  .app-header {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
      "brand actions"
      "heading heading";
    align-items:center;
    padding:14px 20px 16px;
    height:auto;
    min-height:128px;
    column-gap:12px;
    row-gap:12px
  }
  .app-heading {
    grid-area:heading;
    min-width:0;
    margin:0
  }
  .app-heading h1 {
    font-size:19px;
    line-height:1.5;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word
  }
  .mobile-brand {
    grid-area:brand;
    display:flex;
    align-items:center;
    gap:7px;
    color:var(--theme-text,#7c546a);
    font-size:13px;
    position:static;
    justify-self:start;
    min-height:32px
  }
  .mobile-brand .app-logo--compact {
    width:112px!important;
    height:40px!important
  }
  .app-heading h1 {
    font-size:19px
  }
  .page-eyebrow {
    font-size:9px;
    margin-bottom:3px
  }
  .app-header-actions {
    grid-area:actions;
    justify-self:end;
    margin:0;
    gap:7px
  }
  .header-today {
    font-size:9px;
    margin-top:2px
  }
  .header-today .ic {
    width:13px
  }
  .avatar-btn {
    width:36px;
    height:36px;
    border-radius:11px
  }
  .app-content {
    padding:0 15px 25px
  }
  .demo-banner,.guest-note {
    align-items:flex-start;
    font-size:10px;
    flex-wrap:wrap;
    margin-bottom:12px;
    padding:10px
  }
  .demo-banner .text-btn {
    margin-right:auto
  }
  .dashboard-grid {
    display:flex;
    flex-direction:column;
    gap:13px
  }
  .cycle-hero {
    min-height:265px;
    padding:21px 19px;
    gap:0
  }
  .cycle-hero h2 {
    font-size:19px;
    margin:15px 0 4px
  }
  .cycle-hero p {
    font-size:10px;
    margin-bottom:16px;
    max-width:225px
  }
  .cycle-hero-text {
    max-width:60%
  }
  .cycle-actions .btn {
    padding:9px 10px;
    gap:6px;
    font-size:9px
  }
  .circle-arrow {
    width:34px;
    height:34px
  }
  .hero-note {
    font-size:9px;
    margin-top:14px
  }
  .cycle-hero-chart {
    min-width:135px;
    margin-left:-7px
  }
  .main-ring {
    width:139px;
    height:139px
  }
  .main-ring:before {
    inset:11px
  }
  .main-ring .ring-interior strong {
    font-size:42px
  }
  .main-ring .ring-interior span,.main-ring .ring-interior small {
    font-size:9px
  }
  .ring-tick {
    width:27px;
    height:27px;
    font-size:16px;
    left:-5px;
    top:27px
  }
  .next-period-card {
    min-height:250px;
    padding:22px
  }
  .next-period-card h3 {
    margin:17px 0 5px;
    font-size:12px
  }
  .next-main {
    font-size:24px
  }
  .next-period-card>p {
    margin-bottom:20px
  }
  .next-bottom {
    bottom:18px;
    right:22px;
    left:22px
  }
  .surface-card {
    border-radius:18px
  }
  .checkin-card,.overview-card,.mini-month-card,.insight-note {
    padding:22px
  }
  .home-mood>span {
    height:45px;
    width:45px
  }
  .overview-stats {
    margin:24px 0 18px
  }
  .overview-stats strong {
    font-size:20px
  }
  .insight-note {
    min-height:250px
  }
  .mini-month-card .day-cell {
    max-height:47px
  }
  .bottom-nav {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:35;
    height:72px;
    background:rgba(255,255,255,.98);
    border-top:1px solid var(--theme-line,#f0e8ec);
    display:flex;
    align-items:center;
    justify-content:space-around;
    padding:7px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 20px rgba(74,37,58,.03)
  }
  .bottom-nav-link {
    position:relative;
    border:0;
    background:transparent;
    color:var(--theme-muted,#b0a0aa);
    font-size:9px;
    font-weight:700;
    display:flex;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    min-width:48px;
    min-height:48px
  }
  .bottom-nav-link.is-active {
    color:var(--theme-muted,#a86e89)
  }
  .bottom-nav-link.is-action .ic {
    background:var(--theme-primary,#8a6179);
    color:#fff;
    width:41px;
    height:41px;
    border-radius:13px;
    padding:10px;
    margin-top:-18px;
    box-shadow:0 6px 17px #79536a3b
  }
  .bottom-nav-link.is-action span {
    font-size:9px
  }
  .bottom-nav-link:not(.is-action).is-active:before {
    content:"";
    height:3px;
    width:21px;
    border-radius:3px;
    position:absolute;
    top:-12px;
    background:var(--theme-accent,#c489a0)
  }
  .app-footer-note {
    font-size:9px;
    line-height:2;
    margin:25px 0 8px
  }
  .calendar-view,.settings-grid {
    display:block
  }
  .calendar-main {
    padding:17px
  }
  .calendar-heading {
    align-items:flex-start
  }
  .calendar-heading .block-heading h3 {
    font-size:15px
  }
  .calendar-main .month-title {
    font-size:17px
  }
  .calendar-main .days-grid {
    gap:3px
  }
  .calendar-main .day-cell {
    min-height:40px;
    border-radius:10px;
    font-size:11px
  }
  .calendar-main .weekdays {
    margin-bottom:7px
  }
  .calendar-legend {
    gap:10px
  }
  .calendar-legend span {
    font-size:9px
  }
  .calendar-sidebar {
    display:flex;
    flex-direction:column;
    margin-top:13px;
    gap:13px
  }
  .prediction-explain {
    width:100%
  }
  .insight-lead h2,.settings-intro h2 {
    font-size:20px
  }
  .insight-lead p,.settings-intro p {
    font-size:11px
  }
  .insight-kpis {
    grid-template-columns:1fr 1fr;
    gap:10px
  }
  .kpi-card {
    padding:17px
  }
  .kpi-card:last-child {
    grid-column:span 2
  }
  .kpi-card strong {
    font-size:26px
  }
  .kpi-card>span {
    font-size:10px
  }
  .insights-panels {
    display:block
  }
  .insights-panels>article {
    margin-bottom:13px;
    padding:18px
  }
  .bars-chart {
    height:205px
  }
  .insight-actions {
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:15px
  }
  .insight-actions .btn {
    width:100%
  }
  .settings-main {
    gap:13px
  }
  .setting-section {
    padding:19px
  }
  .setting-row small {
    font-size:9px;
    max-width:230px
  }
  .settings-aside {
    display:flex;
    flex-direction:column;
    margin-top:13px
  }
  .settings-reassurance {
    min-height:260px
  }
  .modal-backdrop {
    align-items:flex-end;
    padding:0
  }
  .modal-card,.modal-card.checkin-modal {
    max-width:100%;
    width:100%;
    border-radius:24px 24px 0 0;
    max-height:94vh;
    padding:25px 22px calc(26px + env(safe-area-inset-bottom))
  }
  .modal-title {
    font-size:20px
  }
  .choice-flow,.modal-moods {
    gap:5px
  }
  .flow-option,.modal-mood {
    padding:10px 2px;
    font-size:9px
  }
  .flow-option span,.modal-mood small {
    font-size:9px
  }
  .energy-row {
    gap:7px
  }
  .modal-card:not(.checkin-modal) {
    max-height:85vh
  }
  .toast {
    bottom:85px;
    left:15px;
    font-size:11px
  }
}
@media (display-mode:standalone) {
  .app-header {
    padding-top:max(20px,env(safe-area-inset-top))
  }
  .app-shell {
    min-height:100dvh
  }
}
@media (max-width:390px) {
  .hero-copy h1 {
    font-size:36px
  }
  .hero-visual {
    height:640px;
    min-height:640px;
    transform:none;
    margin:-5px -20px -35px
  }
  .hero-woman {
    width:335px;
    left:-44px;
    top:0
  }
  .preview-phone {
    transform:translate(44px,105px) rotate(-5deg) scale(.86)
  }
  .floating-card-mood {
    top:218px;
    right:-8px
  }
  .floating-card-privacy {
    bottom:56px;
    left:-6px
  }
  .cycle-hero-chart {
    min-width:111px
  }
  .main-ring {
    width:113px;
    height:113px
  }
  .main-ring .ring-interior strong {
    font-size:33px
  }
  .cycle-hero h2 {
    font-size:17px
  }
  .cycle-hero p {
    font-size:9px
  }
  .home-mood>span {
    width:39px;
    height:39px
  }
  .flow-option span {
    font-size:8px
  }
  .calendar-main .day-cell {
    min-height:34px
  }
}
@media (max-width:1100px) {
  .landing-blog-grid,.blog-public-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .feed-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .feed-featured {
    grid-template-columns:minmax(0,1.25fr) minmax(200px,.75fr)
  }
  .admin-content-grid {
    grid-template-columns:1fr
  }
  .admin-users-panel {
    display:none
  }
}
@media (max-width:700px) {
  .landing-header .landing-links {
    display:flex;
    order:2;
    margin-inline-start:auto;
    margin-inline-end:10px
  }
  .landing-header .landing-links a:not([href="/blog"]):not([href="#shop"]) {
    display:none
  }
  .landing-header .landing-links a[href="/blog"],.landing-header .landing-links a[href="#shop"] {
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border:1px solid var(--theme-line,#eadde3);
    border-radius:999px;
    background:var(--theme-surface,#fff8fa);
    color:var(--theme-text,#8b5e75);
    font-size:10px;
    font-weight:800
  }
  .landing-header .landing-links{gap:5px;margin-inline-end:4px}.landing-header .landing-links a[href="/blog"],.landing-header .landing-links a[href="#shop"]{padding:7px 9px;font-size:9px}
  .landing-shop{padding:58px 0 64px}.landing-shop-heading{display:block}.landing-shop-heading h2{font-size:30px}.landing-shop-heading p{font-size:11px;max-width:290px}.landing-shop-mark{position:absolute;left:5px;top:0;width:72px;height:72px;border-radius:24px}.landing-shop-grid{display:flex;overflow-x:auto;gap:12px;margin:30px -16px 0;padding:0 16px 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.landing-shop-grid::-webkit-scrollbar{display:none}.landing-shop-card{min-width:76vw;scroll-snap-align:center;border-radius:22px}.landing-shop-art{height:170px}
  .landing-blog {
    padding:52px 0 72px
  }
  .landing-blog-grid,.blog-public-grid {
    grid-template-columns:1fr;
    gap:13px
  }
  .landing-blog-card {
    min-height:260px
  }
  .blog-header {
    height:76px
  }
  .blog-header nav {
    display:none
  }
  .blog-header .btn {
    padding:10px 12px;
    font-size:10px
  }
  .blog-index-hero {
    min-height:470px;
    border-radius:0;
    padding:45px 20px 205px
  }
  .blog-index-hero h1 {
    font-size:34px
  }
  .blog-index-hero img {
    width:245px;
    left:50%;
    transform:translateX(-50%);
    bottom:-78px;
    opacity:.9
  }
  .blog-list-section {
    padding:48px 0 75px
  }
  .blog-article {
    padding-top:10px
  }
  .blog-article-hero {
    min-height:330px;
    display:block;
    padding:35px 25px
  }
  .blog-article-hero h1 {
    font-size:23px
  }
  .blog-article-symbol {
    width:60px;
    height:60px;
    margin-top:24px
  }
  .blog-article-content {
    padding:35px 4px
  }
  .blog-article-content p {
    font-size:11.5px
  }
  .admin-auth-card {
    padding:28px 22px
  }
  .admin-sidebar {
    position:static;
    width:100%;
    height:64px;
    padding:8px 14px;
    flex-direction:row;
    align-items:center
  }
  .admin-logo {
    padding:0;
    margin-left:auto
  }
  .admin-logo .app-logo {
    width:95px!important
  }
  .admin-label,.admin-sidebar button:not(.admin-logout),.admin-sidebar>a:not(.admin-logo) {
    display:none
  }
  .admin-sidebar .admin-logout {
    width:auto;
    margin:0;
    padding:10px
  }
  .admin-main {
    margin-right:0;
    padding:0 16px 45px
  }
  .admin-topbar {
    height:88px
  }
  .admin-topbar h1 {
    font-size:19px
  }
  .admin-profile>span {
    display:none
  }
  .admin-stats {
    grid-template-columns:1fr 1fr;
    gap:9px
  }
  .admin-stats article {
    padding:14px
  }
  .admin-posts-panel {
    padding:17px
  }
  .admin-post-list>article {
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:9px
  }
  .admin-status {
    display:none
  }
  .admin-post-theme {
    width:38px;
    height:38px
  }
  .admin-editor-backdrop {
    align-items:flex-end
  }
  .admin-editor {
    width:100%;
    height:94vh;
    padding:24px 19px calc(30px + env(safe-area-inset-bottom));
    border-radius:24px 24px 0 0
  }
  .admin-form-row,.admin-form-four {
    grid-template-columns:1fr
  }
  .admin-editor-actions .btn {
    flex:1;
    padding-inline:10px
  }
  .feed-view {
    padding-bottom:8px
  }
  .feed-intro {
    display:block;
    margin-top:0;
    margin-bottom:19px
  }
  .feed-intro h2 {
    font-size:23px;
    margin-top:7px
  }
  .feed-intro p {
    font-size:10.5px
  }
  .feed-intro-mark {
    display:none
  }
  .feed-filters {
    margin-left:-20px;
    margin-right:-20px;
    padding:0 20px 5px
  }
  .feed-featured {
    min-height:365px;
    display:block;
    padding:28px 24px;
    border-radius:22px
  }
  .feed-featured-copy {
    max-width:82%
  }
  .feed-featured h2 {
    font-size:21px;
    line-height:1.8;
    margin-top:13px
  }
  .feed-featured-copy>p {
    font-size:10.5px;
    line-height:2.05
  }
  .feed-featured-art {
    width:58%;
    opacity:.58
  }
  .feed-featured-art img {
    width:225px;
    left:-24px;
    bottom:-72px
  }
  .feed-section {
    margin-top:27px
  }
  .feed-section-heading {
    align-items:center
  }
  .feed-section-heading h3 {
    font-size:15px
  }
  .feed-grid {
    grid-template-columns:1fr;
    gap:13px
  }
  .feed-card {
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    border-radius:18px
  }
  .feed-card-cover {
    height:100%;
    min-height:190px;
    padding:13px
  }
  .feed-card-cover b {
    right:13px;
    bottom:13px
  }
  .feed-card-cover i {
    left:28px
  }
  .feed-card-symbol {
    width:42px;
    height:42px;
    border-radius:14px
  }
  .feed-card-body {
    padding:16px 15px 15px
  }
  .feed-card-body h3 {
    font-size:12px;
    margin-top:7px
  }
  .feed-card-body>p {
    font-size:9.5px;
    min-height:0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden
  }
  .feed-read-link {
    margin-top:10px;
    font-size:9.5px
  }
  .feed-disclaimer {
    align-items:flex-start;
    line-height:1.9;
    text-align:center
  }
  .modal-card.article-reader-modal {
    padding:0;
    max-height:94vh
  }
  .article-reader-head {
    padding:38px 23px 28px
  }
  .article-reader-head h2 {
    font-size:20px
  }
  .article-reader-body {
    padding:25px 23px calc(31px + env(safe-area-inset-bottom))
  }
  .article-lead {
    font-size:12px
  }
  .article-reader-body section p {
    font-size:11px
  }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important
  }
}
.notification-btn{position:relative;width:43px;height:43px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer}
.notification-btn.has-unread{color:var(--plum);border-color:rgba(154,91,119,.3)}
.notification-btn i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:var(--coral);color:#fff;box-shadow:0 0 0 3px var(--surface);font-size:9px;font-style:normal;display:grid;place-items:center}
.calendar-primary{display:flex;flex-direction:column;gap:16px;min-width:0}
.period-history{grid-column:1;width:100%;margin-top:0}
.period-history summary{align-items:center;list-style:none}.period-history summary::-webkit-details-marker{display:none}.period-history summary>span{display:flex;align-items:center;gap:8px}.period-history summary small{font-size:10px;color:var(--ink-muted);font-weight:500}.period-history summary>.ic{transition:transform .2s ease;transform:rotate(180deg)}.period-history[open] summary>.ic{transform:rotate(90deg)}
.day-detail-state{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--lavender-pale);color:var(--plum);font-weight:700;margin:14px 0}
.day-detail-state.is-period{background:var(--rose-pale);color:var(--coral-deep)}
.day-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.day-detail-grid>div{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.day-detail-grid span{display:block;font-size:11px;color:var(--ink-muted);margin-bottom:4px}.day-detail-grid strong{font-size:13px}.day-detail-note{padding:12px;border-radius:12px;background:var(--cream);margin:12px 0}.day-detail-note span{font-size:11px;color:var(--ink-muted)}.day-detail-note p{margin:5px 0 0}
.notification-list{display:grid;gap:8px;margin:16px 0}.notification-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:right;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer}.notification-item.is-unread:after{content:"";position:absolute;top:10px;right:10px;width:6px;height:6px;border-radius:50%;background:var(--coral)}.notification-item>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--rose-pale);color:var(--plum);flex:none}.notification-warning>span{background:#fff0e7;color:#b76542}.notification-reminder>span{background:var(--lavender-pale);color:var(--plum)}.notification-article>span{background:var(--theme-subtle,#edf5ef);color:#58735f}.notification-item div{flex:1}.notification-item strong,.notification-item small{display:block}.notification-item small{color:var(--ink-muted);font-size:10px;margin-bottom:3px}.notification-item p{margin:4px 0 0;color:var(--ink-muted);font-size:11px;line-height:1.7}.notification-empty{padding:22px 14px;text-align:center;color:var(--ink-muted);background:var(--surface-muted);border-radius:14px;margin:16px 0}
@media (max-width:700px){.period-history{margin-top:13px}.day-detail-grid{grid-template-columns:1fr 1fr}.notification-btn{width:39px;height:39px}}

/* Perioda Shop */
.mobile-home-magazine{display:none}.shop-view{display:grid;gap:24px}.shop-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 10px 30px rgba(80,51,68,.055)}.shop-search>span{display:grid;color:var(--plum)}.shop-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.shop-search input::placeholder{color:var(--ink-muted)}.shop-search input::-webkit-search-cancel-button{display:none}.shop-search button{width:30px;height:30px;border:0;border-radius:10px;background:var(--rose-pale);color:var(--plum);display:grid;place-items:center;cursor:pointer}.shop-search small{grid-column:2/-1;margin-top:-6px;color:var(--ink-muted);font-size:9px}.shop-hero{min-height:250px;padding:42px;border-radius:28px;background:linear-gradient(135deg,var(--theme-primary,#6f4962),var(--theme-primary,#9d6680));color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.shop-hero h2{font-size:36px;margin:10px 0}.shop-hero p{max-width:540px;color:var(--theme-decoration,#f8eaf0)}.shop-hero-mark{width:130px;height:130px;border-radius:40px;display:grid;place-items:center;background:rgba(255,255,255,.13);transform:rotate(-8deg)}.shop-promises{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}.shop-promises span{display:flex;align-items:center;gap:5px;font-size:11px}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.shop-cart-summary{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding:10px 14px;border-radius:14px;color:var(--plum);white-space:nowrap}.shop-cart-summary b{display:grid;place-items:center;background:var(--plum);color:#fff;border-radius:9px;min-width:20px;height:20px;font-size:10px}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shop-product{border:1px solid rgba(119,75,98,.09);background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 12px 36px rgba(80,51,68,.06)}.shop-product-art{width:100%;height:190px;border:0;background:linear-gradient(145deg,rgba(255,255,255,.4),transparent);color:var(--plum);position:relative;display:grid;place-items:center;cursor:pointer}.shop-product-art span{width:82px;height:82px;border-radius:30px;background:rgba(255,255,255,.6);display:grid;place-items:center}.shop-product-art b{position:absolute;top:13px;right:13px;background:var(--theme-surface,#fff);color:var(--coral-deep);border-radius:12px;padding:6px 9px;font-size:9px}.shop-product-copy{padding:18px}.shop-product-copy>small{color:var(--ink-muted)}.shop-product-copy h3{margin:7px 0 14px;color:var(--ink);font-size:16px}.shop-price{min-height:45px;display:flex;flex-direction:column;align-items:flex-start;margin-bottom:12px}.shop-price del{color:var(--ink-muted);font-size:10px}.shop-price strong{font-size:15px;color:var(--plum)}.shop-orders{padding:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.shop-orders h3{margin:5px 0}.shop-order-list{min-width:min(100%,520px);display:grid;gap:7px}.shop-order-list button,.admin-order-table button{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;padding:11px;display:flex;align-items:center;gap:12px;text-align:right;color:var(--ink)}.shop-order-list button span,.admin-order-table button span{flex:1}.shop-order-list strong,.shop-order-list small,.admin-order-table strong,.admin-order-table small{display:block}.shop-order-list small,.admin-order-table small{font-size:10px;color:var(--ink-muted);margin-top:3px}.order-status{font-size:9px;padding:5px 8px;border-radius:9px;background:var(--theme-subtle,#f4edf2);color:var(--plum);white-space:nowrap}.status-delivered{background:var(--theme-subtle,#eaf4ed);color:#4d7258}.status-cancelled{background:var(--theme-canvas,#fff0f0);color:var(--theme-text,#a75454)}.status-shipped{background:var(--theme-subtle,#edf1f8);color:#526b91}.shop-note{display:flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:11px}.product-modal-art{height:145px;border-radius:20px;display:grid;place-items:center;color:var(--plum);margin-bottom:18px}.product-description{white-space:pre-wrap}.product-modal-price{display:flex;align-items:center;gap:12px;margin:18px 0}.product-modal-price strong{font-size:22px;color:var(--plum)}.product-modal-price del{color:var(--ink-muted)}.product-stock{color:#58735f;font-size:11px;margin-bottom:12px}.product-stock.low{color:var(--theme-text,#b76542)}.cart-list{display:grid;gap:9px;margin:18px 0}.cart-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.cart-thumb{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--plum)}.cart-row>div:nth-child(2){flex:1}.cart-row strong,.cart-row small{display:block}.cart-row small{color:var(--ink-muted);font-size:10px;margin-top:3px}.cart-stepper{display:flex;align-items:center;gap:7px}.cart-stepper button{width:28px;height:28px;border:1px solid var(--line);background:var(--theme-surface,#fff);border-radius:9px}.cart-totals{display:grid;gap:9px;padding:14px;background:var(--surface-muted);border-radius:14px;margin:14px 0}.cart-totals>div{display:flex;justify-content:space-between;font-size:11px}.cart-total{border-top:1px solid var(--line);padding-top:9px;font-size:13px!important}.payment-options{border:1px solid var(--line);border-radius:14px;margin:14px 0;padding:12px;display:grid;gap:10px}.payment-options legend{padding:0 7px;font-weight:700}.payment-options label{display:flex;align-items:center;gap:8px}.payment-options .is-disabled{opacity:.5}.checkout-final{display:flex;justify-content:space-between;padding:14px 0}.checkout-final strong{color:var(--plum);font-size:17px}.order-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:18px 0}.order-timeline span{font-size:9px;text-align:center;padding:8px 3px;border-radius:9px;background:var(--surface-muted);color:var(--ink-muted)}.order-timeline span.done{background:var(--theme-subtle,#eaf4ed);color:#4d7258}.order-items{display:grid;gap:8px;margin:14px 0}.order-items>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.tracking-code{padding:12px;border-radius:12px;background:var(--theme-subtle,#edf1f8);display:flex;justify-content:space-between}.admin-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.admin-order-table{display:grid;gap:7px;padding:14px}.admin-order-table button{width:100%}.admin-order-editor{max-width:700px}.admin-address{background:var(--surface-muted);padding:13px;border-radius:12px;line-height:1.9}
@media(max-width:900px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shop-grid{grid-template-columns:1fr}}
@media(max-width:700px){.mobile-home-magazine{display:block;grid-column:1/-1;margin-top:5px}.mobile-magazine-scroll{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;padding:4px 1px 10px}.mobile-magazine-scroll .feed-card{min-width:82vw;scroll-snap-align:start}.shop-hero{min-height:auto;padding:25px 20px;border-radius:22px}.shop-hero h2{font-size:27px}.shop-hero-mark{width:72px;height:72px;border-radius:24px}.shop-promises{gap:8px}.shop-toolbar{align-items:flex-start;flex-direction:column}.shop-cart-summary{width:100%;justify-content:center}.shop-grid{grid-template-columns:1fr 1fr;gap:10px}.shop-product-art{height:125px}.shop-product-copy{padding:12px}.shop-product-copy h3{font-size:13px;min-height:38px}.shop-product-copy .btn{font-size:10px;padding:10px 4px}.shop-orders{display:block}.shop-order-list{margin-top:15px}.order-timeline{grid-template-columns:1fr 1fr}.admin-shop-grid{display:block}.admin-shop-grid>div+div{margin-top:15px}}
@media(max-width:700px){.cycle-hero{flex-direction:column;align-items:stretch;min-height:auto;padding:24px 20px}.cycle-hero-text{max-width:100%}.cycle-hero-chart{min-width:0;margin:22px 0 0}.cycle-overview-ring{max-width:none}.main-ring{width:210px;height:210px}.main-ring .ring-interior strong{font-size:52px}.cycle-phase-legend{font-size:9px;gap:7px 8px}.cycle-phase-legend span{min-width:96px;padding:7px 10px}.cycle-estimate-note{font-size:9px;max-width:280px}}

/* Refined mobile storefront */
.shop-product-copy>p{display:none}.shop-product-art>i{position:absolute;left:13px;bottom:12px;font-size:9px;font-style:normal;color:rgba(91,63,78,.72);background:rgba(255,255,255,.58);backdrop-filter:blur(8px);padding:5px 8px;border-radius:10px}
.shop-product-art.has-image{background:var(--theme-subtle,#f5edef)}.shop-product-art>img{width:100%;height:100%;object-fit:cover;display:block}.shop-product-art>em{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.82);color:var(--theme-text,#745267);font-size:8px;font-style:normal;backdrop-filter:blur(8px)}.product-gallery{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;margin:0 0 18px;padding-bottom:7px;scrollbar-width:thin}.product-gallery img{width:100%;min-width:100%;height:300px;object-fit:cover;border-radius:22px;scroll-snap-align:center;background:var(--theme-subtle,#f3edef)}.admin-product-images{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-muted)}.admin-product-images>div:first-child strong,.admin-product-images>div:first-child small{display:block}.admin-product-images>div:first-child small{color:var(--ink-muted);font-size:10px;margin-top:4px}.admin-image-strip{display:flex;gap:9px;overflow-x:auto;padding:12px 0}.admin-image-strip figure{position:relative;flex:0 0 105px;height:90px;margin:0}.admin-image-strip img{width:100%;height:100%;object-fit:cover;border-radius:12px}.admin-image-strip button{position:absolute;top:5px;left:5px;width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.9);color:var(--theme-text,#a35267);display:grid;place-items:center}.admin-image-strip b{position:absolute;right:5px;bottom:5px;background:rgba(75,47,63,.82);color:#fff;border-radius:7px;padding:3px 5px;font-size:7px}.admin-image-drop{margin-top:12px;min-height:78px;border:1px dashed var(--theme-line,#cfb7c3);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--plum);cursor:pointer;position:relative}.admin-image-drop span strong,.admin-image-drop span small{display:block}.admin-image-drop span small{font-size:9px;color:var(--ink-muted);margin-top:3px}.admin-image-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
@media(max-width:700px){
  .shop-view{gap:18px;margin:0 -4px;padding-bottom:12px}
  .shop-search{min-height:60px;padding:11px 14px;border-radius:19px;box-shadow:0 10px 30px rgba(79,49,66,.09)}
  .shop-search input{font-size:12px}
  .shop-hero{min-height:285px;padding:28px 23px 23px;display:block;background:radial-gradient(circle at 18% 15%,rgba(255,226,234,.28),transparent 34%),linear-gradient(145deg,var(--theme-primary,#533849) 0%,var(--theme-primary,#7b5067) 58%,var(--theme-primary,#b9788d) 100%);box-shadow:0 22px 50px rgba(84,48,68,.18)}
  .shop-hero:before,.shop-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}
  .shop-hero:before{width:190px;height:190px;left:-72px;bottom:-88px}.shop-hero:after{width:110px;height:110px;left:28px;bottom:-62px}
  .shop-hero .section-kicker{color:var(--theme-decoration,#f5dfe8);font-size:10px;letter-spacing:.04em}
  .shop-hero h2{font-size:30px;line-height:1.35;margin:12px 0 8px;max-width:250px}
  .shop-hero p{font-size:12px;line-height:2;max-width:275px;margin:0;color:rgba(255,255,255,.78)}
  .shop-hero-mark{position:absolute;left:18px;top:22px;width:66px;height:66px;border-radius:24px;color:#fff;transform:rotate(-9deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
  .shop-promises{position:absolute;right:20px;left:20px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0;padding-top:13px;border-top:1px solid rgba(255,255,255,.14)}
  .shop-promises span{justify-content:center;font-size:9px;gap:4px;color:rgba(255,255,255,.84);white-space:nowrap}
  .shop-toolbar{position:sticky;top:0;z-index:6;margin:0 -12px;padding:10px 12px 9px;background:linear-gradient(to bottom,rgba(255,251,249,.98) 75%,rgba(255,251,249,0));backdrop-filter:blur(14px)}
  .shop-toolbar .feed-filters{display:flex;width:100%;overflow-x:auto;gap:7px;padding:1px 0 7px;scrollbar-width:none;flex-wrap:nowrap}.shop-toolbar .feed-filters::-webkit-scrollbar{display:none}
  .shop-toolbar .feed-filters button{flex:none;min-height:37px;padding:8px 15px;border-radius:14px;font-size:10px;white-space:nowrap}
  .shop-cart-summary{min-height:48px;border:0;border-radius:17px;background:var(--theme-surface,#fff);box-shadow:0 9px 30px rgba(79,49,66,.1);font-weight:800;justify-content:space-between;padding:0 17px}
  .shop-cart-summary b{margin-right:auto;min-width:25px;height:25px;border-radius:9px}
  .shop-grid{display:flex;flex-direction:column;gap:13px}
  .shop-product{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:170px;border-radius:22px;border:1px solid rgba(112,73,94,.07);box-shadow:0 12px 34px rgba(83,49,67,.075);background:var(--theme-surface,#fff)}
  .shop-product-art{height:100%;min-height:170px;border-radius:0 22px 22px 0}
  .shop-product-art span{width:62px;height:62px;border-radius:22px}.shop-product-art span .ic{width:28px;height:28px}
  .shop-product-art b{top:10px;right:9px;font-size:8px;padding:5px 7px}.shop-product-art>i{left:8px;bottom:9px;font-size:8px}
  .shop-product-copy{padding:15px 13px 13px;display:flex;flex-direction:column;align-items:stretch}
  .shop-product-copy>small{font-size:9px;color:var(--theme-muted,#a27d90)}.shop-product-copy h3{font-size:14px;line-height:1.65;min-height:0;margin:5px 0 4px}
  .shop-product-copy>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:9px;line-height:1.75;color:var(--ink-muted);margin:0 0 8px}
  .shop-price{min-height:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:6px;margin:auto 0 8px}.shop-price strong{font-size:13px}.shop-price del{font-size:8px}
  .shop-product-copy .btn{min-height:39px;margin:0;border-radius:13px;font-size:10px;padding:8px}
  .shop-product.is-featured{display:block;border-radius:26px;overflow:hidden}.shop-product.is-featured .shop-product-art{height:210px;min-height:210px;border-radius:0}.shop-product.is-featured .shop-product-art span{width:90px;height:90px;border-radius:32px}.shop-product.is-featured .shop-product-art span .ic{width:38px;height:38px}.shop-product.is-featured .shop-product-copy{padding:17px}.shop-product.is-featured .shop-product-copy h3{font-size:18px}.shop-product.is-featured .shop-product-copy>p{-webkit-line-clamp:2;font-size:10px}.shop-product.is-featured .shop-price strong{font-size:16px}
  .shop-orders{padding:20px;border-radius:22px;box-shadow:0 10px 32px rgba(83,49,67,.06)}.shop-orders h3{font-size:17px}.shop-order-list button{min-height:61px;border:0;background:var(--theme-canvas,#faf6f8);padding:11px 12px;border-radius:14px}
  .shop-note{padding:0 8px;line-height:1.8;font-size:9px}
  .product-modal-art{height:180px;border-radius:24px}.product-modal-price{justify-content:space-between}.product-modal-price strong{font-size:19px}
  .product-gallery{margin-inline:-3px}.product-gallery img{height:330px;border-radius:20px}
  .cart-row{padding:10px 0;align-items:flex-start}.cart-thumb{width:50px;height:50px}.cart-stepper{align-self:center}.cart-stepper button{width:34px;height:34px;border-radius:11px}
  .cart-totals{padding:16px;border-radius:16px}.checkout-final{position:sticky;bottom:0;background:var(--theme-surface,#fff);padding:14px 0 8px}
}

/* Keep the home action visually elevated without changing the bar's height. */
@media(max-width:700px){
  .bottom-nav-link:nth-child(3) .ic{width:50px!important;height:50px!important;padding:13px!important;margin-top:-25px!important;border:4px solid var(--theme-surface,#fff)!important;border-radius:18px!important;background:linear-gradient(145deg,var(--theme-accent,#c9829e),var(--theme-primary,#765067))!important;color:#fff!important;box-shadow:0 10px 24px rgba(91,52,74,.25)!important;transform:translateY(-1px)!important}
  .bottom-nav-link:nth-child(3)>span{margin-top:-1px!important;font-weight:850!important;color:var(--theme-primary,#765067)!important}
  .bottom-nav-link:nth-child(3):active .ic{transform:translateY(1px) scale(.95)!important}
}

/* Order tracking */
.order-mini-progress{display:block!important;width:100%;height:4px;margin-top:9px!important;border-radius:10px;background:var(--theme-tint,#eadfe5);overflow:hidden}.order-mini-progress em{display:block;width:var(--order-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--theme-accent,#d78ba1),var(--theme-primary,#704a60));transition:width .35s ease}.order-mini-progress.is-cancelled em{width:100%;background:var(--theme-accent,#d99797)}.order-progress-card{margin:18px 0 22px;padding:20px 18px 17px;border:1px solid var(--theme-line,#eee3e8);border-radius:22px;background:linear-gradient(145deg,var(--theme-surface,#fff) 0%,var(--theme-canvas,#fdf7f9) 100%);box-shadow:0 12px 32px rgba(88,54,72,.07)}.order-progress-heading{display:flex;align-items:center;gap:12px}.order-progress-symbol{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--theme-primary,#b97690),var(--theme-primary,#704a60));box-shadow:0 8px 18px rgba(112,74,96,.2)}.order-progress-heading>div{flex:1}.order-progress-heading small{display:block;color:var(--ink-muted);font-size:9px}.order-progress-heading h2{margin:3px 0 0;font-size:17px;color:var(--ink)}.order-progress-heading>b{padding:6px 9px;border-radius:10px;background:var(--theme-subtle,#f2e7ec);color:var(--plum);font-size:11px}.order-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);direction:rtl;margin:27px -4px 0}.order-timeline-track{position:absolute;z-index:0;inset-inline-start:12.5%;top:15px;width:75%;height:3px;border-radius:4px;background:var(--theme-tint,#e8dfe4);overflow:hidden}.order-timeline-track em{display:block;width:var(--order-progress);height:100%;background:linear-gradient(90deg,var(--theme-accent,#d88ca3),var(--theme-primary,#704a60));border-radius:inherit;transition:width .4s ease}.order-stage{position:relative;z-index:1;min-width:0;display:flex;align-items:center;flex-direction:column;text-align:center;color:var(--theme-muted,#aa9ba4)}.order-stage>span{width:31px;height:31px;display:grid;place-items:center;border:3px solid var(--theme-line,#fdf9fa);border-radius:50%;background:var(--theme-subtle,#ece5e9);color:var(--theme-muted,#9f9099);font-size:10px;font-style:normal;box-shadow:0 0 0 1px #e7dce2}.order-stage strong{margin-top:8px;font-size:9px;line-height:1.6}.order-stage small{min-height:17px;margin-top:2px;font-size:8px;color:var(--theme-text,#9a7788);line-height:1.5}.order-stage.is-complete>span,.order-stage.is-current>span{color:#fff;background:var(--theme-primary,#84586e);box-shadow:0 0 0 1px #84586e}.order-stage.is-current>span{transform:scale(1.12);background:var(--theme-primary,#c97892);box-shadow:0 0 0 5px #f8e6ec}.order-stage.is-complete strong,.order-stage.is-current strong{color:var(--theme-title,#684659)}.order-progress-card.is-cancelled{background:var(--theme-surface,#fff8f8);border-color:var(--theme-line,#f2dede)}.order-progress-card.is-cancelled .order-progress-symbol{background:var(--theme-primary,#b76666)}.order-progress-card.is-cancelled .order-progress-heading>b{background:var(--theme-subtle,#fae5e5);color:var(--theme-text,#9c5252)}.order-cancelled-note{display:flex;align-items:center;gap:7px;margin-top:15px;padding:10px 12px;border-radius:12px;background:var(--theme-surface,#fff);color:var(--theme-text,#9c5f5f);font-size:10px}.tracking-code{align-items:center;gap:10px}.tracking-code span{display:flex;align-items:center;gap:6px;color:#607394;font-size:10px}.tracking-code strong{color:#455978;letter-spacing:.6px}.order-address{margin-top:16px;padding:12px;border-radius:12px;background:var(--surface-muted)}
@media(max-width:700px){.order-progress-card{padding:17px 12px 14px}.order-progress-heading h2{font-size:15px}.order-progress-symbol{width:40px;height:40px}.order-stage strong{font-size:8px}.order-stage small{display:none}.order-timeline{grid-template-columns:repeat(4,1fr);margin-inline:-8px}.tracking-code{align-items:flex-start;flex-direction:column}}

/* Public storefront and admin shop tabs */
.landing-shop-card>.landing-shop-art{width:100%;border:0;cursor:pointer}.landing-shop-card>.landing-shop-link{border:0;background:transparent;padding:0;cursor:pointer}.landing-shop-card>.landing-shop-link:disabled{color:var(--theme-muted,#aa9da4)}.landing-shop-heading .btn b{min-width:21px;height:21px;padding:2px 6px;border-radius:8px;background:var(--theme-primary,#704a60);color:#fff;display:grid;place-items:center;font-size:9px}.admin-nav-badge{margin-right:auto;min-width:21px;height:21px;padding:2px 6px;border-radius:8px;background:var(--theme-accent,#d9849d);color:#fff;display:grid;place-items:center;font-size:9px}.admin-tab-articles .admin-shop-grid{display:none}.admin-tab-products .admin-stats,.admin-tab-products .admin-content-grid,.admin-tab-orders .admin-stats,.admin-tab-orders .admin-content-grid{display:none}.admin-tab-products .admin-shop-grid,.admin-tab-orders .admin-shop-grid{grid-template-columns:minmax(0,1fr);margin-top:0}.admin-tab-products .admin-orders-panel,.admin-tab-orders .admin-products-panel{display:none}.admin-order-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;padding:0 14px 14px}.admin-order-filters label{font-size:10px;color:var(--theme-text,#826f7a)}.admin-order-filters .text-input{margin-top:6px;background:var(--theme-surface,#fff)}.admin-orders-panel .admin-order-table button{min-height:62px}.admin-orders-panel .admin-order-table small span{display:inline}.admin-tracking-code{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0;padding:15px 16px;border-radius:14px;background:var(--theme-subtle,#edf1f8);color:#607394}.admin-tracking-code span{display:flex;align-items:center;gap:7px;font-size:10px}.admin-tracking-code strong{font-size:17px;letter-spacing:1.2px;color:#455978}
@media(max-width:700px){.admin-sidebar{height:auto;min-height:64px;flex-wrap:wrap}.admin-sidebar .admin-label{display:none}.admin-sidebar button[data-action="admin-tab"]{display:flex!important;width:calc(33.333% - 5px);justify-content:center;padding:9px 6px;font-size:9px}.admin-sidebar button[data-action="admin-tab"] svg{width:16px}.admin-sidebar .admin-logout{position:absolute;left:12px;top:11px}.admin-sidebar .admin-logo{width:100%;justify-content:flex-start;padding-left:45px}.admin-main{padding-top:70px}.admin-order-filters{grid-template-columns:1fr}.landing-shop-card>.landing-shop-art{height:170px}}
@media(max-width:370px){.shop-hero-mark{display:none}.shop-hero h2{font-size:27px}.shop-product{grid-template-columns:105px minmax(0,1fr)}.shop-promises span{font-size:8px}}

.admin-pending-strip figure{background:var(--theme-surface,#fff);border:1px dashed var(--theme-line,#cfb7c3);border-radius:12px;display:flex;align-items:center;justify-content:center;padding:8px 6px;box-sizing:border-box}
.admin-pending-name{font-size:9px;line-height:1.4;word-break:break-all;text-align:center;color:var(--ink-muted);max-height:52px;overflow:hidden;padding:0 3px}

/* Forum — available only inside the authenticated app */
.forum-view{display:grid;gap:22px;max-width:1050px;margin:auto}.forum-hero{position:relative;overflow:hidden;min-height:230px;padding:36px 40px;border-radius:28px;background:radial-gradient(circle at 8% 10%,rgba(255,220,229,.32),transparent 28%),linear-gradient(135deg,#68475d,#9b6078);color:#fff;display:flex;justify-content:space-between;align-items:flex-end}.forum-hero:after{content:'♡';position:absolute;left:8%;top:-47px;font-size:210px;color:rgba(255,255,255,.065);transform:rotate(-14deg)}.forum-hero h2{font-size:32px;line-height:1.55;margin:8px 0}.forum-hero p{max-width:570px;line-height:2;color:rgba(255,255,255,.76);margin:0}.forum-hero .btn{z-index:1;flex:none}.forum-composer{padding:26px;display:grid;grid-template-columns:1fr 220px;gap:15px}.forum-composer>div:first-child,.forum-composer>label:nth-of-type(2){grid-column:1/-1}.forum-composer label{font-size:11px;font-weight:700}.forum-composer .text-input{margin-top:7px}.forum-composer>div:last-child{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.forum-tools{display:grid;gap:13px}.forum-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 9px 8px 15px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 9px 26px rgba(80,51,68,.05)}.forum-search input{border:0;outline:0;background:transparent;font:inherit;color:var(--ink);min-width:0}.forum-search button{border:0;background:var(--plum);color:#fff;border-radius:12px;padding:10px 18px;font:inherit;cursor:pointer}.forum-filters{display:flex;gap:8px;overflow-x:auto}.forum-filters button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);border-radius:12px;padding:8px 13px;font:inherit;font-size:10px}.forum-filters button.is-active{background:var(--rose-pale);border-color:transparent;color:var(--plum);font-weight:800}.forum-list-head{display:flex;align-items:end;justify-content:space-between}.forum-list-head strong,.forum-list-head small{display:block}.forum-list-head small{margin-top:4px;color:var(--ink-muted);font-size:10px}.forum-list-head>span{font-size:10px;color:var(--ink-muted)}.forum-list{display:grid;gap:12px}.forum-card{padding:0;overflow:hidden}.forum-card-main{width:100%;padding:20px;display:grid;grid-template-columns:42px 1fr;gap:15px;text-align:right;border:0;background:transparent;color:var(--ink);cursor:pointer}.forum-rank{width:38px;height:38px;border-radius:13px;background:var(--lavender-pale);color:var(--plum);font-size:11px;font-weight:800;display:grid;place-items:center}.forum-topic-meta{display:flex;align-items:center;gap:9px}.forum-avatar{width:35px;height:35px;border-radius:12px;background:linear-gradient(145deg,var(--rose-pale),var(--lavender-pale));color:var(--plum);display:grid;place-items:center;font-weight:900;flex:none}.forum-topic-meta strong,.forum-topic-meta small{display:block}.forum-topic-meta strong{font-size:11px}.forum-topic-meta small{font-size:9px;color:var(--ink-muted);margin-top:2px}.forum-card h3{margin:13px 0 6px;font-size:16px}.forum-card-main p{margin:0;color:var(--ink-muted);font-size:11px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.forum-card-foot{display:flex;align-items:center;gap:9px;padding:11px 20px;border-top:1px solid var(--line);background:var(--surface-muted)}.forum-card-foot button,.forum-card-foot span{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:10px}.forum-card-foot button{cursor:pointer}.forum-like.is-liked{color:#bd5d7b!important;font-weight:800}.forum-empty{text-align:center;padding:30px;border:1px dashed var(--line);border-radius:17px;color:var(--ink-muted)}.forum-back{justify-self:start;border:0;background:transparent;color:var(--plum);font:inherit;display:flex;gap:7px;align-items:center;cursor:pointer}.forum-detail{padding:28px}.forum-detail h2{font-size:25px;margin:20px 0 10px}.forum-detail>p{line-height:2.15;white-space:pre-wrap}.forum-detail .forum-card-foot{margin:22px -28px -28px}.forum-mention{color:#a44f72;background:var(--rose-pale);padding:1px 4px;border-radius:5px;font-weight:700}.forum-comments{display:grid;gap:11px}.forum-comments>h3 span{font-size:10px;background:var(--rose-pale);color:var(--plum);padding:4px 7px;border-radius:8px}.forum-comments>article{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:16px;border-bottom:1px solid var(--line)}.forum-comments article strong{font-size:11px}.forum-comments article strong small{font-weight:400;color:var(--ink-muted);margin-right:5px}.forum-comments article p{line-height:2;margin:7px 0}.forum-comments article button{border:0;background:transparent;color:var(--plum);padding:0;font:inherit;font-size:9px;cursor:pointer}.forum-reply{margin-top:12px;padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--line);display:grid;gap:10px}.forum-reply label{font-weight:800}.forum-reply label small{font-weight:400;color:var(--ink-muted);margin-right:5px}.forum-reply textarea{resize:vertical;border:1px solid var(--line);background:var(--surface-muted);color:var(--ink);border-radius:14px;padding:13px;font:inherit;outline:0}.forum-reply textarea:focus{border-color:var(--plum)}.forum-reply .btn{justify-self:end}
@media(max-width:700px){.forum-view{gap:16px}.forum-hero{min-height:280px;padding:26px 20px;display:block;border-radius:23px}.forum-hero h2{font-size:27px}.forum-hero p{font-size:11px}.forum-hero .btn{position:absolute;right:20px;bottom:20px}.forum-composer{grid-template-columns:1fr;padding:18px}.forum-composer>*{grid-column:1!important}.forum-search{grid-template-columns:auto 1fr}.forum-search button{grid-column:1/-1}.forum-card-main{padding:16px;grid-template-columns:34px 1fr;gap:10px}.forum-rank{width:32px;height:32px}.forum-card h3{font-size:14px}.forum-detail{padding:20px}.forum-detail h2{font-size:21px}.forum-detail .forum-card-foot{margin:18px -20px -20px}.forum-comments>article{padding-inline:5px}.forum-reply{padding:15px}}
.forum-sort{display:flex;align-items:center;gap:7px;margin-right:auto;padding:7px 9px 7px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--plum);font-size:10px}.forum-sort span{white-space:nowrap;color:var(--ink-muted)}.forum-sort select{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.forum-list-head>span{margin-right:10px}@media(max-width:700px){.forum-list-head{align-items:center;flex-wrap:wrap;gap:10px}.forum-sort{order:3;width:100%;margin:0;justify-content:center}.forum-list-head>span{margin-right:auto}}
.mobile-checkin{display:none}
@media(max-width:700px){.mobile-brand{gap:9px}.mobile-checkin{display:flex;align-items:center;gap:6px;height:35px;padding:4px 7px 4px 10px;border:1px solid color-mix(in srgb,var(--theme-primary,#8a6179) 22%,transparent);border-radius:12px;background:var(--theme-subtle,#f8e9ef);color:var(--theme-primary,#8a6179);font:inherit;cursor:pointer;white-space:nowrap}.mobile-checkin span{width:25px;height:25px;border-radius:9px;background:var(--theme-primary,#8a6179);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:400;line-height:1}.mobile-checkin b{font-size:9px}.bottom-nav-link:nth-child(3) .ic{width:36px;height:36px;padding:8px;margin-top:-11px;border-radius:13px;background:var(--theme-primary,#8a6179);color:#fff;box-shadow:0 6px 17px #79536a30}.bottom-nav-link:nth-child(3).is-active:before{display:none}.bottom-nav-link:nth-child(3).is-active{color:var(--theme-primary,#8a6179)}}
@media(max-width:390px){.mobile-checkin{padding-left:5px}.mobile-checkin b{display:none}.mobile-brand .app-logo--compact{width:104px!important}}
@media(max-width:700px){.bottom-nav{overflow:visible}.bottom-nav-link:nth-child(3){overflow:visible}.bottom-nav-link:nth-child(3) .ic{width:50px;height:50px;padding:13px;margin-top:-26px;border-radius:18px;border:4px solid var(--theme-surface,#fff);background:linear-gradient(145deg,var(--theme-accent,#c9829e),var(--theme-primary,#765067));box-shadow:0 10px 24px rgba(91,52,74,.28);transform:translateY(-1px);transition:transform .2s ease,box-shadow .2s ease}.bottom-nav-link:nth-child(3):active .ic{transform:translateY(1px) scale(.95);box-shadow:0 5px 14px rgba(91,52,74,.22)}.bottom-nav-link:nth-child(3)>span{margin-top:-2px;font-weight:850;color:var(--theme-primary,#765067)}}
.forum-composer>label:nth-of-type(2){grid-column:auto}.forum-composer>label:nth-of-type(3){grid-column:1/-1}.forum-composer textarea[name="body"]{min-height:210px;resize:vertical;line-height:2;padding:15px}
@media(max-width:700px){.forum-composer textarea[name="body"]{min-height:190px}}

/* Cycle-awareness: opt-in custom symptoms and descriptive premenstrual trends. */
.pms-pattern-card{grid-area:pms;min-width:0;padding:22px 26px;border:1px solid var(--theme-line,#f0e1e8);background:var(--theme-surface,#fff);border-radius:22px}
.pms-pattern-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pms-pattern-heading h3{margin:4px 0;font-size:17px;color:var(--theme-title,#62445a)}
.pms-pattern-icon{width:39px;height:39px;display:grid;place-items:center;flex:none;background:var(--theme-subtle,#f7e9f0);color:var(--theme-primary,#87536f);border-radius:14px}
.pms-pattern-card>strong{display:block;margin:3px 0 9px;color:var(--theme-title,#62445a);font-size:12px}
.pms-pattern-card>p{color:var(--theme-text,#766373);font-size:11px;line-height:1.95;margin:6px 0}
.pms-pattern-card>small{color:var(--theme-muted,#978895);font-size:10px}
.pms-signal-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pms-signal-list span{font-size:10px;padding:7px 10px;border-radius:11px;background:var(--theme-subtle,#f9eff3);color:var(--theme-title,#704d66);overflow-wrap:anywhere}
.pms-pattern-card .pms-forecast{display:flex;align-items:center;gap:7px;font-weight:700;color:var(--theme-primary,#87536f)}
.pms-pattern-card .pms-pattern-caveat{display:flex;align-items:flex-start;gap:7px;border-top:1px solid var(--theme-line,#f0e1e8);padding-top:12px;margin-top:12px;font-size:10px}
.pms-pattern-card .pms-pattern-caveat .ic{flex:none;margin-top:3px}
.pms-pattern-card .tiny-link{margin-top:9px}
.custom-symptom-entry{display:flex;gap:8px;margin-top:11px}
.custom-symptom-entry input{flex:1;min-width:0;font-size:12px}
.custom-symptom-entry button{flex:none;min-width:85px}
.calendar-phase-disclaimer{font-size:10px;line-height:1.75;color:var(--theme-muted,#8d7989);margin:11px 0 0}
.day-cell.is-estimated-fertile{background:color-mix(in srgb,#6cc6ba 16%,var(--theme-surface,#fff));color:var(--theme-title,#355e5b)}
.day-cell.is-estimated-ovulation{background:color-mix(in srgb,#6cc6ba 27%,var(--theme-surface,#fff));color:var(--theme-title,#355e5b);font-weight:850}
.day-cell.is-estimated-ovulation:after{content:'';position:absolute;width:5px;height:5px;top:3px;border-radius:50%;background:#2c9994}
.day-cell.is-estimated-pms{background:color-mix(in srgb,#e9ae62 17%,var(--theme-surface,#fff));color:var(--theme-title,#9c6827)}
.legend-estimated-fertile{background:#b8e5dd}
.legend-estimated-pms{background:#f3d7a8}
@media(max-width:700px){.pms-pattern-card{padding:17px 16px;border-radius:19px}.pms-pattern-heading h3{font-size:15px}.custom-symptom-entry{align-items:stretch}.custom-symptom-entry button{min-width:74px;font-size:11px}}
.insights-view > .pms-pattern-card{margin-top:22px}
/* Partner access and companion app */
.partner-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.partner-nav button{border:0;background:transparent;color:#60747a;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:7px;font:inherit;cursor:pointer}.partner-nav button.is-active{background:#dce6e5;color:#234952;font-weight:800}.partner-bottom-nav{display:none}.partner-dashboard .setting-section{margin-block:18px;padding:24px}.partner-login form{display:grid;gap:14px}.partner-page-heading{border-bottom:1px solid #dbe3e1;margin-bottom:24px}.partner-page-heading span{color:#70848a}.partner-tab-feed .feed-view,.partner-tab-shop .shop-view{padding-bottom:28px}
.partner-feature{margin-block:90px;display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:center;padding:56px;border-radius:34px;background:#e8efed;overflow:hidden}.partner-feature-copy h2{font-size:clamp(32px,4vw,54px);line-height:1.35;margin:14px 0}.partner-feature-copy h2 em{color:#315c59;font-style:normal}.partner-feature-copy>p{line-height:2;color:#5c6e70;max-width:650px}.partner-feature-points{display:grid;gap:12px;margin:24px 0}.partner-feature-points span{display:flex;align-items:center;gap:10px;color:#304d52}.partner-feature-preview{background:linear-gradient(145deg,#213f48,#365d62);color:white;border-radius:28px;padding:30px;box-shadow:0 20px 45px #203b4030}.partner-preview-top{display:flex;justify-content:space-between;color:#bcd0d0;margin-bottom:45px}.partner-feature-preview>small{color:#b9cfcd}.partner-feature-preview h3{font-size:28px;line-height:1.55;margin:10px 0}.partner-feature-preview>p{color:#dce8e7;line-height:1.9}.partner-feature-preview>div:not(.partner-preview-top){margin-top:10px;padding:13px;border-radius:14px;background:#ffffff12;display:flex;justify-content:space-between}.partner-feature-preview>div span{display:flex;gap:7px;align-items:center;color:#c9d9d8}
.partner-access-card{border:1px solid color-mix(in srgb,var(--primary,#7a3953) 18%,transparent)}
.partner-icon{background:#e8eef1;color:#284653}.partner-permission-summary{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}
.partner-permission-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:var(--surface-soft,#f5f1ed);font-size:12px}
.partner-qr{margin-top:18px;padding:16px;border-radius:18px;background:#f3f6f5;text-align:center;display:grid;gap:8px}
.partner-qr img{width:min(230px,80vw);margin:auto;background:#fff;padding:10px;border-radius:14px}.partner-qr small{color:#657176}
.partner-shell{min-height:100vh;background:#eef1ef;color:#1f343b;padding:24px;font-family:inherit;direction:rtl}
.partner-login{width:min(440px,100%);margin:7vh auto;background:#fff;border-radius:28px;padding:34px;box-shadow:0 18px 60px #24383f18;display:grid;gap:18px}
.partner-login .partner-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#dbe5e6;color:#244852}.partner-login h1{margin:0;font-size:32px}.partner-login p{margin:0;color:#607078;line-height:1.9}.partner-login label{display:grid;gap:8px}.partner-login>small{color:#79868b;line-height:1.8}
.partner-dashboard{max-width:1180px;margin:auto}.partner-dashboard header{display:flex;justify-content:space-between;align-items:center;padding:10px 0 28px}.partner-dashboard header span{font-size:12px;letter-spacing:.12em;color:#688087}.partner-dashboard header h1{margin:5px 0 0}.partner-dashboard header button{border:0;border-radius:12px;padding:10px 14px;background:#dfe7e7;color:#2d4b53;display:flex;gap:7px}
.partner-hero{background:linear-gradient(135deg,#203f49,#365e65);color:#fff;border-radius:30px;padding:42px;position:relative;overflow:hidden}.partner-hero:after{content:'◌';position:absolute;left:25px;top:-70px;font-size:230px;opacity:.08}.partner-hero span{color:#bdd1d1}.partner-hero h2{font-size:clamp(30px,5vw,52px);line-height:1.35;margin:16px 0}.partner-hero p{max-width:620px;color:#e4eded;line-height:1.9}
.partner-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.partner-cards article{background:#fff;border-radius:22px;padding:24px;min-height:145px}.partner-cards small{color:#718087}.partner-cards strong{display:block;font-size:24px;margin:16px 0}.partner-cards p{color:#65747a;margin:0}.partner-tip{display:flex;gap:16px;background:#dbe6df;border-radius:22px;padding:24px}.partner-tip>span{width:48px;height:48px;border-radius:15px;background:#fff;display:grid;place-items:center;color:#325d50;flex:none}.partner-tip p{margin:6px 0 0;line-height:1.9}.partner-private{margin-top:14px;padding:13px;text-align:center;color:#66777c;font-size:13px}
@media(max-width:700px){.partner-shell{padding:14px 14px calc(92px + env(safe-area-inset-bottom))}.partner-login{padding:24px}.partner-hero{padding:28px 22px}.partner-cards{grid-template-columns:1fr}.partner-dashboard header h1{font-size:22px}.partner-nav{display:none}.partner-bottom-nav{position:fixed;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);right:0;left:0;bottom:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #dce4e2;box-shadow:0 -8px 25px rgba(27,54,61,.08);backdrop-filter:blur(14px)}.partner-bottom-nav button{border:0;background:transparent;color:#78878b;display:grid;place-items:center;gap:3px;padding:5px;font:inherit;font-size:9px}.partner-bottom-nav button.is-active{color:#244d55;font-weight:850}.partner-bottom-nav button.is-active .ic{background:#dce8e5;border-radius:11px;padding:6px;width:32px;height:32px}.partner-page-heading{padding-top:8px}.partner-tab-shop .shop-search{margin-top:0}.partner-tab-shop .shop-view,.partner-tab-feed .feed-view{padding-bottom:0}}
@media(max-width:900px){.partner-feature{grid-template-columns:1fr;padding:32px 24px;margin-block:55px}}
@media(max-width:700px){
  .landing-header{height:72px;gap:7px;justify-content:flex-start}
  .landing-header .landing-links{display:none}
  .landing-header .brand{margin-inline-end:auto;flex:none}
  .landing-header>.landing-login{flex:none;min-height:42px;padding:9px 11px;font-size:10px;white-space:nowrap}
  .landing-header>button.landing-login{max-width:78px}
  .hero-section{padding-top:22px}
  .partner-feature{width:calc(100% - 28px);padding:28px 20px;border-radius:26px;gap:28px}
  .partner-feature-copy h2{font-size:30px}.partner-feature-copy>p{font-size:12px}.partner-feature-preview{padding:24px 20px}
}

/* --- Private chat ---------------------------------------------------------- */
.side-nav-link,.bottom-nav-link,.partner-nav button,.partner-bottom-nav button{position:relative}
.nav-badge{position:absolute;top:5px;inset-inline-start:calc(50% + 9px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rose);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 2px 6px rgba(206,120,145,.4)}
.header-chat-button{position:relative;color:var(--plum)!important}.header-chat-button.is-active{background:var(--rose-pale)!important;color:var(--rose-dark)!important}.header-chat-badge{position:absolute!important;top:-4px!important;inset-inline-start:-5px!important;min-width:18px!important;height:18px!important;padding:0 4px!important;border:2px solid var(--surface);border-radius:99px!important;background:var(--rose-dark)!important;color:#fff!important;font-size:9px!important;font-style:normal;line-height:14px!important;text-align:center}
.chat-view{display:flex;flex-direction:column;gap:12px;min-height:min(74vh,720px);max-width:960px;margin-inline:auto}
.chat-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--surface) 94%,var(--rose-pale));box-shadow:0 12px 35px rgba(76,47,64,.07)}
.chat-avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose),var(--plum));color:#fff;font-weight:700;font-size:18px}
.chat-head-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.chat-head-info>span{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.chat-head-info strong{font-size:15px;color:var(--title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-presence{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.chat-presence i{width:8px;height:8px;border-radius:50%;background:#c9bec4}
.chat-presence.is-online{color:#3f8f6c}
.chat-presence.is-online i{background:#4cae83;box-shadow:0 0 0 3px rgba(76,174,131,.18)}
.chat-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.chat-connection{font-size:10px;color:var(--muted);padding-inline-start:9px;border-inline-start:1px solid var(--border)}.chat-connection.is-connected{color:#3f8f6c}
.chat-toggle-wrap{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}
.chat-icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--plum);display:grid;place-items:center;cursor:pointer;transition:.2s}
.chat-clear-button{color:var(--muted);opacity:.72}
.chat-icon-btn:hover{background:var(--rose-pale);color:var(--rose-dark)}
.chat-unread-pill{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--rose-pale);color:var(--rose-dark);font-size:11px;font-weight:700;display:grid;place-items:center}
.chat-toggle{flex:none;width:46px;height:26px;border-radius:999px;border:0;background:#e6dde1;cursor:pointer;position:relative;transition:background .2s}
.chat-toggle i{position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .2s}
.chat-toggle.is-on{background:linear-gradient(135deg,var(--rose),var(--plum))}
.chat-toggle.is-on i{transform:translateX(-20px)}
.chat-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:16px;background:var(--rose-pale);border:1px solid var(--border);color:var(--plum-dark);font-size:13px;line-height:1.8}
.chat-notice svg{flex:none;margin-top:2px;color:var(--rose-dark)}
.chat-notice p{margin:0}
.chat-notice-muted{background:var(--lilac);color:var(--plum)}
.chat-link{border:0;background:transparent;color:var(--rose-dark);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.chat-stage{position:relative;flex:1;display:flex;min-height:0}.chat-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:24px 20px 46px;border:1px solid var(--border);border-radius:24px;background-color:var(--surface);background-image:radial-gradient(circle at 15% 18%,rgba(222,179,196,.13) 0 2px,transparent 2.5px),radial-gradient(circle at 83% 72%,rgba(129,157,147,.1) 0 2px,transparent 2.5px);background-size:36px 36px,44px 44px;min-height:340px;max-height:58vh;scrollbar-width:thin;scrollbar-color:var(--rose-pale) transparent}
.chat-loading,.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13px;text-align:center;padding:30px 18px}
.chat-empty svg{color:var(--rose)}
.chat-empty p{margin:0;max-width:34ch;line-height:1.9}
.spinner{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--rose-pale);border-top-color:var(--rose);animation:chatSpin .8s linear infinite}
.chat-day{display:flex;flex-direction:column;gap:9px}
.chat-day-label{align-self:center;font-size:11px;color:var(--muted);background:#f4eff1;padding:3px 13px;border-radius:999px}
.chat-row{display:flex}
.chat-row.is-mine{justify-content:flex-start}
.chat-row.is-theirs{justify-content:flex-end}
.chat-bubble{max-width:min(78%,560px);padding:10px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:0 4px 14px rgba(107,76,93,.05)}
.chat-row.is-mine .chat-bubble{background:linear-gradient(135deg,var(--rose),var(--plum));color:#fff;border-color:transparent;border-start-end-radius:6px}
.chat-row.is-theirs .chat-bubble{border-start-start-radius:6px}
.chat-bubble p{margin:0;white-space:pre-wrap;line-height:1.9;font-size:13.5px}
.chat-meta{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:5px;font-size:10.5px;opacity:.72}
.chat-row.is-mine .chat-meta{color:#fff}
.chat-tick{display:inline-flex;opacity:.55}
.chat-tick.is-read{opacity:1}
.chat-typing{display:none;position:absolute;right:17px;bottom:12px;align-items:center;gap:5px;padding:6px 11px;color:var(--muted);font-size:11px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 3px 12px rgba(80,52,67,.08)}.chat-typing.is-visible{display:flex}
.chat-typing i{width:6px;height:6px;border-radius:50%;background:var(--rose);animation:chatPulse 1s infinite ease-in-out}
.chat-typing i:nth-child(2){animation-delay:.16s}
.chat-typing i:nth-child(3){animation-delay:.32s}
.chat-typing span{margin-inline-start:4px}
.chat-suggestions{display:flex;gap:7px;overflow-x:auto;padding:1px 2px 4px;scrollbar-width:none}.chat-suggestions::-webkit-scrollbar{display:none}.chat-suggestions button{flex:none;max-width:280px;border:1px solid var(--border);border-radius:999px;padding:8px 13px;background:var(--surface);color:var(--plum);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.chat-suggestions button:hover{border-color:var(--rose);background:var(--rose-pale)}
.chat-composer{position:relative;display:flex;gap:10px;align-items:flex-end;padding:9px 10px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 10px 30px rgba(78,47,65,.1)}
.chat-composer textarea{flex:1;border:0;resize:none;background:transparent;max-height:150px;min-height:40px;padding:10px 6px;font-size:14px;line-height:1.7;color:var(--ink);outline:none}
.chat-composer textarea:disabled{color:var(--muted)}
.chat-char-count{position:absolute;bottom:3px;inset-inline-end:67px;color:var(--muted);font-size:8px;opacity:.65}
.chat-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--rose),var(--plum));color:#fff;display:grid;place-items:center;cursor:pointer;transition:.2s;box-shadow:0 6px 16px rgba(206,120,145,.32)}
.chat-send:hover:not(:disabled){filter:brightness(1.05)}
.chat-send:disabled,.chat-composer textarea:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.chat-foot{display:flex;align-items:center;gap:6px;justify-content:center;color:var(--muted);font-size:11px;margin:0}
.chat-foot svg{color:var(--rose)}
@keyframes chatPulse{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes chatSpin{to{transform:rotate(360deg)}}
@media (max-width:760px){
  .chat-view{min-height:calc(100dvh - 190px);gap:9px}
  .chat-head{padding:10px 11px;border-radius:18px}.chat-avatar{width:39px;height:39px;font-size:15px}.chat-toggle-wrap>span,.chat-connection{display:none}.chat-clear-button{width:34px;height:34px}
  .chat-stage{min-height:45vh}.chat-log{max-height:none;min-height:45vh;padding:17px 11px 42px;border-radius:19px}.chat-day{gap:7px}.chat-bubble{max-width:88%;padding:9px 12px}.chat-bubble p{font-size:13px}
  .chat-suggestions{margin-inline:-2px}.chat-suggestions button{font-size:10px;padding:7px 11px}
  .chat-composer{position:sticky;bottom:77px;z-index:5;border-radius:19px;padding:7px 8px}.chat-composer textarea{min-height:38px;padding:8px 5px}.chat-send{width:42px;height:42px}.chat-char-count{display:none}
  .chat-foot{font-size:9px;margin-bottom:4px}
}
@media (prefers-reduced-motion:reduce){
  .chat-typing i,.spinner{animation:none}
}
@media(max-width:700px){.partner-bottom-nav{grid-template-columns:repeat(5,1fr)!important}.partner-tab-chat .chat-view{max-width:none}.partner-tab-chat .chat-composer{bottom:76px}}

/* Final mobile-nav override: home is the raised primary action. */
@media(max-width:700px){
  .bottom-nav>.bottom-nav-link[data-tab="home"]{overflow:visible!important}
  .bottom-nav>.bottom-nav-link[data-tab="home"] .ic{width:52px!important;height:52px!important;padding:13px!important;margin-top:-27px!important;border:4px solid var(--theme-surface,#fff)!important;border-radius:19px!important;background:linear-gradient(145deg,var(--theme-accent,#c9829e),var(--theme-primary,#765067))!important;color:#fff!important;box-shadow:0 10px 25px rgba(91,52,74,.28)!important;transform:translateY(-1px)!important}
  .bottom-nav>.bottom-nav-link[data-tab="home"]>span{margin-top:-2px!important;font-weight:850!important;color:var(--theme-primary,#765067)!important}
  .bottom-nav>.bottom-nav-link[data-tab="home"]:active .ic{transform:translateY(1px) scale(.95)!important}
  .bottom-nav>.bottom-nav-link[data-tab="home"].is-active:before{display:none!important}
}

/* Mobile calm pass: compact chrome, safe areas, live shop search and pull refresh. */
.pull-refresh{display:none}.shop-search-wrap{position:relative;z-index:12}
.shop-search-results{position:absolute;top:calc(100% + 8px);inset-inline:0;overflow:hidden;border:1px solid var(--theme-line,#eee3e8);border-radius:18px;background:var(--theme-surface,#fff);box-shadow:0 18px 45px rgba(71,44,60,.16)}
.shop-search-results button{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;border:0;border-bottom:1px solid var(--theme-line,#f1e8ec);background:transparent;color:var(--ink);text-align:start}.shop-search-results button:last-child{border-bottom:0}.shop-search-results button:active{background:var(--theme-subtle,#faf0f4)}
.shop-search-results button>span:nth-child(2){min-width:0}.shop-search-results strong,.shop-search-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-search-results strong{font-size:12px}.shop-search-results small{margin-top:2px;color:var(--theme-muted,#958792);font-size:9px}.shop-search-thumb{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:var(--plum)}.shop-search-results>p{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:20px;color:var(--theme-muted,#958792);font-size:11px}
@media(max-width:700px){
  html{overscroll-behavior-y:auto}.app-workspace{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .app-header{position:sticky;top:0;z-index:25;min-height:0;height:auto;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "heading heading";row-gap:4px;padding:max(8px,env(safe-area-inset-top)) 14px 9px;background:color-mix(in srgb,var(--theme-canvas,#faf8f6) 91%,transparent);border-bottom:1px solid color-mix(in srgb,var(--theme-line,#eee7e8) 72%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-brand .app-logo--compact{width:92px!important;height:32px!important}.mobile-checkin{height:32px!important;padding:3px 5px!important;border:0!important;background:transparent!important}.mobile-checkin span{width:28px!important;height:28px!important;border-radius:10px!important}.mobile-checkin b{display:none}
  .app-header-actions{gap:3px}.notification-btn,.avatar-btn{width:34px!important;height:34px!important;border:0!important;border-radius:11px!important;background:transparent!important;box-shadow:none!important}.app-header-actions .notification-btn:not(.header-chat-button):not(.shop-cart-button):not(.header-notification-button){display:none}
  .app-heading{display:flex;align-items:center;gap:8px;min-height:23px;padding-inline:2px}.page-eyebrow,.app-heading .wave{display:none}.app-heading h1{margin:0;font-size:15px!important;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-today{margin:0;margin-inline-start:auto;font-size:8px;white-space:nowrap}.header-today .ic{display:none}
  .app-content{padding:12px 13px 18px}.dashboard-grid{gap:11px}.surface-card{box-shadow:0 6px 20px rgba(80,51,68,.045)}
  .bottom-nav{height:calc(58px + env(safe-area-inset-bottom));padding:5px max(8px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom));align-items:flex-start;background:color-mix(in srgb,var(--theme-surface,#fff) 94%,transparent);box-shadow:0 -3px 16px rgba(67,42,56,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .bottom-nav-link{flex:1;min-width:0;min-height:48px;gap:2px;padding:4px 2px;font-size:8px}.bottom-nav-link .ic,.bottom-nav-link:nth-child(3) .ic{width:22px!important;height:22px!important;margin:0!important;padding:1px!important;border:0!important;border-radius:0!important;background:transparent!important;color:currentColor!important;box-shadow:none!important;transform:none!important}.bottom-nav-link>span,.bottom-nav-link:nth-child(3)>span{margin:0!important;font-weight:700!important;color:currentColor!important}.bottom-nav-link.is-active{color:var(--theme-primary,#765067);font-weight:850}.bottom-nav-link:not(.is-action).is-active:before,.bottom-nav-link:nth-child(3).is-active:before{top:auto;bottom:-5px;width:18px;height:2px}
  .pull-refresh{position:fixed;z-index:24;top:calc(env(safe-area-inset-top) + 2px);left:50%;display:flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid var(--theme-line,#eadfe4);border-radius:999px;background:var(--theme-surface,#fff);color:var(--theme-muted,#978895);font-size:9px;box-shadow:0 8px 24px rgba(75,46,63,.13);opacity:calc(var(--pull,0px) / 58px);transform:translate(-50%,calc(-44px + var(--pull,0px)));transition:opacity .12s}.pull-refresh b{white-space:nowrap}.pull-refresh.is-ready{color:var(--theme-primary,#765067)}.pull-refresh.is-refreshing span{animation:chatSpin .8s linear infinite}
  .shop-view{gap:14px}.shop-hero{min-height:168px;padding:23px 20px;border-radius:22px}.shop-hero h2{font-size:24px;margin:7px 0}.shop-hero p{font-size:10px;line-height:1.8}.shop-hero-mark{width:72px;height:72px;border-radius:23px}.shop-promises{margin-top:12px;gap:9px}.shop-search{min-height:52px!important;padding:8px 12px!important;border-radius:16px!important;box-shadow:none!important}.shop-search small{margin-top:-4px}.shop-search-results{border-radius:16px}.shop-toolbar{gap:8px}.shop-cart-summary{height:40px;padding:0 11px;font-size:10px}.feed-filters{gap:6px}.feed-filters button{padding:7px 10px;font-size:9px}.shop-product{min-height:145px;grid-template-columns:102px minmax(0,1fr);border-radius:18px}.shop-product-art{min-height:145px;border-radius:0 18px 18px 0}.shop-product-copy{padding:12px}.shop-product-copy h3{font-size:13px}.shop-orders{padding:17px}
  .modal-card.article-reader-modal{height:calc(100dvh - env(safe-area-inset-top));max-height:calc(100dvh - env(safe-area-inset-top))!important;border-radius:22px 22px 0 0}.article-reader-head{padding:62px 20px 22px;min-height:0}.article-reader-head h2{font-size:19px;line-height:1.75;margin:12px 0 7px}.article-reader-head>p{font-size:10px;line-height:1.9}.article-reader-body{padding:22px 20px calc(28px + env(safe-area-inset-bottom))}.article-reader-body section{margin-bottom:22px}.article-reader-body section p{line-height:2.05}
}

@media(max-width:700px){
  .bottom-nav>.bottom-nav-link[data-tab="home"] .ic{width:52px!important;height:52px!important;padding:13px!important;margin-top:-27px!important;border:4px solid var(--theme-surface,#fff)!important;border-radius:19px!important;background:linear-gradient(145deg,var(--theme-accent,#c9829e),var(--theme-primary,#765067))!important;color:#fff!important;box-shadow:0 10px 25px rgba(91,52,74,.28)!important;transform:translateY(-1px)!important}
  .bottom-nav>.bottom-nav-link[data-tab="home"]>span{margin-top:-2px!important;font-weight:850!important;color:var(--theme-primary,#765067)!important}
}

/* Insights — expressive, still calm and readable. */
.insights-view{position:relative}.insights-view .insight-lead{position:relative;isolation:isolate;overflow:hidden;min-height:220px;margin-bottom:20px;padding:36px 38px;border-radius:28px;background:radial-gradient(circle at 10% 15%,rgba(255,224,232,.36),transparent 29%),linear-gradient(135deg,var(--theme-primary,#68465b),#a86782);color:#fff;box-shadow:0 18px 46px rgba(102,63,84,.16)}
.insights-view .insight-lead:after{content:"";position:absolute;z-index:-1;width:250px;height:250px;inset-inline-start:-65px;bottom:-145px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 58px rgba(255,255,255,.025)}
.insights-view .insight-lead .section-kicker{color:rgba(255,255,255,.68)}.insights-view .insight-lead h2{max-width:560px;margin:8px 0 6px;color:#fff;font-size:32px;line-height:1.55}.insights-view .insight-lead h2 em{color:#ffd5df;font-style:normal}.insights-view .insight-lead p{max-width:590px;margin:0;color:rgba(255,255,255,.76);font-size:12px}.insight-lead-badge{display:inline-flex;align-items:center;gap:7px;margin-top:17px;padding:7px 11px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.1);font-size:9px;color:#fff}.insight-lead-orbit{position:absolute;inset-inline-start:40px;top:29px;width:125px;height:125px;border:1px solid rgba(255,255,255,.14);border-radius:50%}.insight-lead-orbit i{position:absolute;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.12);color:#ffd6e1;font-style:normal}.insight-lead-orbit i:nth-child(1){top:-8px;right:19px}.insight-lead-orbit i:nth-child(2){left:-10px;top:48px}.insight-lead-orbit i:nth-child(3){right:16px;bottom:-8px}
.insights-view .kpi-card{position:relative;overflow:hidden;border:0;box-shadow:0 12px 34px rgba(81,51,68,.08);transition:transform .2s ease,box-shadow .2s ease}.insights-view .kpi-card:before{content:"";position:absolute;inset-inline-end:-24px;top:-28px;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.07}.insights-view .kpi-card:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(81,51,68,.12)}.kpi-cycle{background:linear-gradient(145deg,#fff,#f3edf9)!important;color:#785d98}.kpi-period{background:linear-gradient(145deg,#fff,#fff0f3)!important;color:#c46882}.kpi-logs{background:linear-gradient(145deg,#fff,#edf7f2)!important;color:#54816c}.insights-view .kpi-card>span{color:currentColor}.insights-view .kpi-card>span .ic{width:34px;height:34px;padding:8px;border-radius:11px;background:color-mix(in srgb,currentColor 12%,transparent)}
.insights-view .insights-panels>article{position:relative;overflow:hidden;border:0;box-shadow:0 12px 36px rgba(78,49,65,.07)}.insight-chart-card{background:linear-gradient(160deg,var(--theme-surface,#fff) 70%,#f4eef9)!important}.symptom-chart-card{background:linear-gradient(160deg,var(--theme-surface,#fff) 70%,#fff0f3)!important}.insights-view .chart-bar{box-shadow:0 7px 16px rgba(184,112,142,.16)}.insights-view .chart-bar-wrap:nth-child(3n+1) .chart-bar{background:linear-gradient(#d6addf,#eee0f3)}.insights-view .chart-bar-wrap:nth-child(3n+2) .chart-bar{background:linear-gradient(#e99ab1,#f8dbe3)}.insights-view .chart-bar-wrap:nth-child(3n) .chart-bar{background:linear-gradient(#8ebda9,#dcece5)}.insights-view .chart-bar.last{background:linear-gradient(var(--theme-primary,#9f607d),var(--theme-accent,#d787a1));box-shadow:0 9px 20px rgba(155,87,119,.25)}.insights-view .symptom-symbol{background:linear-gradient(145deg,#fff1f5,#f0e8f6);box-shadow:0 5px 15px rgba(128,80,105,.08)}.insights-view .symptom-track{height:8px}.insights-view .symptom-track i{background:linear-gradient(90deg,#df91aa,#9f6f9b)}
.insights-view>.pms-pattern-card{border:0;background:linear-gradient(125deg,#fff8ef,#fff 48%,#f8eff5);box-shadow:0 12px 36px rgba(98,64,78,.07)}.insights-view>.pms-pattern-card .pms-pattern-icon{background:linear-gradient(145deg,#f4c784,#d989a5);color:#fff;box-shadow:0 7px 17px rgba(190,119,135,.22)}.insights-view .insight-actions{background:linear-gradient(120deg,#f2e8f1,#faeff2 55%,#edf6f2);border:0;box-shadow:0 10px 30px rgba(82,52,69,.07)}.insights-view .insight-actions .icon-square{background:linear-gradient(145deg,var(--theme-primary,#775167),#b46f8d);color:#fff;box-shadow:0 8px 18px rgba(112,74,96,.2)}
@media(max-width:700px){.insights-view .insight-lead{min-height:205px;margin-inline:-1px;padding:25px 20px;border-radius:23px}.insights-view .insight-lead h2{font-size:25px!important;line-height:1.55}.insights-view .insight-lead p{max-width:75%;font-size:10px}.insight-lead-orbit{inset-inline-start:8px;top:35px;transform:scale(.82)}.insights-view .kpi-card{padding:16px}.insights-view .kpi-card>span .ic{width:29px;height:29px;padding:7px}.insights-view .kpi-card strong{margin-top:11px}.insights-view .insights-panels>article{border-radius:20px}}

/* High-contrast unread count; --coral was not defined in every theme. */
.header-notification-button>i{z-index:2;top:-7px!important;right:-7px!important;min-width:22px!important;height:22px!important;padding:0 5px!important;border:0!important;border-radius:999px!important;background:#fff0f3!important;color:#b91646!important;box-shadow:0 3px 9px rgba(130,38,70,.2)!important;font-size:11px!important;font-weight:900!important;line-height:22px!important;letter-spacing:0!important;text-align:center;font-style:normal;font-variant-numeric:tabular-nums}
@media(max-width:700px){.header-notification-button>i{top:-5px!important;right:-5px!important;min-width:21px!important;height:21px!important;font-size:10px!important;line-height:17px!important}}

/* Floating glass navigation — compact, thumb-friendly and intentionally label-free. */
@media(max-width:700px){
  .app-workspace{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .bottom-nav{
    position:fixed;
    z-index:40;
    right:14px;
    left:14px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:auto;
    height:66px;
    padding:7px;
    align-items:center;
    overflow:visible;
    border:1px solid color-mix(in srgb,var(--theme-surface,#fff) 68%,var(--theme-line,#eadfe4));
    border-radius:25px;
    background:color-mix(in srgb,var(--theme-surface,#fff) 72%,transparent);
    box-shadow:0 16px 42px rgba(60,35,50,.16),inset 0 1px 0 rgba(255,255,255,.72);
    backdrop-filter:blur(24px) saturate(165%);
    -webkit-backdrop-filter:blur(24px) saturate(165%);
  }
  .bottom-nav-link{
    position:relative;
    flex:1;
    min-width:0;
    min-height:52px;
    padding:0;
    border-radius:18px;
    color:color-mix(in srgb,var(--theme-muted,#958792) 88%,var(--theme-primary,#765067));
    transition:color .2s ease,transform .2s ease,background .2s ease;
  }
  .bottom-nav-link>span{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .bottom-nav-link .ic,
  .bottom-nav-link:nth-child(3) .ic,
  .bottom-nav>.bottom-nav-link[data-tab="home"] .ic{
    width:25px!important;
    height:25px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:currentColor!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .bottom-nav-link.is-active{
    color:var(--theme-primary,#765067);
    background:color-mix(in srgb,var(--theme-primary,#765067) 11%,rgba(255,255,255,.42));
  }
  .bottom-nav-link.is-active:before,
  .bottom-nav-link:nth-child(3).is-active:before,
  .bottom-nav>.bottom-nav-link[data-tab="home"].is-active:before{display:none!important}
  .bottom-nav-link:active{transform:scale(.9)}
  .bottom-nav-link:focus-visible{outline:2px solid var(--theme-primary,#765067);outline-offset:2px}
  .bottom-nav .nav-badge{top:5px;inset-inline-start:calc(50% + 6px);border:2px solid rgba(255,255,255,.85)}
  .chat-composer{bottom:calc(92px + env(safe-area-inset-bottom))}
}

@media(max-width:380px){
  .bottom-nav{right:9px;left:9px;height:62px;border-radius:23px}
  .bottom-nav-link{min-height:48px;border-radius:16px}
}

@media(prefers-reduced-motion:reduce){
  .bottom-nav-link{transition:none}
}

/* Minimal glass header — flat chrome paired with the floating navigation. */
@media(max-width:700px){
  .app-header{
    position:sticky;
    z-index:35;
    top:0;
    width:100%;
    min-height:0;
    margin:0;
    padding:max(8px,env(safe-area-inset-top)) 12px 7px;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"actions brand" "heading heading";
    column-gap:8px;
    row-gap:5px;
    border:0;
    border-bottom:1px solid color-mix(in srgb,var(--theme-line,#eadfe4) 62%,transparent);
    border-radius:0;
    background:color-mix(in srgb,var(--theme-surface,#fff) 72%,transparent);
    box-shadow:0 6px 20px rgba(60,35,50,.055);
    backdrop-filter:blur(24px) saturate(165%);
    -webkit-backdrop-filter:blur(24px) saturate(165%);
  }
  .mobile-brand{
    grid-area:brand;
    justify-self:end;
    min-width:0;
    gap:5px;
    direction:ltr;
  }
  .mobile-brand .app-logo--compact{width:82px!important;height:29px!important}
  .app-header-actions{
    grid-area:actions;
    justify-self:start;
    gap:1px;
    direction:rtl;
  }
  .notification-btn,.avatar-btn{
    width:32px!important;
    height:32px!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:var(--theme-primary,#765067)!important;
    box-shadow:none!important;
    transition:background .2s ease,transform .2s ease;
  }
  .notification-btn:active,.avatar-btn:active{transform:scale(.9);background:color-mix(in srgb,var(--theme-primary,#765067) 10%,transparent)!important}
  .notification-btn:focus-visible,.avatar-btn:focus-visible{outline:2px solid var(--theme-primary,#765067);outline-offset:1px}
  .mobile-checkin{
    width:28px!important;
    height:28px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .mobile-checkin span{
    width:24px!important;
    height:24px!important;
    border:1px solid color-mix(in srgb,var(--theme-primary,#765067) 34%,transparent);
    border-radius:9px!important;
    background:transparent!important;
    color:var(--theme-primary,#765067)!important;
    font-size:19px!important;
    font-weight:400!important;
  }
  .app-heading{
    grid-area:heading;
    min-height:20px;
    padding:5px 2px 0;
    border-top:1px solid color-mix(in srgb,var(--theme-line,#eee7e8) 66%,transparent);
  }
  .app-heading h1{font-size:13px!important;font-weight:800;line-height:1.45}
  .header-today{font-size:8px;color:var(--theme-muted,#958792)}
}

@media(max-width:380px){
  .app-header{padding-inline:9px}
  .mobile-brand .app-logo--compact{width:76px!important}
}

/* Mobile hero repair: keep storefront copy and insight decoration in their lanes. */
@media(max-width:700px){
  .shop-hero{
    min-height:0;
    padding:24px 20px 18px;
  }
  .shop-hero>div{position:relative;z-index:1}
  .shop-hero h2{max-width:260px;margin:10px 0 8px;font-size:27px;line-height:1.45}
  .shop-hero p{max-width:calc(100% - 42px);font-size:10.5px;line-height:1.9}
  .shop-hero-mark{z-index:0;left:17px;top:19px;width:58px;height:58px;border-radius:20px;opacity:.86}
  .shop-promises{
    position:relative;
    right:auto;
    left:auto;
    bottom:auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:18px 0 0;
    padding:12px 0 0;
  }
  .shop-promises span{min-width:0;justify-content:center;gap:4px;font-size:8.5px;line-height:1.5;white-space:normal;text-align:center}
  .shop-promises .ic{width:14px;height:14px;flex:none}
  .insights-view .insight-lead{min-height:250px;padding:24px 20px 21px}
  .insights-view .insight-lead>:not(.insight-lead-orbit){position:relative;z-index:1}
  .insights-view .insight-lead h2{max-width:310px;font-size:25px!important;line-height:1.55}
  .insights-view .insight-lead p{max-width:78%;font-size:10.5px;line-height:2}
  .insight-lead-orbit{
    z-index:0;
    inset-inline-start:8px;
    top:auto;
    bottom:24px;
    width:96px;
    height:96px;
    transform:none;
    opacity:.46;
  }
  .insight-lead-orbit i{width:28px;height:28px;border-radius:10px}
  .insight-lead-orbit i:nth-child(1){top:-6px;right:14px}
  .insight-lead-orbit i:nth-child(2){left:-7px;top:36px}
  .insight-lead-orbit i:nth-child(3){right:12px;bottom:-7px}
  .insight-lead-orbit .ic{width:15px;height:15px}
}

@media(max-width:370px){
  .shop-hero p{max-width:100%}
  .shop-promises span{font-size:8px}
  .insights-view .insight-lead p{max-width:72%}
}

/* Legacy dial styles (the landing preview retains its independent ring). */
.cycle-dial-shell{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  padding:22px;
  border:1px solid color-mix(in srgb,var(--theme-surface,#fff) 72%,transparent);
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,.14));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 16px 38px rgba(91,53,75,.1);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.cycle-dial-shell:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:68%;
  height:68%;
  border-radius:50%;
  background:color-mix(in srgb,var(--theme-accent,#d9849d) 18%,transparent);
  filter:blur(24px);
}
.cycle-dial-kicker{
  position:absolute;
  z-index:4;
  top:12px;
  right:14px;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  color:var(--theme-text,#785e6d);
  font-size:8px;
  font-weight:800;
  backdrop-filter:blur(8px);
}
.cycle-dial-shell .main-ring{width:210px;height:210px;box-shadow:0 18px 38px rgba(81,49,68,.13)}
.cycle-dial-shell .segmented-ring{
  background:conic-gradient(from -90deg,#db7898 0 var(--period-end),#eee8ec var(--period-end) var(--fertile-start),#4fc2bb var(--fertile-start) var(--fertile-end),#eee8ec var(--fertile-end) var(--pms-start),#efad51 var(--pms-start) 100%);
}
.cycle-dial-shell .segmented-ring:before{
  inset:11px;
  background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.98),color-mix(in srgb,var(--theme-canvas,#fff7f5) 94%,#fff) 56%,color-mix(in srgb,var(--theme-subtle,#f6e9ef) 48%,#fff));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.92),inset 0 -12px 28px rgba(119,76,98,.045),0 0 0 4px rgba(255,255,255,.5);
}
.cycle-dial-shell .segmented-ring:after{
  inset:-8px;
  border:1px dashed color-mix(in srgb,var(--theme-primary,#765067) 16%,transparent);
}
.cycle-dial-shell .ring-interior span{font-size:9px;letter-spacing:.05em;color:var(--theme-muted,#9a7f8d)}
.cycle-dial-shell .ring-interior strong{margin:1px 0 -1px;font-size:55px;font-weight:900;letter-spacing:-3px;color:var(--theme-title,#4f3445);text-shadow:0 2px 0 rgba(255,255,255,.82)}
.cycle-dial-shell .cycle-phase-label{
  width:max-content;
  max-width:145px;
  margin-top:7px;
  padding:5px 9px;
  border:1px solid color-mix(in srgb,currentColor 18%,transparent);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  font-size:9px!important;
  backdrop-filter:blur(7px);
}
.cycle-dial-shell .ring-marker i{top:-5px;left:calc(50% - 8px);width:16px;height:16px;border-width:4px;box-shadow:0 0 0 4px rgba(118,80,106,.1),0 5px 13px rgba(76,45,65,.24)}
.cycle-dial-shell .ovulation-dot:before{top:4px;width:8px;height:8px;box-shadow:0 0 0 3px #279d98,0 3px 8px rgba(39,157,152,.24)}
.cycle-overview-ring{gap:11px;max-width:290px}
.cycle-overview-ring .cycle-phase-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px}
.cycle-overview-ring .cycle-phase-legend span{min-width:0;padding:2px;border:0;background:transparent;font-size:8px}
.cycle-overview-ring .cycle-phase-legend i{width:7px;height:7px;box-shadow:none}
.cycle-overview-ring .cycle-estimate-note{max-width:270px;opacity:.82}

@media(max-width:700px){
  .cycle-dial-shell{width:min(100%,270px);padding:25px 20px 20px;border-radius:31px}
  .cycle-dial-shell .main-ring{width:204px;height:204px}
  .cycle-dial-shell .ring-interior strong{font-size:52px}
  .cycle-overview-ring .cycle-phase-legend{max-width:260px}
}

@media(max-width:370px){
  .cycle-dial-shell{width:238px;padding:24px 14px 17px}
  .cycle-dial-shell .main-ring{width:184px;height:184px}
  .cycle-dial-shell .ring-interior strong{font-size:46px}
}

/* Open cycle arc: quiet typography, rounded phase strokes and distinct markers. */
.cycle-atelier{width:100%;max-width:340px;display:grid;justify-items:center;gap:14px}
.cycle-atelier-dial{
  position:relative;
  width:100%;
  isolation:isolate;
  background:radial-gradient(ellipse at 50% 49%,rgba(255,255,255,.3),transparent 60%);
}
.cycle-atelier-chart{display:block;width:100%;height:auto;overflow:visible}
.cycle-arc-track,.cycle-arc{fill:none;stroke-width:7;stroke-linecap:round}
.cycle-arc-track{stroke:color-mix(in srgb,var(--theme-primary,#765067) 12%,transparent)}
.cycle-arc-period{stroke:#cf6f93}
.cycle-arc-fertile{stroke:#36aaa3}
.cycle-arc-pms{stroke:#dda04c}
.cycle-ovulation-diamond{fill:var(--theme-canvas,#fff7f5);stroke:#337b77;stroke-width:2}
.cycle-today-marker path{stroke:var(--theme-title,#4f3445);stroke-width:3;stroke-linecap:round}
.cycle-today-marker text{fill:var(--theme-title,#4f3445);font-family:var(--font);font-size:9px;font-weight:800;paint-order:stroke;stroke:var(--theme-surface,#fff);stroke-width:3px;stroke-linejoin:round}
.cycle-atelier-center{position:absolute;top:29%;inset-inline:22%;display:flex;flex-direction:column;align-items:center;text-align:center}
.cycle-atelier-center>span{color:var(--theme-text,#795f70);font-size:11px;font-weight:600}
.cycle-atelier-center>strong{color:var(--theme-title,#4f3445);font-size:clamp(48px,14vw,70px);font-weight:700;line-height:1.3;letter-spacing:-2px}
.cycle-atelier-center>small{max-width:160px;font-size:11px;font-weight:600;line-height:1.8;color:var(--theme-text,#795f70)}
.cycle-atelier-caption{position:absolute;bottom:8%;inset-inline:0;text-align:center;font-size:10px;color:var(--theme-text,#795f70)}
.cycle-atelier-legend{display:grid;grid-template-columns:repeat(2,max-content);gap:12px 22px;font-size:10px;font-weight:500;color:var(--theme-text,#795f70)}
.cycle-atelier-legend span{display:flex;align-items:center;gap:8px;padding:2px 0}
.cycle-atelier-legend i{display:block;width:13px;height:3px;border-radius:3px;flex:none}
.cycle-atelier-legend .period{background:#cf6f93}
.cycle-atelier-legend .fertile{background:#36aaa3}
.cycle-atelier-legend .pms{background:#dda04c}
.cycle-atelier-legend .ovulation{width:7px;height:7px;margin-inline:3px;border:1.5px solid #337b77;border-radius:0;transform:rotate(45deg)}
.cycle-atelier .cycle-estimate-note{max-width:300px;font-size:10px;line-height:1.9;color:var(--theme-text,#795f70)}
@media(max-width:700px){.cycle-hero-chart{width:100%;margin-inline:0}.cycle-atelier{max-width:320px}.cycle-atelier-center>strong{font-size:62px}}
@media(max-width:370px){.cycle-atelier-center>strong{font-size:52px}.cycle-atelier-center>small{font-size:10px}.cycle-atelier-legend{gap:10px 16px;font-size:9px}}

/* Home launcher: the cycle stays primary; secondary destinations act like mini apps. */
.home-launch-dashboard{
  width:100%;
  max-width:980px;
  margin-inline:auto;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"cycle" "quick" "next" "companion" "note" "magazine";
  align-items:start;
}
.home-launch-dashboard>*{width:100%;min-width:0}
.home-companion{grid-area:note;--companion-dress:#a68caf;display:grid;grid-template-columns:clamp(100px,25%,170px) minmax(0,1fr);align-items:center;gap:20px;padding:24px;border-radius:26px;background:linear-gradient(125deg,var(--theme-surface,#fff),var(--theme-subtle,#f5edf2));overflow:hidden}
.home-companion[data-phase="period"]{--companion-dress:#bd8699}
.home-companion[data-phase="fertile"],.home-companion[data-phase="follicular"]{--companion-dress:#79a59c}
.home-companion[data-phase="ovulation"]{--companion-dress:#c6a166}
.companion-portrait{min-width:0;color:var(--theme-primary,#765067)}
.companion-portrait svg{display:block;width:100%;height:auto}
.companion-figure{transform-origin:80px 180px;animation:companion-breathe 5s ease-in-out infinite}
.home-companion[data-expression="tender"] .companion-head{transform:rotate(-5deg);transform-origin:80px 105px}
.home-companion[data-expression="radiant"] .companion-head{transform:rotate(5deg);transform-origin:80px 105px}
.companion-copy{min-width:0}
.companion-copy h3{font-size:18px;line-height:1.8;margin:7px 0;color:var(--theme-title,#493046)}
.companion-copy p{font-size:12px;line-height:1.9;margin:0 0 14px;color:var(--theme-text,#795f70)}
.companion-copy>small{display:block;font-size:10px;margin-top:10px;color:var(--theme-muted,#8d7f89)}
.companion-copy .btn{white-space:normal;max-width:100%}
@keyframes companion-breathe{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-3px) rotate(.7deg)}}
@media(max-width:700px){.home-companion{padding:18px 14px;gap:12px;grid-template-columns:minmax(80px,30%) minmax(0,1fr)}.companion-copy h3{font-size:14px}.companion-copy p{font-size:11px}.companion-copy .section-mini-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.companion-figure{animation:none}}
.home-launch-dashboard>.forecast-companion{
  position:relative;grid-area:companion;
  grid-template-columns:minmax(116px,38%) minmax(0,1fr);
  gap:16px;border:1px solid var(--theme-line,#eadfe4);
  box-shadow:0 6px 20px rgba(80,51,68,.045);
}
.forecast-companion .companion-sprite{
  width:100%;aspect-ratio:1;
  background-image:url("/assets/companion-woman-v2.png");
  background-size:200% 200%;background-position:0 0;
  background-repeat:no-repeat;
  transform-origin:50% 90%;
  animation:companion-sprite-breathe 5s ease-in-out infinite;
}
.forecast-companion[data-expression="bright"] .companion-sprite,
.forecast-companion[data-expression="radiant"] .companion-sprite{background-position:100% 0}
.forecast-companion[data-expression="tender"] .companion-sprite{background-position:0 100%;animation-duration:6s}
.forecast-companion[data-expression="resting"] .companion-sprite{background-position:100% 100%;animation-duration:7s}
.home-launch-dashboard .forecast-companion .companion-copy h3{margin:5px 0;font-size:14px}
.forecast-companion .companion-copy p{font-size:11px}
@keyframes companion-sprite-breathe{
  0%,100%{transform:translateY(0) rotate(-.6deg) scale(1)}
  50%{transform:translateY(-3px) rotate(.6deg) scale(1.018)}
}
@media(max-width:380px){
  .home-launch-dashboard>.forecast-companion{gap:10px;grid-template-columns:108px minmax(0,1fr)}
  .forecast-companion .companion-copy .btn{padding:8px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.forecast-companion .companion-sprite{animation:none}}
.home-quick-apps{
  grid-area:quick;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  padding:5px 0 7px;
}
.home-quick-app{
  min-width:0;
  padding:4px 2px;
  border:0;
  background:transparent;
  color:var(--theme-text,#725a69);
  font:inherit;
  cursor:pointer;
  display:grid;
  justify-items:center;
  gap:7px;
}
.home-quick-app>span{
  width:68px;
  height:68px;
  border:1px solid color-mix(in srgb,var(--theme-line,#eadfe4) 72%,transparent);
  border-radius:22px;
  display:grid;
  place-items:center;
  background:var(--theme-surface,#fff);
  box-shadow:0 8px 22px rgba(76,46,63,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.home-quick-app b{font-size:10px;font-weight:750;white-space:nowrap}
.home-quick-app:active>span{transform:scale(.92);box-shadow:0 4px 12px rgba(76,46,63,.06)}
.home-quick-app:focus-visible{outline:2px solid var(--theme-primary,#765067);outline-offset:3px;border-radius:16px}
.home-quick-calendar>span{color:#725b94;background:color-mix(in srgb,#eee8f7 72%,var(--theme-surface,#fff))}
.home-quick-today>span{color:#b65576;background:color-mix(in srgb,#fbe8ef 76%,var(--theme-surface,#fff))}
.home-quick-feed>span{color:#a37437;background:color-mix(in srgb,#fbf0da 74%,var(--theme-surface,#fff))}
.home-quick-forum>span{color:#76506a;background:color-mix(in srgb,#f1e6ed 74%,var(--theme-surface,#fff))}
.home-launch-dashboard .next-period-card{
  min-height:0;
  padding:20px;
  border-radius:21px;
}
.home-launch-dashboard .next-period-card h3{margin:20px 0 2px;font-size:12px}
.home-launch-dashboard .next-main{font-size:24px}
.home-launch-dashboard .next-bottom{position:relative;right:auto;left:auto;bottom:auto;margin-top:16px;padding-top:11px}
.home-launch-dashboard .next-orbit{opacity:.55}
.home-launch-dashboard .mobile-home-magazine{display:block;grid-area:magazine;max-width:100%;margin-top:6px;overflow:hidden}
.home-launch-dashboard .mobile-magazine-scroll{display:flex;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;gap:12px;padding:4px 1px 12px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.home-launch-dashboard .mobile-magazine-scroll::-webkit-scrollbar{display:none}
.home-launch-dashboard .mobile-magazine-scroll .feed-card{flex:0 0 260px;min-width:260px;max-width:260px;scroll-snap-align:start}

@media(max-width:900px){
  .home-launch-dashboard{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
  .home-launch-dashboard{gap:16px}
  .home-quick-apps{gap:6px;padding:2px 0 5px}
  .home-quick-app>span{width:62px;height:62px;border-radius:20px;box-shadow:0 7px 19px rgba(76,46,63,.07)}
  .home-quick-app>span .ic{width:25px;height:25px}
  .home-quick-app b{font-size:9px}
  .home-launch-dashboard .next-period-card{padding:17px 18px;border-radius:19px}
  .home-launch-dashboard .next-card-head .small-pill{padding:5px 8px;font-size:8px}
  .home-launch-dashboard .next-period-card h3{margin:13px 0 1px}
  .home-launch-dashboard .next-main{font-size:21px}
  .home-launch-dashboard .next-period-card>p{margin:2px 0;font-size:9px}
  .home-launch-dashboard .next-bottom{margin-top:11px;padding-top:9px}
  .home-launch-dashboard .next-bottom>span:last-child{font-size:8px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-launch-dashboard .mobile-magazine-scroll .feed-card{flex-basis:230px;min-width:230px;max-width:230px}
}
@media(max-width:370px){
  .home-quick-app>span{width:55px;height:55px;border-radius:18px}
  .home-quick-app b{font-size:8px}
  .home-launch-dashboard .mobile-magazine-scroll .feed-card{flex-basis:210px;min-width:210px;max-width:210px}
}

/* Modal controls stay inside the sheet; symptom toggles never reflow the form. */
.modal-card{isolation:isolate}
.modal-card>.modal-close{
  z-index:20;
  top:16px;
  right:auto;
  left:auto;
  inset-inline-end:16px;
  width:36px;
  height:36px;
  box-sizing:border-box;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  appearance:none;
}
.modal-card>.modal-close:hover{background:transparent;color:var(--theme-ink,#472b3b)}
.modal-card>.modal-close:focus-visible{outline:0;color:var(--theme-primary,#765067)}
.symptom-choice{font-weight:760;contain:layout paint}
.symptom-choice.picked{font-weight:760}
@media(max-width:700px){
  .modal-card>.modal-close{top:14px;inset-inline-end:14px;width:34px;height:34px}
}

/* Mobile shop width safety: every card remains inside the app viewport. */
@media(max-width:700px){
  .shop-view,
  .shop-view>*,
  .shop-search-wrap,
  .shop-toolbar,
  .shop-grid,
  .shop-product,
  .shop-orders,
  .shop-order-list,
  .shop-order-list button{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .shop-view{margin-inline:0;overflow:clip}
  .shop-hero{width:100%;max-width:100%;box-sizing:border-box}
  .shop-hero>div{min-width:0}
  .shop-hero h2,.shop-hero p{overflow-wrap:anywhere}
  .shop-promises{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop-promises span{min-width:0;white-space:normal;text-align:center;line-height:1.45}
  .shop-toolbar{margin-inline:0;padding-inline:0;overflow:hidden}
  .shop-toolbar .feed-filters{min-width:0;max-width:100%;overscroll-behavior-inline:contain}
  .shop-cart-summary{box-sizing:border-box}
  .shop-product{overflow:hidden;grid-template-columns:minmax(92px,29%) minmax(0,1fr)}
  .shop-product-art,.shop-product-copy{min-width:0;max-width:100%;box-sizing:border-box}
  .shop-product-copy h3,.shop-product-copy p,.shop-price{max-width:100%;overflow-wrap:anywhere}
  .shop-price strong,.shop-price del{white-space:normal}
  .shop-order-list button>span{min-width:0}
  .shop-order-list strong,.shop-order-list small{overflow-wrap:anywhere}
  .shop-order-list .order-status{flex:none}
  .cart-row{min-width:0}
  .cart-row>div:nth-child(2){min-width:0;overflow-wrap:anywhere}
  .tracking-code,.order-items>div,.cart-totals>div{gap:10px;min-width:0}
  .tracking-code strong,.order-items strong,.cart-totals strong{flex:none}
}
@media(max-width:380px){
  .shop-product{grid-template-columns:88px minmax(0,1fr)}
  .shop-product-copy{padding:11px 10px}
  .shop-product-copy .btn{font-size:9px}
  .shop-promises{inset-inline:14px}
  .shop-promises span{font-size:8px}
  .cart-row{display:grid;grid-template-columns:44px minmax(0,1fr)}
  .cart-stepper{grid-column:1/-1;justify-self:end}
}

/* Mobile shop categories: complete, tidy chips; cart access lives in the header. */
@media(max-width:700px){
  .shop-toolbar{
    position:relative;
    top:auto;
    z-index:6;
    display:block;
    padding:2px 0 0;
    overflow:visible;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .shop-toolbar .feed-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    max-width:100%;
    gap:8px;
    margin:0;
    padding:2px 0;
    overflow:visible;
  }
  .shop-toolbar .feed-filters button{
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
    min-height:40px;
    padding:8px 12px;
    border:1px solid color-mix(in srgb,var(--theme-line,#eadfe4) 86%,transparent);
    border-radius:14px;
    background:color-mix(in srgb,var(--theme-surface,#fff) 88%,var(--theme-canvas,#faf6f8));
    color:var(--theme-muted,#8f7d87);
    box-shadow:0 5px 15px rgba(75,46,63,.04);
    white-space:normal;
    line-height:1.45;
  }
  .shop-toolbar .feed-filters button.is-active{
    border-color:color-mix(in srgb,var(--theme-primary,#765067) 34%,transparent);
    background:color-mix(in srgb,var(--theme-primary,#765067) 11%,var(--theme-surface,#fff));
    color:var(--theme-primary,#765067);
    box-shadow:0 7px 18px rgba(87,52,72,.08);
  }
  .shop-toolbar .shop-cart-summary{display:none}
}
@media(max-width:380px){
  .shop-toolbar .feed-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .shop-toolbar .feed-filters button{min-height:38px;padding-inline:8px}
}

/* Refined phone authentication */
.account-gate{padding:clamp(20px,4vw,48px);background:radial-gradient(circle at 12% 15%,#f3e6ed 0,transparent 30%),linear-gradient(145deg,#fbf9f8,#f6f0f3)}
.account-gate-shell{width:min(1040px,100%);min-height:min(680px,calc(100dvh - 64px));display:grid;grid-template-columns:1.06fr .94fr;overflow:hidden;border:1px solid rgba(91,51,76,.09);border-radius:36px;background:#fff;box-shadow:0 32px 90px rgba(67,37,57,.14)}
.gate-showcase{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:44px;background:linear-gradient(155deg,#4f2d43 0%,#754b66 54%,#9c6d88 100%);color:#fff}
.gate-showcase:before,.gate-showcase:after{content:"";position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.gate-showcase:before{width:420px;height:420px;inset:-190px auto auto -150px}.gate-showcase:after{width:520px;height:520px;inset:auto -260px -220px auto}
.gate-showcase>.brand{align-self:flex-start;margin:0;padding:10px 15px;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(35,17,29,.14)}
.gate-showcase-copy{position:relative;z-index:2;margin:auto 0;max-width:390px}.gate-showcase-copy>span{font-size:12px;letter-spacing:.04em;color:#ead2df}.gate-showcase h2{margin:16px 0;font-size:clamp(34px,4vw,48px);line-height:1.42;color:#fff}.gate-showcase p{max-width:350px;margin:0;color:rgba(255,255,255,.76);font-size:14px;line-height:2}
.gate-showcase>img{position:absolute;z-index:1;inset:auto auto -65px -90px;width:330px;height:auto;opacity:.28;filter:saturate(.7)}
.gate-trust-list{display:grid;gap:12px;margin-top:34px}.gate-trust-list span{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.88);font-size:12px}.gate-trust-list svg{color:#efd2e1}
.account-gate-card{position:relative;width:auto;display:flex;flex-direction:column;justify-content:center;padding:clamp(38px,5vw,68px);border:0;border-radius:0;box-shadow:none;text-align:right}
.gate-mobile-brand{display:none}.gate-progress{display:flex;align-items:center;gap:7px;margin-bottom:32px}.gate-progress i{width:34px;height:4px;border-radius:5px;background:#eee6eb}.gate-progress i.is-done{background:#81546f}.gate-progress span{margin-inline-start:5px;color:#a38f9b;font-size:11px}
.account-gate-card .gate-symbol{width:52px;height:52px;margin:0 0 18px;border-radius:17px;background:#f3e8ee;color:#71445f}.gate-copy .section-mini-label{color:#a16988}.gate-copy h1{margin:6px 0 9px;font-size:clamp(29px,3.4vw,38px);line-height:1.45}.gate-copy p{min-height:55px;margin:0;font-size:13px;line-height:1.9}.gate-copy p b{display:inline-block;padding:1px 7px;border-radius:8px;background:#f7f0f4;color:#613d54;font-size:13px}
.lux-auth-form{margin-top:24px!important}.lux-auth-form .field-label{display:block;margin-bottom:8px;color:#5e4655;font-size:12px;font-weight:700}.lux-phone-field{position:relative}.lux-phone-field>svg{position:absolute;z-index:2;inset-inline-start:17px;top:50%;transform:translateY(-50%);color:#94778a;pointer-events:none}.lux-phone-field .text-input{padding-inline-start:48px}
.lux-auth-form .text-input{min-height:58px;border-color:#e6dce2;border-radius:17px;background:#fcfafb;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.lux-auth-form .text-input:focus{border-color:#9a6b86;background:#fff;box-shadow:0 0 0 4px rgba(145,91,123,.1)}.field-help{display:block;margin:7px 3px 0;color:#a08e99;font-size:10px;line-height:1.7}
.lux-auth-submit{min-height:56px;margin-top:20px;border-radius:17px;background:linear-gradient(135deg,#71445f,#956780);box-shadow:0 13px 28px rgba(113,68,95,.24);font-size:13px}.lux-auth-submit:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(113,68,95,.29)}
.lux-otp-boxes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.lux-otp-box{width:100%;min-width:0;height:62px;border:1px solid #e4d8df;border-radius:16px;background:#fcfafb;color:#56384a;text-align:center;font:700 25px/1 Vazirmatn,sans-serif;font-variant-numeric:tabular-nums;outline:0;caret-color:#8b5878;transition:border-color .2s,box-shadow .2s,transform .2s}.lux-otp-box:focus{border-color:#956680;background:#fff;box-shadow:0 0 0 4px rgba(145,91,123,.1);transform:translateY(-1px)}.lux-otp-box:valid{border-color:#b992a8;background:#fff}.otp-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.otp-secondary-actions .text-btn{margin:0;color:#805971;font-size:11px}.otp-secondary-actions .text-btn:disabled{opacity:.55}
.account-gate-card>.auth-foot{display:flex;align-items:flex-start;gap:7px;margin-top:30px;padding-top:20px;border-top:1px solid #f1e9ed;color:#a3929c;font-size:10px;line-height:1.8}.account-gate-card>.auth-foot svg{flex:0 0 auto;margin-top:3px}
.lux-modal-auth{padding:4px}.lux-modal-auth .gate-progress{margin-bottom:24px}.lux-modal-auth .gate-symbol{margin:0 0 16px}.lux-modal-auth .gate-copy .modal-title{margin:5px 0 8px;font-size:27px}.lux-modal-auth .gate-copy .modal-desc{margin:0;line-height:1.9}.lux-modal-auth .auth-foot{display:flex;align-items:center;gap:7px;margin-top:22px;color:#a3929c;font-size:10px}

@media(max-width:700px){
 .account-gate{display:block;min-height:100dvh;padding:0;background:#fff}
 .account-gate-shell{display:block;width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none}
 .gate-showcase{display:none}.account-gate-card{width:100%;min-height:100dvh;padding:max(92px,calc(env(safe-area-inset-top) + 70px)) 22px calc(24px + env(safe-area-inset-bottom));justify-content:center}
 .gate-mobile-brand{display:inline-flex;position:absolute;inset:max(20px,env(safe-area-inset-top)) 22px auto auto}.gate-mobile-brand .app-logo{width:112px!important;height:auto!important}
 .gate-progress{margin-bottom:27px}.account-gate-card .gate-symbol{width:48px;height:48px;margin-bottom:16px}.gate-copy h1{font-size:30px}.gate-copy p{min-height:0;font-size:12px}
 .lux-auth-form{margin-top:22px!important}.lux-auth-form .text-input{min-height:57px}.lux-auth-submit{min-height:55px}.account-gate-card>.auth-foot{margin-top:25px}
}
@media(max-width:370px){.account-gate-card{padding-inline:17px}.gate-copy h1{font-size:27px}.lux-otp-boxes{gap:7px}.lux-otp-box{height:56px;border-radius:14px;font-size:22px}}
