/* Fey Nutrition — Member Portal (matches main-site palette) */
:root {
  --green-50:#f2faf5; --green-100:#ddf2e6; --green-200:#b8e3c9;
  --green-500:#3a9c6e; --green-600:#2e7d56; --green-700:#245f42;
  --teal-500:#1f9988; --teal-600:#167a6d;
  --cream-50:#fdfcf8; --cream-100:#f8f5ef; --cream-200:#f0ebe0;
  --n-400:#9ca3af; --n-600:#4b5563; --n-700:#374151; --n-900:#111827;
  --sans:'DM Sans',system-ui,sans-serif; --serif:'DM Serif Display',Georgia,serif;
  --r-sm:6px; --r-md:12px; --r-lg:20px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08); --shadow-md:0 4px 16px rgba(0,0,0,.10);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:var(--n-900);background:var(--cream-100);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--teal-600);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:8px}
h2{font-size:1.05rem;font-weight:700;margin-bottom:14px;color:var(--green-700)}
h3{font-size:1rem;font-weight:600;margin-bottom:6px}
:focus-visible{outline:2.5px solid var(--teal-500);outline-offset:2px;border-radius:4px}

/* nav */
.pnav{background:var(--cream-50);border-bottom:1px solid var(--cream-200);position:sticky;top:0;z-index:50}
.pnav__inner{max-width:1080px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px;min-height:60px;flex-wrap:wrap}
.pnav__logo{font-weight:700;color:var(--green-700);font-size:16px;flex-shrink:0}
.pnav__logo:hover{text-decoration:none}
.pnav__links{display:flex;gap:16px;flex-wrap:wrap}
.pnav__links a{font-size:14px;font-weight:500;color:var(--n-700)}
.pnav__links a:hover{color:var(--green-500);text-decoration:none}
.pnav__admin{color:var(--teal-600)!important;font-weight:700!important}
.pnav__logout{margin-left:auto;display:flex;align-items:center;gap:10px}
.pnav__who{font-size:13px;color:var(--n-600)}

/* layout */
.pmain{max-width:1080px;margin:0 auto;padding:32px 20px 64px;width:100%;flex:1}
.page-sub{color:var(--n-600);font-size:14px;margin-bottom:24px}
.pfooter{background:var(--n-900);color:var(--n-400);padding:16px 20px;text-align:center;font-size:12px}
.pfooter a{color:var(--green-200)}

/* panels & cards */
.panel{background:#fff;border:1px solid var(--cream-200);border-radius:var(--r-lg);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 24px}
.stat-card{background:#fff;border:1px solid var(--cream-200);border-radius:var(--r-md);padding:18px 20px;box-shadow:var(--shadow-sm)}
.stat-card__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--n-600);margin-bottom:6px}
.stat-card__value{font-family:var(--serif);font-size:32px;color:var(--green-700);line-height:1.1}
.stat-card__value small{font-size:15px;color:var(--n-600)}
.stat-card__sub{font-size:12px;color:var(--n-600);margin-top:4px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* auth */
.auth-card{max-width:420px;margin:24px auto;background:#fff;border:1px solid var(--cream-200);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-md)}
.auth-card h1{text-align:center}
.auth-sub{text-align:center;color:var(--n-600);font-size:14px;margin-bottom:20px}
.auth-alt{text-align:center;font-size:14px;margin-top:16px}
.auth-privacy{font-size:12px;color:var(--n-400);margin-top:16px;text-align:center}

/* forms */
label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}
.hint{font-weight:400;color:var(--n-400);font-size:12px}
input,select,textarea{width:100%;margin-top:6px;padding:10px 12px;font-family:var(--sans);font-size:15px;border:1.5px solid var(--cream-200);border-radius:var(--r-sm);background:var(--cream-50)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal-500);background:#fff}
.inline-form{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.inline-form label{flex:0 0 auto;min-width:130px;margin-bottom:0}
.inline-form .grow{flex:1 1 200px}
.inline-form button{margin-bottom:1px}
.stack-form label{margin-bottom:14px}

/* buttons */
.pbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:all .15s}
.pbtn--primary{background:var(--green-500);color:#fff;border-color:var(--green-500)}
.pbtn--primary:hover{background:var(--green-600);border-color:var(--green-600)}
.pbtn--ghost{background:transparent;color:var(--n-600);border-color:var(--cream-200)}
.pbtn--ghost:hover{background:var(--cream-100)}
.pbtn--sm{padding:5px 12px;font-size:13px}
.pbtn--block{width:100%}

/* tables */
.ptable{width:100%;border-collapse:collapse;font-size:14px}
.ptable th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--n-600);padding:8px 10px;border-bottom:2px solid var(--cream-200)}
.ptable td{padding:9px 10px;border-bottom:1px solid var(--cream-100);vertical-align:middle}
.ptable tr:hover td{background:var(--cream-50)}
.muted{color:var(--n-400);font-size:13px}

/* tags & flash */
.tag{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700}
.tag--good{background:var(--green-100);color:var(--green-700)}
.tag--warn{background:#fff3cd;color:#8a6d1a}
.tag--bad{background:#fde2e2;color:#a12622}
.flash{background:var(--green-100);border:1px solid var(--green-200);color:var(--green-700);padding:10px 16px;border-radius:var(--r-sm);font-size:14px;margin-bottom:20px}
.flash--error{background:#fde2e2;border-color:#f5b5b5;color:#a12622}

/* comments */
.comment{border-left:3px solid var(--green-200);padding:8px 14px;margin-bottom:12px;background:var(--green-50);border-radius:0 var(--r-sm) var(--r-sm) 0}
.comment__meta{font-size:12px;font-weight:700;color:var(--green-700);margin-bottom:2px}
.comment p{font-size:14px}

/* benefits */
.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}
.benefit-card{background:#fff;border:1px solid var(--cream-200);border-radius:var(--r-md);padding:20px;box-shadow:var(--shadow-sm)}
.benefit-card__icon{font-size:26px;margin-bottom:8px}
.benefit-card p{font-size:13px;color:var(--n-600)}

@media (max-width:760px){
  .stat-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .benefit-grid{grid-template-columns:1fr}
  .inline-form{flex-direction:column;align-items:stretch}
  .inline-form label{min-width:0}
  .pnav__logout{margin-left:0}
}
