.mdm-portal-shell{
  --mdm-accent:#08b96b;
  --mdm-accent-dark:#067f57;
  --mdm-accent-soft:#e9f9f1;
  --mdm-ink:#10243e;
  --mdm-muted:#6d7c90;
  --mdm-border:#dde8e2;
  --mdm-surface:#ffffff;
  --mdm-surface-2:#f7fbf8;
  max-width:1240px;
  margin:24px auto;
  padding:0 18px 70px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--mdm-ink);
}
.mdm-portal-shell *{box-sizing:border-box}
.mdm-login-shell{min-height:72vh;display:grid;place-items:center}
.mdm-login-card{
  width:min(100%,500px);
  padding:36px;
  border:1px solid rgba(8,185,107,.14);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(49,215,143,.14), transparent 42%),
    linear-gradient(180deg,#ffffff 0%,#f9fcfa 100%);
  box-shadow:0 30px 70px rgba(6,37,26,.12);
  text-align:center;
}
.mdm-brand-mark{
  display:grid;place-items:center;width:72px;height:72px;border-radius:22px;margin:0 auto 14px;
  background:linear-gradient(135deg,var(--mdm-accent-dark),var(--mdm-accent));
  color:#fff;font-size:30px;box-shadow:0 16px 28px rgba(8,185,107,.28)
}
.mdm-brand-name{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:var(--mdm-accent);display:inline-block}
.mdm-login-card h1{font-size:38px;line-height:1.08;margin:12px 0 12px;color:#123152}
.mdm-login-card p{color:var(--mdm-muted);line-height:1.7;font-size:16px;margin:0}
.mdm-login-form{display:flex;flex-direction:column;gap:14px;margin-top:24px;text-align:left}
.mdm-login-form label{display:flex;flex-direction:column;gap:8px}
.mdm-login-form label span{font-size:13px;font-weight:800;color:#1d3552}
.mdm-login-form input{height:58px;border:1px solid #d6e6de;border-radius:16px;padding:0 18px;font-size:24px;letter-spacing:.28em;text-align:center;background:#fff;color:#17324f}
.mdm-login-form input:focus{outline:0;border-color:var(--mdm-accent);box-shadow:0 0 0 4px rgba(8,185,107,.12)}
.mdm-login-form button,.mdm-submit-feedback{border:0;border-radius:16px;background:linear-gradient(135deg,var(--mdm-accent),#16ca7d);color:#fff;font-weight:900;min-height:54px;padding:0 18px;cursor:pointer;box-shadow:0 14px 24px rgba(8,185,107,.18);transition:transform .18s ease, box-shadow .18s ease}
.mdm-login-form button:hover,.mdm-submit-feedback:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(8,185,107,.24)}
.mdm-login-form button:disabled,.mdm-submit-feedback:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.mdm-login-error{padding:13px 15px;border-radius:14px;background:#fff3f3;color:#b72c2c;text-align:left;margin-top:16px;border:1px solid #ffd4d4}

.mdm-portal-shell:not(.mdm-login-shell){
  background:
    radial-gradient(circle at top right, rgba(26,210,135,.12), transparent 30%),
    radial-gradient(circle at 10% 10%, rgba(7,175,110,.08), transparent 25%),
    linear-gradient(180deg,#f5fbf8 0%, #f8fbfd 100%);
  border:1px solid rgba(8,185,107,.08);
  border-radius:34px;
  box-shadow:0 28px 70px rgba(16,36,62,.08);
  overflow:hidden;
}
.mdm-portal-header{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
  padding:34px 30px 28px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg,#086e51 0%,#08b96b 55%,#18d98c 100%);
  color:#fff;
}
.mdm-portal-header h1{font-size:40px;line-height:1.05;margin:8px 0 6px;color:#fff}
.mdm-portal-header p{margin:0;color:rgba(255,255,255,.82);font-size:16px}
.mdm-portal-header .mdm-brand-name{color:#d9ffee;letter-spacing:.26em}
.mdm-logout{
  display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:14px;
  border:1px solid rgba(255,255,255,.28);text-decoration:none;color:#fff;background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);font-weight:800;white-space:nowrap;
}
.mdm-logout:hover{background:rgba(255,255,255,.18);color:#fff}

.mdm-plan-summary{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:14px;margin:18px;padding:0 18px 0}
.mdm-plan-summary>div{
  padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);
  border:1px solid rgba(8,185,107,.1);box-shadow:0 12px 30px rgba(16,36,62,.06)
}
.mdm-plan-summary span,.mdm-plan-summary strong{display:block}
.mdm-plan-summary span{font-size:12px;color:#6f8391;margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.mdm-plan-summary strong{font-size:18px;line-height:1.45;color:#10243e}

.mdm-intro{margin:18px;padding:18px 22px;border-radius:20px;background:linear-gradient(180deg,#effbf4,#f7fdfa);border:1px solid rgba(8,185,107,.13);line-height:1.72;color:#24435e}
.mdm-day-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:12px 18px 12px;padding:8px 6px}
.mdm-day-nav>a{color:var(--mdm-accent-dark);text-decoration:none;font-weight:900}
.mdm-day-nav>a:last-child{text-align:right}.mdm-day-nav>div{text-align:center}
.mdm-day-nav strong,.mdm-day-nav span{display:block}
.mdm-day-nav strong{font-size:36px;line-height:1.1;color:#10243e}.mdm-day-nav span{font-size:14px;color:#7a8797;margin-top:6px}

.mdm-progress{height:10px;background:#dfe8e5;border-radius:999px;overflow:hidden;margin:0 18px 24px}.mdm-progress span{display:block;height:100%;background:linear-gradient(90deg,#0aa969,#1ad28a);border-radius:999px;transition:width .3s}

.mdm-meal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:0 18px 28px}
.mdm-patient-meal{border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(8,185,107,.1);box-shadow:0 18px 44px rgba(16,36,62,.08)}
.mdm-patient-meal.is-saved{box-shadow:0 0 0 2px rgba(8,185,107,.28),0 18px 44px rgba(16,36,62,.08)}
.mdm-meal-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:24px 24px 26px;color:#fff;background:linear-gradient(135deg,#087658 0%,#08b96b 100%);position:relative}
.mdm-meal-head:after{content:'';position:absolute;left:-12%;right:-12%;bottom:-26px;height:60px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:1}
.mdm-meal-accent-1 .mdm-meal-head{background:linear-gradient(135deg,#0a6e52,#09b96b)}
.mdm-meal-accent-2 .mdm-meal-head{background:linear-gradient(135deg,#0d8a73,#10cfa0)}
.mdm-meal-accent-3 .mdm-meal-head{background:linear-gradient(135deg,#f1b81b,#f6d254)}
.mdm-meal-accent-4 .mdm-meal-head{background:linear-gradient(135deg,#0a7e61,#18c98c)}
.mdm-time{font-size:44px;font-weight:900;letter-spacing:-.04em;position:relative;z-index:1}
.mdm-meal-name{font-size:14px;font-weight:900;background:rgba(255,255,255,.18);padding:7px 12px;border-radius:999px;position:relative;z-index:1;backdrop-filter:blur(6px)}
.mdm-meal-body{padding:18px 22px 22px}
.mdm-meal-body h2{font-size:16px;margin:0 0 12px;color:#17324f}.mdm-meal-description{font-size:18px;line-height:1.72;font-weight:700;white-space:normal;color:#10243e}
.mdm-meal-body details{border:1px solid #e4ece8;border-radius:14px;margin-top:12px;overflow:hidden;background:#fbfdfc}
.mdm-meal-body summary{cursor:pointer;padding:13px 15px;font-weight:800;font-size:14px;background:#f7fbf8;color:#17324f}
.mdm-meal-body details>div{padding:14px 15px;line-height:1.7;color:#4d5c6e}
.mdm-forbidden summary{color:#cb503b;background:#fff5f3}
.mdm-status-options{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
.mdm-status-choice{position:relative}.mdm-status-choice input{position:absolute;opacity:0;pointer-events:none}
.mdm-status-choice span{display:flex;align-items:center;gap:10px;min-height:50px;border:1px solid #dfe8e2;border-radius:15px;padding:10px 13px;cursor:pointer;font-weight:800;transition:.18s;background:#fff}
.mdm-status-choice b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef4f1;color:#1b3552}
.mdm-status-choice input:checked+span{border-color:var(--mdm-accent);background:#effbf5;box-shadow:0 0 0 3px rgba(8,185,107,.1)}
.mdm-extra-fields{display:grid;gap:12px;margin-top:14px;max-height:500px;overflow:hidden;transition:.2s}.mdm-extra-fields.is-hidden{max-height:0;margin-top:0;opacity:0;pointer-events:none}
.mdm-extra-fields label{display:flex;flex-direction:column;gap:6px}.mdm-extra-fields label span{font-size:12px;font-weight:800;color:#5c6a7b}
.mdm-extra-fields textarea,.mdm-extra-fields select{width:100%;border:1px solid #dce8e2;border-radius:13px;padding:11px 12px;background:#fff;color:#17324f}
.mdm-extra-fields textarea:focus,.mdm-extra-fields select:focus{outline:0;border-color:var(--mdm-accent);box-shadow:0 0 0 3px rgba(8,185,107,.1)}
.mdm-submit-feedback{width:100%;margin-top:16px}
.mdm-save-message{min-height:20px;text-align:center;color:#238259;font-size:13px;font-weight:800;margin-top:10px}
.mdm-locked{margin-top:18px;padding:14px 15px;border-radius:14px;background:#f2f7f4;color:#667485;font-size:13px;border:1px solid #e0e9e4}
.mdm-no-plan{margin:0 18px 24px;padding:64px 24px;text-align:center;border:1px solid rgba(8,185,107,.1);border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(16,36,62,.06)}.mdm-no-plan h2{margin-top:0;color:#17324f}
.mdm-theme-sport{background:#10141a;color:#f5f7fa;border-radius:34px;padding-top:0}.mdm-theme-sport .mdm-portal-header,.mdm-theme-sport .mdm-plan-summary>div,.mdm-theme-sport .mdm-patient-meal,.mdm-theme-sport .mdm-no-plan{background:#1c2129;border-color:#2b323c}.mdm-theme-sport .mdm-meal-head:after{background:#1c2129}.mdm-theme-sport .mdm-meal-body details{border-color:#343c47;background:#202730}.mdm-theme-sport .mdm-meal-body summary{background:#242b34;color:#eef4fa}.mdm-theme-sport .mdm-meal-body details>div,.mdm-theme-sport .mdm-portal-header p,.mdm-theme-sport .mdm-day-nav span,.mdm-theme-sport .mdm-plan-summary span{color:#b8c0ca}.mdm-theme-sport .mdm-status-choice span{border-color:#353d47;background:#1c2129;color:#f5f7fa}.mdm-theme-sport .mdm-status-choice b{background:#2a313a;color:#f5f7fa}.mdm-theme-sport .mdm-intro{background:#182028;border-color:#2b323c;color:#d6e0ea}.mdm-theme-sport .mdm-progress{background:#2a3340}.mdm-theme-sport .mdm-day-nav strong,.mdm-theme-sport .mdm-meal-description,.mdm-theme-sport .mdm-meal-body h2,.mdm-theme-sport .mdm-plan-summary strong{color:#f5f7fa}.mdm-theme-sport .mdm-extra-fields textarea,.mdm-theme-sport .mdm-extra-fields select{background:#1a2028;border-color:#353d47;color:#f5f7fa}
.mdm-theme-sunset .mdm-portal-header{background:linear-gradient(135deg,#087658,#10bc75 45%,#f6bf46 100%)}
.mdm-theme-minimal{background:#fafcfd;box-shadow:none}.mdm-theme-minimal .mdm-portal-header{background:#fff;color:#10243e;border-bottom:1px solid #e6edf3}.mdm-theme-minimal .mdm-portal-header h1,.mdm-theme-minimal .mdm-portal-header p,.mdm-theme-minimal .mdm-portal-header .mdm-brand-name{color:#10243e}.mdm-theme-minimal .mdm-logout{border-color:#dce4ea;color:#46566b;background:#fff}.mdm-theme-minimal .mdm-patient-meal{box-shadow:none;border-radius:18px}.mdm-theme-minimal .mdm-meal-head{border-radius:0;background:#eef6f2;color:#17202d}.mdm-theme-minimal .mdm-meal-head:after{background:#fff}.mdm-theme-minimal .mdm-meal-name{background:#dcebe3;color:#17324f}
.mdm-theme-fresh,.mdm-theme-fresh-green,.mdm-theme-green{background:radial-gradient(circle at top right, rgba(30,210,140,.12), transparent 30%),linear-gradient(180deg,#f3fbf7 0%, #f8fbfd 100%)}
.mdm-portal-shell .mdm-macro-strip{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.mdm-portal-shell .mdm-macro-strip span{border-radius:999px;padding:7px 10px;background:rgba(8,185,107,.1);font-size:12px;font-weight:700;color:#24503f}.mdm-theme-sport .mdm-macro-strip span,.mdm-theme-sunset .mdm-macro-strip span{background:rgba(255,255,255,.12);color:#fff}

@media (max-width: 1024px){
  .mdm-plan-summary{grid-template-columns:1fr 1fr}
  .mdm-plan-summary>div:first-child{grid-column:1/-1}
  .mdm-meal-cards{grid-template-columns:1fr}
}
@media (max-width: 620px){
  .mdm-portal-shell{margin:10px auto;padding:0 10px 28px;border-radius:24px}
  .mdm-login-card{padding:28px 20px;border-radius:24px}.mdm-login-card h1{font-size:28px}
  .mdm-portal-header{padding:26px 18px 20px;align-items:flex-start;flex-direction:column;border-radius:22px}
  .mdm-portal-header h1{font-size:28px}
  .mdm-portal-header p{font-size:15px}
  .mdm-logout{height:40px;padding:0 14px}
  .mdm-plan-summary{grid-template-columns:1fr 1fr;gap:8px;margin:14px;padding:0}
  .mdm-plan-summary>div{padding:14px 14px;border-radius:18px}
  .mdm-plan-summary>div:first-child{grid-column:1/-1}
  .mdm-intro{margin:14px;padding:14px 16px;border-radius:16px}
  .mdm-day-nav{grid-template-columns:auto 1fr auto;gap:8px;margin:10px 12px}
  .mdm-day-nav>a{font-size:0}.mdm-day-nav>a:first-child:after{content:'‹';font-size:28px}.mdm-day-nav>a:last-child:after{content:'›';font-size:28px}
  .mdm-day-nav strong{font-size:28px}.mdm-day-nav span{font-size:12px}
  .mdm-progress{margin:0 14px 18px}
  .mdm-meal-cards{padding:0 14px 18px;gap:16px}
  .mdm-patient-meal{border-radius:22px}
  .mdm-meal-head{padding:20px 18px 24px}
  .mdm-meal-head:after{bottom:-21px;height:48px}
  .mdm-time{font-size:38px}
  .mdm-meal-name{font-size:13px;padding:6px 10px}
  .mdm-meal-body{padding:16px}
  .mdm-meal-description{font-size:16px;line-height:1.6}
}

/* v1.3.8 portal layout fixes */
.mdm-portal-shell:not(.mdm-login-shell){
  padding:0 0 70px;
}
.mdm-portal-shell:not(.mdm-login-shell) .mdm-portal-header{
  width:100%;
  margin:0;
  border-radius:33px 33px 0 0;
  position:relative;
}
.mdm-meal-head:after{
  content:none!important;
  display:none!important;
}
.mdm-meal-body{
  position:relative;
  z-index:2;
  padding-top:24px;
}

@media (max-width:620px){
  .mdm-portal-shell:not(.mdm-login-shell){
    padding:0 0 30px;
    border-radius:24px;
  }
  .mdm-portal-shell:not(.mdm-login-shell) .mdm-portal-header{
    min-height:250px;
    padding:72px 20px 28px;
    border-radius:23px 23px 0 0;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .mdm-portal-header>div{
    width:100%;
    text-align:center;
  }
  .mdm-portal-header .mdm-brand-name,
  .mdm-portal-header h1,
  .mdm-portal-header p{
    width:100%;
    text-align:center;
  }
  .mdm-portal-header h1{
    margin-left:auto;
    margin-right:auto;
  }
  .mdm-logout{
    position:absolute;
    top:16px;
    right:16px;
    height:38px;
    min-width:76px;
    padding:0 13px;
    font-size:13px;
    z-index:3;
  }
  .mdm-plan-summary>div,
  .mdm-intro,
  .mdm-day-nav,
  .mdm-no-plan{
    text-align:center;
  }
  .mdm-plan-summary span,
  .mdm-plan-summary strong{
    text-align:center;
  }
  .mdm-meal-head{
    min-height:132px;
    padding:24px 18px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .mdm-time,
  .mdm-meal-name{
    text-align:center;
  }
  .mdm-meal-body{
    padding:22px 18px;
    text-align:center;
  }
  .mdm-meal-body h2,
  .mdm-meal-description{
    text-align:center;
  }
  .mdm-portal-shell .mdm-macro-strip{
    justify-content:center;
  }
  .mdm-meal-body summary,
  .mdm-meal-body details>div{
    text-align:center;
  }
  .mdm-status-choice span{
    justify-content:center;
    text-align:center;
  }
  .mdm-extra-fields label>span{
    text-align:center;
  }
  .mdm-extra-fields textarea,
  .mdm-extra-fields select{
    text-align:left;
  }
}
