/* Neelix — MPU-Vorbereitung & Abstinenz-Nachweis (nc-mpu-*) */

.nc-mpu { display: block; margin: 1rem 0; font-size: 0.96rem; line-height: 1.5; color: var(--nc-text, #1a1a1f); }
.nc-mpu * { box-sizing: border-box; }
.nc-mpu-loading, .nc-mpu-err { padding: 1rem; color: var(--nc-text-muted, #888); }
.nc-mpu-err { color: var(--nc-red, #d23b3b); }

.nc-mpu-head h3 { margin: 0 0 0.2rem; font-size: 1.2rem; }
.nc-mpu-sub { margin: 0 0 0.8rem; color: var(--nc-text-muted, #888); font-size: 0.9rem; }

/* Tabs */
.nc-mpu-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; border-bottom: 1px solid var(--nc-border, #e3e3ea); margin-bottom: 1rem; }
.nc-mpu-tab {
    background: none; border: none; padding: 0.55rem 0.9rem; cursor: pointer;
    color: var(--nc-text-muted, #888); font-size: 0.92rem; border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.nc-mpu-tab:hover { color: var(--nc-text, #1a1a1f); }
.nc-mpu-tab.is-active { color: var(--nc-accent, #6c5ce7); border-bottom-color: var(--nc-accent, #6c5ce7); font-weight: 700; }

/* Cards */
.nc-mpu-card {
    border: 1px solid var(--nc-border, #e3e3ea); border-radius: var(--nc-radius, 14px);
    background: var(--nc-bg-card, var(--nc-card-bg, #fff)); padding: 1rem 1.1rem; margin: 0.75rem 0;
}
.nc-mpu-card h4 { margin: 0 0 0.6rem; font-size: 1.02rem; }

/* Inputs */
.nc-mpu-lbl { display: block; font-size: 0.82rem; font-weight: 600; margin: 0.6rem 0 0.2rem; color: var(--nc-text-muted, #666); }
.nc-mpu-input {
    width: 100%; padding: 0.5rem 0.65rem; border: 1px solid var(--nc-border, #d0d0d8);
    border-radius: var(--nc-radius-sm, 10px); background: var(--nc-bg, #fff); color: inherit; font: inherit; margin-bottom: 0.4rem;
}
.nc-mpu-hint { font-size: 0.82rem; color: var(--nc-text-muted, #888); margin-bottom: 0.5rem; }

.nc-mpu-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.7rem; }

/* Readiness */
.nc-mpu-readiness { border-radius: 10px; padding: 0.7rem 0.9rem; margin-bottom: 0.8rem; border-left: 4px solid var(--nc-muted, #94a3b8); background: rgba(148,163,184,0.08); }
.nc-mpu-readiness strong { display: block; }
.nc-mpu-rnote { font-size: 0.85rem; color: var(--nc-text-muted, #666); margin-top: 0.2rem; }
.nc-mpu-r-bereit { border-left-color: var(--nc-green, #059669); background: rgba(5,150,105,0.08); }
.nc-mpu-r-fortgeschritten { border-left-color: var(--nc-blue, #2f7fd1); background: rgba(47,127,209,0.08); }
.nc-mpu-r-aufbau { border-left-color: var(--nc-gold, #d97706); background: rgba(217,119,6,0.08); }
.nc-mpu-r-rueckschlag { border-left-color: var(--nc-red, #dc2626); background: rgba(220,38,38,0.08); }

/* Program grid */
.nc-mpu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.6rem; margin: 0.4rem 0; }
.nc-mpu-grid > div { display: flex; flex-direction: column; }
.nc-mpu-k { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--nc-text-muted, #999); }
.nc-mpu-v { font-weight: 600; }

/* Progress */
.nc-mpu-proghost { margin-top: 0.6rem; }
.nc-mpu-bar { height: 10px; background: rgba(0,0,0,0.06); border-radius: 6px; overflow: hidden; }
.nc-mpu-bar > span { display: block; height: 100%; background: var(--nc-green, #059669); border-radius: 6px; transition: width 0.4s; }
.nc-mpu-progmeta { font-size: 0.82rem; color: var(--nc-text-muted, #888); margin-top: 0.3rem; }

/* Tests */
.nc-mpu-testrow { display: grid; grid-template-columns: 90px 1fr auto 1fr 24px; gap: 0.5rem; align-items: center; padding: 0.45rem 0; border-bottom: 1px solid var(--nc-border, #eee); font-size: 0.88rem; }
.nc-mpu-tdate { font-variant-numeric: tabular-nums; }
.nc-mpu-tres { font-weight: 700; text-transform: capitalize; }
.nc-mpu-res-negativ .nc-mpu-tres { color: var(--nc-green, #059669); }
.nc-mpu-res-positiv .nc-mpu-tres { color: var(--nc-red, #dc2626); }
.nc-mpu-res-ausstehend .nc-mpu-tres { color: var(--nc-gold, #d97706); }
.nc-mpu-tlab { color: var(--nc-text-muted, #888); font-size: 0.82rem; }
.nc-mpu-del { background: none; border: none; cursor: pointer; color: var(--nc-text-muted, #999); }
.nc-mpu-del:hover { color: var(--nc-red, #dc2626); }

/* Fragen-Training */
.nc-mpu-cat { border: 1px solid var(--nc-border, #e3e3ea); border-radius: var(--nc-radius, 14px); margin: 0.6rem 0; padding: 0.4rem 0.8rem; background: var(--nc-bg-card, #fff); }
.nc-mpu-cat > summary { cursor: pointer; font-weight: 700; padding: 0.4rem 0; }
.nc-mpu-q { padding: 0.6rem 0; border-top: 1px solid var(--nc-border, #f0f0f4); }
.nc-mpu-qtext { font-weight: 600; margin-bottom: 0.35rem; }
.nc-mpu-hintbtn { background: none; border: 1px solid var(--nc-border, #e3e3ea); border-radius: 8px; padding: 0.25rem 0.55rem; font-size: 0.8rem; cursor: pointer; color: var(--nc-accent, #6c5ce7); }
.nc-mpu-qhint { font-size: 0.85rem; color: var(--nc-text-muted, #666); margin: 0.4rem 0; padding: 0.5rem 0.7rem; background: rgba(108,92,231,0.06); border-radius: 8px; }
.nc-mpu-answer { margin-top: 0.4rem; }
.nc-mpu-saved { font-size: 0.78rem; color: var(--nc-green, #059669); }

/* Wissen */
.nc-mpu-know { font-size: 0.9rem; padding: 0.3rem 0 0.6rem; }

/* Top-Warnung (dauerhaft) */
.nc-mpu-topwarn {
    padding: 0.8rem 1rem; margin: 0 0 1rem; border-radius: 10px;
    background: rgba(220,38,38,0.07); border-left: 4px solid var(--nc-red, #dc2626);
    font-size: 0.9rem; line-height: 1.5;
}

/* Kostenrechner */
.nc-mpu-cost-out { margin-top: 0.8rem; }
.nc-mpu-cost-tbl { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.nc-mpu-cost-tbl td { padding: 0.4rem 0.2rem; border-bottom: 1px solid var(--nc-border, #eee); }
.nc-mpu-cost-tbl td:last-child { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nc-mpu-cost-sum td { border-top: 2px solid var(--nc-border, #d0d0d8); border-bottom: none; font-weight: 800; padding-top: 0.6rem; }

/* Premium-Lock */
.nc-mpu-premium {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem;
    padding: 0.8rem 1rem; margin: 0.6rem 0; border-radius: var(--nc-radius, 14px);
    border: 1px solid var(--nc-premium, #d4a017);
    background: linear-gradient(135deg, rgba(212,160,23,0.10), rgba(212,160,23,0.04));
}
.nc-mpu-premium-txt { flex: 1; min-width: 200px; font-size: 0.9rem; }

/* Notes / Disclaimer / Warn */
.nc-mpu-note { padding: 0.7rem 0.9rem; background: rgba(47,127,209,0.06); border-left: 3px solid var(--nc-blue, #2f7fd1); border-radius: 8px; font-size: 0.88rem; margin: 0.6rem 0; }
.nc-mpu-note a { color: var(--nc-accent, #6c5ce7); font-weight: 700; }
.nc-mpu-disclaimer { padding: 0.7rem 0.9rem; background: rgba(217,119,6,0.07); border-left: 3px solid var(--nc-gold, #d97706); border-radius: 8px; font-size: 0.84rem; color: var(--nc-text-muted, #555); margin: 0.6rem 0; }
.nc-mpu-warn { padding: 0.7rem 0.9rem; background: rgba(220,38,38,0.06); border-left: 3px solid var(--nc-red, #dc2626); border-radius: 8px; font-size: 0.85rem; margin: 0.7rem 0; }
