:root {
  --nmc-bg: #f3f6f2;
  --nmc-card: #ffffff;
  --nmc-text: #16221b;
  --nmc-muted: #68736c;
  --nmc-green: #1f6b43;
  --nmc-green-2: #2d8155;
  --nmc-green-soft: #eaf3ed;
  --nmc-line: #dce4de;
  --nmc-dark: #153829;
  --nmc-radius: 22px;
  --nmc-shadow: 0 18px 50px rgba(20, 50, 35, .08);
}

.nmc-app, .nmc-app * { box-sizing: border-box; }
.nmc-app {
  width: 100%;
  background: var(--nmc-bg);
  color: var(--nmc-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  padding: 18px 12px 40px;
}
.nmc-shell { width: min(100%, 760px); margin: 0 auto; }
.nmc-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 14px; }
.nmc-brand-wrap { display:flex; align-items:center; gap:10px; }
.nmc-brand-mark { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--nmc-green); color:#fff; font-weight:800; }
.nmc-brand { font-weight:850; letter-spacing:.08em; line-height:1; font-size:14px; }
.nmc-brand-sub { color:var(--nmc-muted); font-size:11px; margin-top:4px; }
.nmc-reset { border:0; background:transparent; color:var(--nmc-green); font-weight:750; cursor:pointer; }

.nmc-screen { display:none; }
.nmc-screen--active { display:block; animation:nmcFade .24s ease; }
@keyframes nmcFade { from{opacity:0; transform:translateY(5px)} to{opacity:1; transform:none} }

