:root{
  --dashboard-ink:#32143f;
  --dashboard-muted:#6d5b74;
  --dashboard-line:rgba(76,13,115,.12);
  --dashboard-white:rgba(255,255,255,.78)
}
.sr-only{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}
.dashboard-page{min-height:100vh;background:radial-gradient(circle at 10% 15%,rgba(255,255,255,.92),transparent 28%),radial-gradient(circle at 90% 7%,rgba(190,123,225,.22),transparent 28%),linear-gradient(160deg,#fbf7fd 0%,#f2e3f8 48%,#ead5f3 100%);color:var(--dashboard-ink)}
.dashboard-page .member-shell,.dashboard-page .admin-shell{position:relative;z-index:1}
.dashboard-page .member-shell:before,.dashboard-page .admin-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(76,13,115,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(76,13,115,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 72%)}
.member-header,.admin-head{overflow:hidden;position:relative}
.member-header:after,.admin-head:after{content:"";position:absolute;right:-70px;top:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(164,83,205,.2),transparent 68%);pointer-events:none}
.member-welcome-copy{display:grid;gap:5px}
.member-date,.secure-badge,.dashboard-badge{display:inline-flex;align-items:center;width:max-content;gap:7px;padding:8px 12px;border:1px solid rgba(76,13,115,.13);border-radius:999px;background:rgba(255,255,255,.66);color:var(--violet-900);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.member-date:before,.secure-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(145deg,var(--gold),var(--violet-600));box-shadow:0 0 0 5px rgba(170,88,211,.08)}
.member-tabs,.admin-nav{position:sticky;top:112px;z-index:30;padding:8px;border:1px solid rgba(255,255,255,.78);border-radius:20px;background:rgba(255,255,255,.64);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 12px 35px rgba(45,23,56,.08)}
.member-tabs .member-tab,.admin-nav button{border-color:transparent;background:transparent}
.member-tabs .member-tab.active,.admin-nav button.active{box-shadow:0 10px 24px rgba(76,13,115,.18)}
.member-landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:18px;margin:22px 0}
.affirmation-card,.checkin-card,.admin-welcome-banner{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.72);box-shadow:0 22px 60px rgba(45,23,56,.11)}
.affirmation-card{display:flex;min-height:360px;flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,54px);border-radius:34px;background:radial-gradient(circle at 85% 10%,rgba(255,255,255,.34),transparent 28%),linear-gradient(145deg,#351040,#6e1b91 58%,#a956cf);color:#fff}
.affirmation-card:after{content:"with love, fmb";position:absolute;right:-15px;bottom:10px;font-family:'Cormorant Garamond',serif;font-size:62px;font-style:italic;color:rgba(255,255,255,.07);white-space:nowrap;transform:rotate(-6deg)}
.affirmation-card .eyebrow{color:#f4d889}
.affirmation-card blockquote{max-width:680px;margin:26px 0;font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,60px);font-weight:500;line-height:1.02;letter-spacing:-.025em}
.affirmation-card p{color:rgba(255,255,255,.76)}
.affirmation-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:17px;background:rgba(255,255,255,.1);font-family:'Cormorant Garamond',serif;font-size:27px;color:#f4d889}
.checkin-card{padding:30px;border-radius:34px;background:var(--dashboard-white)}
.checkin-card h2{margin:8px 0 10px;font-size:clamp(34px,4vw,46px);font-weight:550;line-height:1}
.checkin-card .section-lede{font-size:14px}
.mood-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:22px 0 16px}
.mood-option{position:relative;display:grid;justify-items:center;gap:5px;cursor:pointer}
.mood-option input{position:absolute;opacity:0;pointer-events:none}
.mood-face{display:grid;place-items:center;width:100%;min-height:58px;border:1px solid var(--dashboard-line);border-radius:17px;background:rgba(255,255,255,.72);font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:650;color:var(--violet-900);transition:.22s ease}
.mood-option small{font-size:10px;font-weight:800;color:var(--dashboard-muted)}
.mood-option input:focus-visible+.mood-face{outline:3px solid rgba(170,88,211,.25);outline-offset:2px}
.mood-option input:checked+.mood-face{transform:translateY(-2px);border-color:var(--violet-600);background:linear-gradient(145deg,var(--violet-950),var(--violet-600));color:#fff;box-shadow:0 12px 24px rgba(76,13,115,.2)}
.checkin-card textarea{min-height:88px;resize:vertical}
.checkin-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.checkin-privacy{max-width:220px;color:var(--dashboard-muted);font-size:11px;line-height:1.45}
.checkin-history{margin-top:18px;padding:24px;border-radius:28px;background:rgba(255,255,255,.55);border:1px solid var(--dashboard-line)}
.checkin-history-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.checkin-history-head h3{font-size:30px;color:var(--violet-900)}
.checkin-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}
.checkin-day{min-height:104px;padding:13px;border-radius:18px;background:rgba(255,255,255,.75);border:1px solid var(--dashboard-line)}
.checkin-day time{display:block;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--dashboard-muted)}
.checkin-day strong{display:block;margin:9px 0 5px;color:var(--violet-900)}
.checkin-day p{display:-webkit-box;overflow:hidden;color:var(--dashboard-muted);font-size:11px;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat-card{position:relative;overflow:hidden}
.stat-card:after{content:"";position:absolute;right:-24px;bottom:-32px;width:90px;height:90px;border-radius:50%;background:rgba(170,88,211,.08)}
.member-section-block{margin-top:24px}
.member-section-block .section-head{margin-bottom:14px}
.member-grid .glass-card{position:relative;min-height:210px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.member-grid .glass-card:hover{transform:translateY(-4px);border-color:rgba(76,13,115,.22);box-shadow:0 25px 56px rgba(45,23,56,.12)}
.member-grid .glass-card:after{content:"Open";position:absolute;right:22px;bottom:18px;font-size:11px;font-weight:850;color:var(--violet-700)}
.journal-date{display:inline-flex;margin-bottom:8px;padding:5px 8px;border-radius:9px;background:var(--violet-100);color:var(--violet-900);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.community-state{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;background:var(--violet-100);color:var(--violet-900);font-size:10px;font-weight:850;text-transform:capitalize}
.admin-welcome-banner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:24px;margin-bottom:22px;padding:clamp(30px,5vw,52px);border-radius:34px;background:radial-gradient(circle at 90% 0,rgba(255,255,255,.22),transparent 30%),linear-gradient(140deg,#2f0c3d,#5c177b 60%,#8d39b5);color:#fff}
.admin-welcome-banner h2{max-width:760px;margin:12px 0 14px;font-size:clamp(42px,6vw,68px);font-weight:520;line-height:.95}
.admin-welcome-banner p{color:rgba(255,255,255,.75)}
.admin-welcome-banner .eyebrow{color:#f4d889}
.admin-welcome-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.admin-welcome-actions button{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff}
.admin-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-kpi{position:relative;overflow:hidden}
.admin-kpi span{display:block;min-height:34px;color:var(--dashboard-muted);font-size:12px;font-weight:780}
.admin-kpi small{color:var(--dashboard-muted);font-size:10px}
.admin-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.admin-quick-card{display:flex;min-height:180px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:24px;border:1px solid var(--dashboard-line);border-radius:25px;background:rgba(255,255,255,.68);text-align:left;color:var(--dashboard-ink);transition:.22s ease}
.admin-quick-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 20px 45px rgba(45,23,56,.1)}
.admin-quick-card strong{font-family:'Cormorant Garamond',serif;font-size:29px;color:var(--violet-900)}
.admin-quick-card span{color:var(--dashboard-muted);font-size:13px;line-height:1.55}
.admin-quick-card b{font-size:11px;color:var(--violet-700)}
.admin-system-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:22px}
.system-ready-list{display:grid;gap:11px;margin-top:17px}
.system-ready-list li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--dashboard-line);color:var(--dashboard-muted);font-size:13px}
.system-ready-list li:before{content:"";width:8px;height:8px;border-radius:50%;background:#43a36e;box-shadow:0 0 0 5px rgba(67,163,110,.1)}
.admin-mobile-bar button{display:grid;justify-items:center;gap:4px;padding:8px 4px;border:0;border-radius:17px;background:transparent;color:var(--muted);font:inherit;font-size:10.5px}
.admin-mobile-bar button.active{background:var(--violet-100);color:var(--violet-900)}
.admin-mobile-bar svg{width:21px;height:21px}
@media(max-width:1080px){.member-landing-hero,.admin-welcome-banner,.admin-system-grid{grid-template-columns:1fr}.admin-welcome-actions{justify-content:flex-start}.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.checkin-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.member-tabs,.admin-nav{top:94px}.member-landing-hero{grid-template-columns:1fr}.affirmation-card{min-height:310px}.mood-options{gap:5px}.mood-face{min-height:52px}.dashboard-stats{grid-template-columns:repeat(4,132px);overflow-x:auto;padding-bottom:6px}.checkin-list{display:flex;overflow-x:auto}.checkin-day{min-width:132px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-quick-grid{grid-template-columns:1fr}.member-mobile-bar{grid-template-columns:repeat(5,1fr)}.admin-mobile-bar{display:grid;grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.member-header,.admin-head{padding:22px}.member-header h1{font-size:43px}.member-tabs,.admin-nav{border-radius:17px}.affirmation-card,.checkin-card,.admin-welcome-banner{border-radius:26px}.affirmation-card{padding:30px 24px}.affirmation-card blockquote{font-size:40px}.checkin-card{padding:25px 20px}.mood-option small{font-size:8.5px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-kpi{padding:16px}.admin-welcome-banner{padding:30px 23px}.admin-welcome-banner h2{font-size:44px}.member-grid .glass-card{min-height:185px}}
@media(prefers-reduced-motion:reduce){.member-grid .glass-card,.admin-quick-card,.mood-face{transition:none}}

/* Post-verification installation opportunity. Excluded by script on the dedicated Yoni host. */
.member-install-onboarding[hidden]{display:none!important}
.member-install-onboarding{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}
.member-install-backdrop{position:absolute;inset:0;border:0;background:rgba(37,12,49,.58);backdrop-filter:blur(16px)}
.member-install-dialog{position:relative;width:min(760px,100%);max-height:min(90vh,820px);overflow:auto;padding:clamp(28px,5vw,52px);border:1px solid rgba(255,255,255,.82);border-radius:36px;background:radial-gradient(circle at 92% 3%,rgba(191,119,226,.22),transparent 29%),rgba(255,253,255,.96);box-shadow:0 34px 110px rgba(39,10,55,.3);color:var(--dashboard-ink)}
.member-install-close{position:absolute;top:18px;right:18px;min-height:38px;padding:0 14px;border:1px solid var(--dashboard-line);border-radius:999px;background:rgba(255,255,255,.8);color:var(--dashboard-muted);font-size:11px;font-weight:850}
.member-install-brand{display:flex;align-items:center;gap:14px;padding-right:82px}
.member-install-brand img{width:64px;height:64px;object-fit:contain}
.member-install-brand div{display:grid;gap:2px}
.member-install-brand .eyebrow{margin:0;color:var(--violet-700)}
.member-install-brand strong{font-family:'Cormorant Garamond',serif;font-size:27px;color:var(--violet-950)}
.member-install-dialog h2{max-width:680px;margin:24px 0 14px;font-family:'Cormorant Garamond',serif;font-size:clamp(40px,6vw,61px);font-weight:550;line-height:.96;letter-spacing:-.03em;color:var(--violet-950)}
.member-install-dialog>p{max-width:680px;color:var(--dashboard-muted);line-height:1.7}
.member-install-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:25px 0;padding:0;list-style:none}
.member-install-benefits li{display:grid;gap:6px;min-height:132px;padding:20px;border:1px solid var(--dashboard-line);border-radius:22px;background:rgba(245,235,250,.68)}
.member-install-benefits strong{color:var(--violet-900);font-size:13px}
.member-install-benefits span{color:var(--dashboard-muted);font-size:12px;line-height:1.55}
.member-install-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.member-install-actions .pill{min-height:50px}
.member-install-help{margin:15px 0 0!important;font-size:12px}
@media(max-width:680px){
  .member-install-onboarding{align-items:end;padding:10px}
  .member-install-dialog{max-height:92vh;padding:30px 20px 24px;border-radius:29px}
  .member-install-close{top:14px;right:14px}
  .member-install-brand{padding-right:70px}
  .member-install-brand img{width:54px;height:54px}
  .member-install-dialog h2{font-size:43px}
  .member-install-benefits{grid-template-columns:1fr}
  .member-install-benefits li{min-height:0}
  .member-install-actions{display:grid}
  .member-install-actions .pill{width:100%}
}
@media(prefers-reduced-motion:reduce){.member-install-dialog{scroll-behavior:auto}}