.nmc-hero-card, .nmc-section-card, .nmc-question-card, .nmc-question-stage {
  background:var(--nmc-card); border:1px solid rgba(31,107,67,.09); border-radius:var(--nmc-radius); box-shadow:var(--nmc-shadow);
}
.nmc-hero-card { padding:28px 22px 22px; overflow:hidden; position:relative; }
.nmc-hero-card:before { content:""; width:210px; height:210px; position:absolute; right:-85px; top:-85px; border-radius:50%; background:linear-gradient(135deg, rgba(31,107,67,.16), rgba(31,107,67,.02)); }
.nmc-eyebrow, .nmc-section-kicker, .nmc-question-number { color:var(--nmc-green); font-weight:800; letter-spacing:.08em; font-size:11px; text-transform:uppercase; }
.nmc-hero-card h1 { position:relative; font-size:clamp(34px, 8vw, 56px); line-height:1.04; letter-spacing:-.04em; margin:12px 0 16px; max-width:650px; }
.nmc-lead { position:relative; font-size:17px; color:#425048; margin:0 0 22px; }
.nmc-benefits { display:grid; gap:10px; margin:20px 0 22px; position:relative; }
.nmc-benefit { display:flex; align-items:flex-start; gap:11px; background:#f7faf8; border:1px solid #e5ece7; border-radius:15px; padding:12px 13px; }
.nmc-benefit>span { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--nmc-green-soft); color:var(--nmc-green); font-weight:900; flex:none; }
.nmc-benefit strong { display:block; font-size:14px; }
.nmc-benefit small { display:block; color:var(--nmc-muted); margin-top:1px; font-size:12px; }
.nmc-trustline { text-align:center; color:var(--nmc-muted); font-size:12px; font-weight:650; margin-top:10px; }

.nmc-section-card { padding:22px; margin-top:14px; }
.nmc-section-card h2 { font-size:25px; line-height:1.16; letter-spacing:-.025em; margin:8px 0 12px; }
.nmc-section-card p { margin:10px 0; color:#4e5a53; }
.nmc-section-card--dark { background:var(--nmc-dark); color:#fff; border-color:var(--nmc-dark); }
.nmc-section-card--dark .nmc-section-kicker { color:#a9d2b8; }
.nmc-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0 20px; }
.nmc-mini-grid>div { border:1px solid rgba(255,255,255,.13); border-radius:14px; padding:14px; display:flex; flex-direction:column; }
.nmc-mini-grid b { color:#b8dcc5; font-size:12px; }
.nmc-mini-grid span { font-size:14px; font-weight:700; margin-top:4px; }
.nmc-disclaimer { color:#7a837e; font-size:11px; padding:10px 6px 0; }

.nmc-btn { appearance:none; width:100%; border:0; border-radius:14px; padding:15px 18px; font-size:14px; font-weight:850; letter-spacing:.02em; cursor:pointer; transition:.15s ease; }
.nmc-btn:hover { transform:translateY(-1px); }
.nmc-btn--large { padding:17px 18px; font-size:15px; }
.nmc-btn--primary { background:var(--nmc-green); color:#fff; box-shadow:0 10px 24px rgba(31,107,67,.22); }
.nmc-btn--primary:hover { background:var(--nmc-green-2); }
.nmc-btn--secondary { background:#eef3ef; color:var(--nmc-green); }
.nmc-btn--light { background:#fff; color:var(--nmc-dark); }

.nmc-question-card { padding:26px 20px; }
.nmc-question-card--center { text-align:center; }
.nmc-question-card h2, .nmc-question h2 { font-size:30px; line-height:1.13; letter-spacing:-.03em; margin:9px 0 12px; }
.nmc-question-help { color:var(--nmc-muted); margin:0 0 18px; }
.nmc-round-icon { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin:0 auto 14px; background:var(--nmc-green); color:#fff; font-size:25px; font-weight:900; }
.nmc-round-icon--soft { background:var(--nmc-green-soft); color:var(--nmc-green); font-size:18px; }
.nmc-success-icon { width:68px; height:68px; margin:0 auto 14px; display:grid; place-items:center; border-radius:50%; background:var(--nmc-green-soft); color:var(--nmc-green); font-size:30px; font-weight:900; }

.nmc-progress-wrap { margin:8px 2px 12px; }
.nmc-progress-meta { display:flex; justify-content:space-between; gap:12px; color:var(--nmc-muted); font-size:12px; font-weight:750; margin-bottom:7px; }
.nmc-progress { height:8px; background:#dfe6e1; border-radius:999px; overflow:hidden; }
.nmc-progress-bar { height:100%; width:12.5%; background:var(--nmc-green); border-radius:999px; transition:width .24s ease; }

.nmc-question-stage { padding:22px 18px; min-height:360px; }
.nmc-question { display:none; }
.nmc-question--active { display:block; animation:nmcFade .22s ease; }
.nmc-options { display:grid; gap:10px; }
.nmc-options--compact { gap:8px; }
.nmc-option { appearance:none; width:100%; border:1px solid var(--nmc-line); background:#fff; color:var(--nmc-text); border-radius:14px; padding:15px 14px; font-size:14px; font-weight:750; text-align:left; cursor:pointer; transition:.14s ease; }
.nmc-option:hover, .nmc-option--selected { border-color:rgba(31,107,67,.55); background:var(--nmc-green-soft); color:var(--nmc-green); }

.nmc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.nmc-form-grid--single { grid-template-columns:1fr; margin-top:12px; }
.nmc-field { display:block; font-weight:750; font-size:13px; }
.nmc-field>span { display:block; margin-bottom:6px; }
.nmc-field small { color:var(--nmc-muted); font-weight:500; }
.nmc-input-wrap { display:flex; align-items:center; border:1px solid var(--nmc-line); background:#fff; border-radius:13px; overflow:hidden; }
.nmc-input-wrap input { flex:1; width:100%; border:0 !important; outline:0; padding:14px 12px !important; background:transparent !important; min-height:48px; box-shadow:none !important; }
.nmc-input-wrap em { font-style:normal; color:var(--nmc-muted); font-weight:650; padding-right:12px; white-space:nowrap; }
.nmc-date-input { width:100%; border:1px solid var(--nmc-line) !important; border-radius:13px !important; padding:13px 12px !important; background:#fff !important; min-height:48px; }
.nmc-bmi-box { background:var(--nmc-green-soft); color:var(--nmc-green); border-radius:12px; padding:11px 12px; margin:2px 0 12px; font-size:13px; }
.nmc-inline-error { color:#b42318; background:#fff0ee; border-radius:10px; padding:9px 11px; font-size:12px; margin:0 0 10px; }

.nmc-checkbox-list { display:grid; gap:9px; margin-bottom:14px; }
.nmc-checkbox-list label { display:flex; align-items:flex-start; gap:10px; border:1px solid var(--nmc-line); border-radius:13px; padding:13px; cursor:pointer; background:#fff; }
.nmc-checkbox-list label:has(input:checked) { border-color:rgba(31,107,67,.55); background:var(--nmc-green-soft); }
.nmc-checkbox-list input { margin-top:3px; accent-color:var(--nmc-green); }
.nmc-checkbox-list span { font-size:14px; font-weight:650; }

.nmc-conditional { margin-top:18px; }
.nmc-conditional h3 { font-size:18px; margin:14px 0 10px; }
.nmc-divider { height:1px; background:var(--nmc-line); margin:20px 0; }
.nmc-quiz-nav { display:flex; justify-content:flex-start; margin:10px 2px 0; }
.nmc-back { border:0; background:transparent; color:var(--nmc-muted); font-weight:750; cursor:pointer; padding:8px 4px; }

.nmc-analysis-list { display:grid; gap:8px; text-align:left; width:min(100%,420px); margin:18px auto; }
.nmc-analysis-list span { background:#f7faf8; border-radius:11px; padding:10px 12px; font-size:13px; font-weight:700; }
.nmc-dev-note { text-align:left; background:#fff8e8; border:1px solid #f1dca3; border-radius:13px; padding:12px; margin:16px 0; font-size:12px; color:#6e561b; }
.nmc-debug { white-space:pre-wrap; overflow:auto; max-height:430px; background:#12241a; color:#d8f4e2; border-radius:14px; padding:15px; font-size:12px; line-height:1.5; margin:15px 0; }
.nmc-hidden { display:none !important; }

@media (max-width: 520px) {
  .nmc-app { padding:12px 8px 28px; }
  .nmc-hero-card { padding:24px 17px 18px; }
  .nmc-section-card, .nmc-question-card, .nmc-question-stage { border-radius:18px; }
  .nmc-section-card { padding:19px 17px; }
  .nmc-question-stage { padding:20px 15px; }
  .nmc-question-card { padding:23px 17px; }
  .nmc-question-card h2, .nmc-question h2 { font-size:27px; }
  .nmc-form-grid { grid-template-columns:1fr; }
  .nmc-mini-grid { grid-template-columns:1fr 1fr; }
}

@media (min-width: 760px) {
  .nmc-app { padding-top:28px; }
  .nmc-hero-card { padding:42px 40px 34px; }
  .nmc-benefits { grid-template-columns:1fr 1fr; }
  .nmc-section-card { padding:30px 34px; }
  .nmc-question-stage, .nmc-question-card { padding:36px; }
  .nmc-question-card h2, .nmc-question h2 { font-size:36px; }
  .nmc-option { font-size:15px; padding:16px; }
}

/* Paket 2 */
.nmc-lead-form { display:grid; gap:12px; margin:18px 0; }
.nmc-text-input { width:100%; border:1px solid var(--nmc-line) !important; border-radius:13px !important; padding:14px 13px !important; min-height:50px; background:#fff !important; color:var(--nmc-text) !important; box-shadow:none !important; outline:none; }
.nmc-text-input:focus { border-color:rgba(31,107,67,.65) !important; box-shadow:0 0 0 3px rgba(31,107,67,.08) !important; }
.nmc-consents { display:grid; gap:10px; margin:14px 0; }
.nmc-consent-row { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--nmc-line); border-radius:13px; background:#f9fbf9; cursor:pointer; }
.nmc-consent-row input { margin-top:3px; accent-color:var(--nmc-green); }
.nmc-consent-row span { font-size:12px; color:#46544c; }
.nmc-privacy-note { margin:12px 0 0; font-size:11px; color:var(--nmc-muted); background:#f4f7f5; border-radius:10px; padding:10px 11px; }

.nmc-loader { width:54px; height:54px; border-radius:50%; margin:0 auto 18px; border:5px solid #dfe9e2; border-top-color:var(--nmc-green); animation:nmcSpin .9s linear infinite; }
@keyframes nmcSpin { to { transform:rotate(360deg); } }
.nmc-analysis-list--loading { margin-top:20px; }

.nmc-result-card { background:var(--nmc-card); border:1px solid rgba(31,107,67,.09); border-radius:var(--nmc-radius); box-shadow:var(--nmc-shadow); overflow:hidden; }
.nmc-result-head { padding:30px 22px 26px; text-align:center; background:linear-gradient(180deg,#ffffff 0%,#f5f9f6 100%); }
.nmc-result-hello { color:var(--nmc-muted); font-size:13px; margin-top:10px; }
.nmc-score-wrap { margin:20px auto 10px; }
.nmc-score-number { font-size:58px; line-height:1; letter-spacing:-.05em; font-weight:900; color:var(--nmc-dark); }
.nmc-score-number small { font-size:18px; color:var(--nmc-muted); letter-spacing:0; margin-left:3px; }
.nmc-score-caption { margin-top:5px; color:var(--nmc-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.nmc-zone-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:8px 13px; background:var(--nmc-green-soft); color:var(--nmc-green); font-size:12px; font-weight:850; letter-spacing:.04em; margin:8px 0 14px; }
.nmc-result-head h1 { font-size:32px; line-height:1.12; letter-spacing:-.035em; margin:5px auto 10px; max-width:620px; }
.nmc-result-summary { margin:0 auto; max-width:620px; color:#4b5951; font-size:15px; }

.nmc-result-card[data-zone="yellow"] .nmc-zone-pill { background:#fff4cf; color:#806100; }
.nmc-result-card[data-zone="orange"] .nmc-zone-pill { background:#fff0df; color:#a04b00; }
.nmc-result-card[data-zone="red"] .nmc-zone-pill { background:#fff0ee; color:#b42318; }
.nmc-result-card[data-track="medical_followup"] .nmc-zone-pill { background:#fff0ee; color:#b42318; }
.nmc-result-card[data-track="pregnancy"] .nmc-zone-pill,
.nmc-result-card[data-track="type1"] .nmc-zone-pill { background:#eef2ff; color:#3d4aa5; }
.nmc-result-card[data-track="type2_management"] .nmc-zone-pill { background:#e9f3ff; color:#175d9c; }

.nmc-result-section { padding:24px 22px; border-top:1px solid var(--nmc-line); }
.nmc-result-section h2 { margin:6px 0 15px; font-size:24px; line-height:1.16; letter-spacing:-.025em; }
.nmc-result-section--soft { background:#f7faf8; }
.nmc-driver-list, .nmc-next-list { display:grid; gap:11px; }
.nmc-driver, .nmc-next { display:grid; grid-template-columns:40px 1fr; gap:12px; padding:14px; border:1px solid var(--nmc-line); border-radius:15px; background:#fff; }
.nmc-driver-no { width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--nmc-green-soft); color:var(--nmc-green); font-size:11px; font-weight:900; }
.nmc-driver h3, .nmc-next h3 { margin:0 0 5px; font-size:15px; line-height:1.25; }
.nmc-driver h3 span { display:inline-block; margin-left:5px; color:var(--nmc-green); font-size:11px; background:var(--nmc-green-soft); padding:3px 6px; border-radius:999px; vertical-align:2px; }
.nmc-driver p, .nmc-next p { margin:0; color:var(--nmc-muted); font-size:12px; }
.nmc-next b { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--nmc-dark); color:#fff; font-size:12px; }
.nmc-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.nmc-meta-grid>div { padding:13px; border-radius:13px; background:#fff; border:1px solid var(--nmc-line); }
.nmc-meta-grid small { display:block; color:var(--nmc-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.nmc-meta-grid strong { display:block; margin-top:3px; font-size:13px; }
.nmc-dev-copy { font-size:11px; color:var(--nmc-muted); margin:10px 0 0; }
.nmc-medical-note { margin:18px 22px; padding:13px 14px; border-radius:13px; background:#fff8e8; border:1px solid #f0dda9; color:#6b571f; font-size:11px; }
.nmc-result-card > .nmc-btn { width:calc(100% - 44px); margin-left:22px; margin-right:22px; }
.nmc-btn--spaced { margin-top:9px; margin-bottom:20px; }
.nmc-result-card > .nmc-debug { margin:0 22px 22px; }

@media (max-width: 520px) {
  .nmc-result-head { padding:26px 17px 22px; }
  .nmc-score-number { font-size:52px; }
  .nmc-result-head h1 { font-size:28px; }
  .nmc-result-section { padding:21px 17px; }
  .nmc-medical-note { margin:16px 17px; }
  .nmc-result-card > .nmc-btn { width:calc(100% - 34px); margin-left:17px; margin-right:17px; }
  .nmc-result-card > .nmc-debug { margin-left:17px; margin-right:17px; }
  .nmc-meta-grid { grid-template-columns:1fr; }
  .nmc-driver, .nmc-next { grid-template-columns:36px 1fr; gap:10px; padding:12px; }
}

/* Paket 4 */
.nmc-challenge-box { margin:20px 0 8px; padding:18px; border-radius:16px; background:linear-gradient(180deg,#12241a 0%,#183226 100%); color:#fff; text-align:left; }
.nmc-challenge-box .nmc-section-kicker { color:#a9d6b8; }
.nmc-challenge-box h3 { margin:6px 0 8px; font-size:22px; line-height:1.15; }
.nmc-challenge-box p { margin:0 0 14px; color:#dbe9df; font-size:13px; }
.nmc-challenge-box small { display:block; margin-top:10px; color:#b9cbbf; font-size:10px; line-height:1.5; }
.nmc-btn--dark { background:#fff; color:#12241a; border:1px solid #fff; }
.nmc-btn--dark:hover { background:#eef5f0; }
.nmc-soft-offer { margin:10px 0; padding:12px 13px; border:1px solid var(--nmc-line); border-radius:13px; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; background:#fff; }
.nmc-soft-offer span { font-size:12px; color:var(--nmc-muted); }
.nmc-text-button { border:0; background:transparent; color:var(--nmc-green); font-weight:850; font-size:11px; cursor:pointer; padding:5px 0; white-space:nowrap; }
.nmc-text-button:hover { text-decoration:underline; }
@media (max-width:520px){ .nmc-soft-offer { align-items:flex-start; flex-direction:column; } }
