/* ============================================================================
   NotenHeld "ruhige Optik" – globale Korrekturen gegen Template-/Generator-Look
   (Design-System 07/2026: keine Verlaeufe, keine farbigen Schatten, Farbe nur fuer Status,
   Akzent und die eine Primaer-Aktion). Wird als letztes Stylesheet geladen und ueberschreibt
   gezielt Regeln aus myStyles.css, site.css, chat.css und Inline-Styles der Layout-Partials.
   ============================================================================ */

/* Seitenkopf-Baustein (section-hero): kein handschriftlicher Gold-Akzent hinter dem Titel */
.scs-section-hero-accent { display: none !important; }

/* Leerzustaende: "Caveat"-Schreibschrift-Zeile als normale, ruhige Zeile */
.nh-empty-caveat {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    transform: none !important;
}

/* Logo-Block in der Kopfzeile: solide Primaerfarbe statt Verlauf */
.nav-header { background: var(--nh-primary) !important; }

/* Primaer-Buttons: Verlauf entfernen (Hintergrundfarbe bleibt die jeweils definierte, damit
   Outline-Varianten mit btn-primary-Klasse nicht ueberschrieben werden) */
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.nh-ticket-success-btn, .nh-ticket-success-btn:hover {
    background-image: none !important;
}

/* DataTables-Seitenzahlen: solide Primaerfarbe */
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--nh-primary) !important;
    box-shadow: none !important;
}

/* Zaehler in der Seitenleiste: eine Statusfarbe, kein Pulsieren */
.dlabnav .metismenu > li .badge {
    background: #ef4444 !important;
    animation: none !important;
}

/* AVV-Hinweis: ruhige Hinweisflaeche statt Streifen, Schimmer und Pulsen */
.nh-avv-wall {
    background: #eff6ff !important;
    border-bottom: 1px solid #bfdbfe !important;
    box-shadow: none !important;
}
.nh-avv-wall::before { background: var(--nh-primary) !important; animation: none !important; box-shadow: none !important; }
.nh-avv-wall::after { display: none !important; }
.nh-avv-wall .nh-avv-icon {
    background: var(--nh-primary) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    animation: none !important;
}
.nh-avv-wall .nh-avv-cta { background: var(--nh-primary) !important; box-shadow: none !important; }
.nh-avv-wall .nh-avv-cta:hover { background: var(--nh-primary-dark, var(--nh-primary)) !important; }
.nh-avv-wall [class*="nh-avv-"][class*="badge"],
.nh-avv-wall [class*="nh-avv-"][class*="count"] { animation: none !important; }

/* Chat-Blase: solide Primaerfarbe, neutraler Schatten */
.nh-chat-bubble {
    background: var(--nh-primary) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .18) !important;
}
.nh-chat-bubble:hover { background: var(--nh-primary-dark, var(--nh-primary)) !important; }

/* Seitliche Aktions-Tabs (Social, Feedback, Empfehlen): weiss mit Haarlinie statt drei bunter Verlaeufe */
.nh-sidetab--social,
.nh-sidetab--referral,
.fb-tab {
    background: #fff !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
    border-right: none !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .08) !important;
}
.nh-sidetab--social:hover, .nh-sidetab--referral:hover, .fb-tab:hover,
.nh-sidetab--social:focus-visible, .nh-sidetab--referral:focus-visible, .fb-tab:focus-visible {
    color: var(--nh-primary) !important;
    border-color: #bfdbfe !important;
    filter: none !important;
}
@media (max-width: 768px) {
    .nh-sidetab--social, .nh-sidetab--referral, .fb-tab {
        border-right: 1px solid #e2e8f0 !important;
        border-bottom: none !important;
    }
}

/* Support-Ticket-Bestaetigung: solide Flaechen statt Verlauf und Gitter */
.nh-ticket-success__hero { background: var(--nh-primary) !important; }
.nh-ticket-success__hero::before { display: none !important; }
.nh-ticket-success__step-icon { background: var(--nh-primary) !important; box-shadow: none !important; }
.nh-ticket-success__steps { background: #f8fafc !important; }

/* Admin-Debug-Leiste: solide */
.adm-debug-header { background: var(--nh-primary) !important; }

/* Klassen-Verwaltung: Klassenkarten mit hellem Kopf (Tint der Klassenfarbe) und 3px-Akzentstreifen
   statt dunkler Verlaufsflaeche mit Gitter. Die Texte im Kopf sind im JS-Template weiss inline gesetzt,
   deshalb hier per !important auf dunkel. --cls-color/--cls-tint kommen aus der Palette der Karte. */
.class-preview-card > div:first-child > div.position-absolute.w-100.h-100 { display: none !important; }
.class-preview-card.shadow { box-shadow: 0 1px 3px rgba(15, 23, 42, .06) !important; border: 1px solid #e9eef4 !important; }
.class-preview-card > div:first-child { border-top: 3px solid var(--cls-color, var(--nh-primary)); }
.class-preview-card > div:first-child h5,
.class-preview-card > div:first-child .text-white { color: #0f172a !important; }
.class-preview-card > div:first-child [style*="rgba(255,255,255"] { color: #475569 !important; }
.class-preview-card > div:first-child [style*="#ffc107"] { color: #b45309 !important; }
.class-preview-card > div:first-child > div:first-child > div:first-child {
    background: var(--cls-color, var(--nh-primary)) !important;
    color: #fff !important;
}
.class-preview-card > div:first-child .badge.text-white {
    background: var(--cls-color, var(--nh-primary)) !important;
    color: #fff !important;
    backdrop-filter: none !important;
}
.class-preview-card > div:first-child .btn-link.text-white { color: #64748b !important; opacity: 1 !important; }
.class-preview-card > div:first-child .btn-link.text-white:hover { color: #ef4444 !important; }

/* Notenblatt am Handy: grosse Aktionsknoepfe solide statt Verlauf */
.gsm2-new-btn:not(.gsm2-students-btn), .gsm2-bigrelease {
    background: var(--nh-primary) !important;
    background-image: none !important;
    box-shadow: none !important;
}
.gsm2-new-btn:not(.gsm2-students-btn):hover, .gsm2-bigrelease:hover { background: var(--nh-primary-dark, var(--nh-primary)) !important; }

/* Prüfungs-Typ-Karten im Prüfungsdialog: solide Akzente */
.ex-typecard::before { background: var(--nh-primary) !important; }
.ex-typecard-input:checked + .ex-typecard .ex-typecard-icon { background: var(--nh-primary) !important; box-shadow: none !important; transform: none !important; }
.ex-switchcard-input:checked ~ .ex-switchcard .ex-switch { background: var(--nh-primary) !important; }

/* Aktivitaets-Avatare: eine Tint-Farbe statt fuenf Verlaeufe */
.nh-activity-avatar.blue, .nh-activity-avatar.green, .nh-activity-avatar.gold,
.nh-activity-avatar.purple, .nh-activity-avatar.coral { background: var(--nh-primary) !important; }

/* ============================================================================
   RUNDE 2 – Umbau auf ruhige, produktartige Optik
   Grundsatz: eine Hausschrift (IBM Plex Sans), Haarlinien statt Schatten, 8px-Radien statt Pillen,
   keine Deko-Icons in Ueberschriften, keine Erklaerkacheln, keine Grossbuchstaben-Etiketten.
   ============================================================================ */

/* Hausschrift ueberall, Icon-Fonts (fa/la/bi) bleiben unangetastet */
html, body { font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif !important; }
body :not(i):not([class*="fa-"]):not([class*="la-"]):not([class*="bi-"]):not(.fa):not(.la):not(.bi):not(code):not(pre):not(kbd) {
    font-family: inherit !important;
}
body { color: #0f172a; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 600 !important; letter-spacing: -0.01em; color: #0f172a; }
.content-body h1, .content-body .h1 { font-size: 1.5rem; }
.content-body h2, .content-body .h2 { font-size: 1.25rem; }
.content-body h4, .content-body .h4, .content-body h5, .content-body .h5 { font-size: 1rem; }
table, .table, .dataTable, .gs-table, [class*="grade"] td { font-variant-numeric: tabular-nums; }

/* Ecken und Schatten: 8-10px statt 14-24px, Haarlinie statt Schatten */
.content-body .card,
.content-body .rounded-4, .content-body .rounded-3,
.tcc-card, .tcc-class-card, .class-preview-card, .guide-card, .faq-accordion .accordion-item,
.help-quick-card, .help-cta, .faq-cta, .faq-cat-card, .nh-mehr-tile, .guide-box, .info-card,
.content-body .shadow, .content-body .shadow-sm, .content-body .shadow-lg {
    border-radius: 10px !important;
    box-shadow: none !important;
}
.content-body .card, .tcc-card, .tcc-class-card, .class-preview-card, .guide-card,
.faq-accordion .accordion-item, .help-quick-card, .help-cta, .faq-cta, .faq-cat-card {
    border: 1px solid #e5e7eb !important;
}
.content-body .card:hover, .guide-card:hover, .faq-accordion .accordion-item:hover,
.help-quick-card:hover, .faq-cat-card:hover, .nh-mehr-tile:hover { box-shadow: none !important; transform: none !important; }

/* Buttons und Badges: keine Pillen */
.btn { border-radius: 8px !important; font-weight: 500; }
.btn.rounded-pill, .content-body .rounded-pill.btn, .btn-sm.rounded-pill { border-radius: 8px !important; }
.badge, .badge.rounded-pill, .content-body .badge { border-radius: 6px !important; font-weight: 600; letter-spacing: 0 !important; text-transform: none !important; }
.btn-outline-primary { color: var(--nh-primary) !important; border-color: #cbd5e1 !important; background: #fff !important; }
.btn-outline-primary:hover { background: #eff6ff !important; border-color: #bfdbfe !important; }

/* Grossbuchstaben-Etiketten: normale Schreibweise */
.content-body .text-uppercase, .tcc-subject-lbl, .tcc-vis-section-lbl, .nh-mehr-label, .guide-group-count,
.help-section-badge, .exam-detail-label, .gsm2-status, .gsm2-meta-badge, .gsm2-card [class*="badge"],
.nh-avv-wall .badge, .nh-avv-wall [class*="badge"], .nh-avv-wall [class*="pill"], .cm-subject-card [class*="lbl"] {
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.tcc-subject-lbl, .tcc-vis-section-lbl, .nh-mehr-label, .content-body .text-uppercase.small,
.content-body .text-uppercase.text-muted { font-size: .78rem !important; font-weight: 600 !important; color: #64748b !important; }

/* Seitenkopf-Baustein: nur Ueberschrift und Untertitel, keine Karte, kein Icon-Kasten */
.scs-section-hero { background: transparent !important; border: none !important; box-shadow: none !important; padding: .25rem 0 .75rem !important; margin: 0 0 .5rem !important; border-radius: 0 !important; }
.scs-section-hero-icon { display: none !important; }
.scs-section-hero-title { font-size: 1.5rem !important; font-weight: 600 !important; color: #0f172a !important; }
.scs-section-hero-subtitle { color: #64748b !important; font-size: .9rem !important; }
.help-hero, .faq-hero { background: transparent !important; border: none !important; box-shadow: none !important; padding: .25rem 0 .75rem !important; }
.help-hero h1 i, .faq-hero h1 i { display: none !important; }

/* Erklaerkacheln und Marketing-Elemente weg */
.guide-box { display: none !important; }                 /* Klassen-Verwaltung: Editieren/Ergaenzen/Bereinigen/Status */
.info-card { display: none !important; }                 /* Zugangsdaten: drei Info-Kaesten */
.fade-in-up, .animate__animated { animation: none !important; opacity: 1 !important; transform: none !important; }

/* Seitenleiste: keine Punkte (Punkt ist :after in myStyles) und keine Trennlinie vor den Abschnittstiteln, normale Schreibweise.
   Selektoren mit li.nav-label, damit die Spezifitaet von myStyles.css (li.nav-label) erreicht wird. */
.dlabnav .metismenu .nav-label:before, .dlabnav .metismenu li.nav-label:before,
.dlabnav .metismenu .nav-label:after, .dlabnav .metismenu li.nav-label:after { display: none !important; content: none !important; }
.dlabnav .metismenu .nav-label, .dlabnav .metismenu li.nav-label {
    text-transform: none !important; letter-spacing: 0 !important; font-size: .76rem !important; font-weight: 600 !important;
    color: #94a3b8 !important; padding-left: 20px !important;
}

/* Kopfzeile: Symbolknoepfe ohne Rahmen-Kaestchen */
.header .header-right .nav-link:not(.nh-profile-trigger) { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }

/* AVV-Hinweis: kompakter, ohne Schild-Icon-Kasten */
.nh-avv-wall .nh-avv-icon { display: none !important; }
.nh-avv-wall { padding: 10px 22px 10px 24px !important; }

/* Klassen-Verwaltung: Kopfzeile der Karten ohne farbige Flaeche, nur Streifen */
.class-preview-card > div:first-child { background: #fff !important; }
.class-preview-card > div:first-child > div:first-child > div:first-child { border-radius: 8px !important; }

/* Schueler-Login (eigene Seite): Deko und Sticker weg, Karte gerade */
.bp-star, .bp-sticker { display: none !important; }
.bp-card { transform: none !important; }

/* AVV-Hinweis: Etikett in normaler Schreibweise, kein Pillenrand */
.nh-avv-wall .nh-avv-tag { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; font-size: .72rem !important; border-radius: 6px !important; padding: 3px 8px !important; }

/* Hilfe und FAQ: Schnellzugriff und Kategorien als schlichte Zeilen statt Icon-Kacheln */
.help-quick-card { text-align: left !important; padding: .9rem 1rem !important; display: flex !important; align-items: center !important; gap: .85rem !important; }
.help-quick-card .help-quick-icon { width: 34px !important; height: 34px !important; border-radius: 8px !important; margin: 0 !important; font-size: 1.05rem !important; flex-shrink: 0; background: #f1f5f9 !important; color: #475569 !important; }
.help-quick-card h6 { margin: 0 0 .15rem !important; font-weight: 600 !important; font-size: .9rem !important; color: #0f172a !important; }
.help-quick-card p { color: #64748b !important; }
.help-quick-card:hover { border-color: #cbd5e1 !important; }
.faq-cat-card { display: flex !important; align-items: center !important; gap: .6rem !important; text-align: left !important; padding: .55rem .8rem !important; border: 1px solid #e5e7eb !important; background: #fff !important; }
.faq-cat-card .faq-cat-icon { width: 26px !important; height: 26px !important; border-radius: 6px !important; font-size: .8rem !important; margin: 0 !important; background: #f1f5f9 !important; color: #475569 !important; flex-shrink: 0; }
.faq-cat-card h6 { margin: 0 !important; font-size: .86rem !important; font-weight: 500 !important; color: #0f172a !important; }
.faq-cat-card .faq-cat-count { margin-left: auto !important; }
.faq-cat-card.active { border-color: var(--nh-primary) !important; background: #eff6ff !important; box-shadow: none !important; }
.faq-cat-card.active .faq-cat-icon { background: #fff !important; color: var(--nh-primary) !important; }
.faq-cat-card.active h6 { color: var(--nh-primary) !important; }

/* Eltern- und Schueler-Seiten (eigenes Layout): Kicker und Feldbeschriftungen in normaler Schreibweise */
.j-kicker, .j-step-label, .chapter-label, .j-submit .text span, .brand-kicker, .form-field-label, .bp-field-label, .bp-divider,
.j-section-label, .j-field-label, .j-child-label, .child-row .form-label {
    text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important;
}
.j-kicker, .chapter-label, .j-step-label, .brand-kicker, .bp-divider { font-size: 12px !important; }
.form-field-label, .bp-field-label, .j-field-label { font-size: 13px !important; }
.brand-kicher, .brand-kicker { background: transparent !important; border: none !important; padding: 0 !important; color: #64748b !important; }

/* Onboarding-Dialoge: solide Flaechen statt Verlaeufen */
.ob-welcome-header, .ob-welcome-step-num, .ob-welcome-demo-icon, .ob-step-badge, .ob-btn-primary, .ob-resume-header-icon { background: var(--nh-primary) !important; background-image: none !important; }
.ob-btn-primary:hover { background: var(--nh-primary-dark) !important; }
.ob-welcome-demo { background: #f8fafc !important; }
.ob-welcome-trust { background: #f0fdf4 !important; }
.ob-done-icon-wrap { background: #10b981 !important; }
.ob-resume-progress-fill { background: var(--nh-primary) !important; }
.ob-sidebar-widget, .menu-toggle .ob-sidebar-widget { background: #f8fafc !important; }

/* Dashboard: Teams-Logo-Kasten solide */
.ts-logo-box.ts-teams { background: var(--nh-primary) !important; }

/* Restliche Verlaeufe in site.css / myStyles.css / notenheld-theme.css: solide Flaechen */
.nh-empty-card::before, .nh-empty-illustration { background: #f1f5f9 !important; background-image: none !important; }
.nh-activity-avatar, .nh-activity-avatar.blue { background: var(--nh-primary) !important; }
.nh-activity-avatar.green { background: #059669 !important; }
.nh-activity-avatar.gold { background: #d97706 !important; }
.ex-typecard-input:checked + .ex-typecard, .ex-switchcard-input:checked ~ .ex-switchcard { background: #eff6ff !important; }
.ex-switchcard-input:checked ~ .ex-switchcard .ex-switchcard-icon { background: var(--nh-primary) !important; }
.sidebar-user-avatar { background: var(--nh-primary) !important; }
.sidebar-logo-divider { background: #e5e7eb !important; }
.swal2-popup.swal-notenheld { background: #fff !important; }
.dlabnav .metismenu > li .badge { animation: none !important; }

/* Hilfe/FAQ: keine Laufnummern vor Fragen und Anleitungen, Etiketten in normaler Schreibweise */
.guide-step, .faq-accordion .faq-num { display: none !important; }
.guide-badge { text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.faq-section-title .faq-section-icon { display: none !important; }

/* Zugangsdaten: Wasserzeichen-Schloss weg */
.portal-hero .hero-icon-bg { display: none !important; }

/* Handy-Notenblatt: Kennzahl-Etiketten und Art-Pille in normaler Schreibweise */
.gsm-stat-label { text-transform: none !important; letter-spacing: 0 !important; font-size: .7rem !important; font-weight: 500 !important; }
.gsm2-kind-pill { text-transform: none !important; letter-spacing: 0 !important; border-radius: 6px !important; font-weight: 600 !important; }

/* Eltern-Registrierung: Vertrauenszeilen als Fliesstext, roemische Kapitelziffern weg */
.j-trust-row { display: block !important; line-height: 1.45; }
.j-trust-row i { margin-right: 6px; }
.j-trust { backdrop-filter: none !important; border-radius: 10px !important; }
.chapter-num { display: none !important; }

/* Schueler-Login: flache Karte statt Sticker-Optik (keine versetzten Schatten, keine dicken Raender) */
.bp-card { border-radius: 14px !important; box-shadow: 0 1px 3px rgba(15,23,42,.08), 0 12px 32px rgba(15,23,42,.18) !important; border: 1px solid #e5e7eb !important; }
.bp-mascot { box-shadow: none !important; border: 1px solid #e5e7eb !important; }
.bp-input { border: 1px solid #cbd5e1 !important; box-shadow: none !important; border-radius: 8px !important; }
.bp-input:focus { border-color: var(--nh-primary) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.15) !important; }
.bp-btn { border: none !important; box-shadow: none !important; border-radius: 8px !important; }
.bp-btn:hover { box-shadow: none !important; background: var(--nh-primary-dark) !important; transform: none !important; }
.bp-btn:active { transform: none !important; }
.bp-qr-hint, .qr-detected { border: 1px solid #e5e7eb !important; background: #f8fafc !important; border-radius: 8px !important; }
.bp-alert-error { border: 1px solid #fecaca !important; box-shadow: none !important; border-radius: 8px !important; }

/* Lehrkraft-Anmeldung/-Registrierung (_AuthLayout): Etikett und Trenner in normaler Schreibweise,
   Ueberschrift einfarbig statt zweifarbigem Akzent */
.auth-form-tag { text-transform: none !important; letter-spacing: 0 !important; border-radius: 6px !important; font-weight: 600 !important; }
.auth-divider span { text-transform: none !important; letter-spacing: 0 !important; }
.auth-form-title .caveat { font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.auth-form-title { font-weight: 600 !important; }

/* Eltern-Portal (Login, Passwort vergessen): Ueberschrift einfarbig, Hinweiszeile normal */
.form-title em, .brand-title em { font-style: normal !important; color: inherit !important; font-size: inherit !important; }
.form-secure { text-transform: none !important; letter-spacing: 0 !important; }
.j-h1 .highlight, .j-h1 .highlight em { font-style: normal !important; color: inherit !important; background: none !important; }
.j-h1 .highlight::before, .j-h1 .highlight::after { display: none !important; }

/* ============================================================================
   RUNDE 2b - Nachsichtung aller Bereiche (Journal, Elterninfo, CRUD-Leerzustand,
   Gewichtung, Chat, Schueler-/Elternportal, Fehlerseiten)
   ============================================================================ */

/* Journal und Eltern informieren: dunkles Banner -> schlichter Seitenkopf */
.jnl-hero, .nh-pi-hero { background: transparent !important; background-image: none !important; border: none !important; box-shadow: none !important; padding: .25rem 0 .75rem !important; border-radius: 0 !important; color: #0f172a !important; }
.jnl-hero-grid, .jnl-hero-orb, .jnl-hero-icon-circle, .jnl-hero-eyebrow, .nh-pi-hero-grid, .nh-pi-hero-icon, .nh-pi-hero-eyebrow { display: none !important; }
.jnl-hero-name, .nh-pi-hero-name { color: #0f172a !important; font-weight: 600 !important; font-size: 1.5rem !important; }
.jnl-hero-sub, .nh-pi-hero-sub { color: #64748b !important; font-size: .9rem !important; }
.nh-pi-hero-cta .btn { background: var(--nh-primary) !important; color: #fff !important; border: none !important; }
.nh-pi-hero-cta .btn:hover { background: var(--nh-primary-dark) !important; }

/* Leerzustand (_EmptyState): keine gedrehten Sticker, kein gelbes Etikett, keine Handschrift */
.nh-empty-card { border: 1px dashed #cbd5e1 !important; border-radius: 10px !important; }
.nh-empty-card::before { display: none !important; }
.nh-empty-illustration { transform: none !important; background: #f1f5f9 !important; background-image: none !important; border-radius: 10px !important; box-shadow: none !important; border: none !important; width: 64px !important; height: 64px !important; font-size: 28px !important; color: #64748b !important; }
.nh-empty-badge, .nh-empty-kicker { display: none !important; }
.nh-empty-headline { font-weight: 600 !important; font-size: 1.1rem !important; letter-spacing: 0 !important; color: #0f172a !important; }
.nh-empty-headline em { font-family: inherit !important; font-size: inherit !important; color: inherit !important; font-weight: inherit !important; }
.nh-empty-cta { border-radius: 8px !important; font-weight: 600 !important; }
.nh-empty-cta:hover { transform: none !important; box-shadow: none !important; }

/* Hinweisbalken (z.B. Gewichtungssumme): sanfte Toene statt Vollfarbe */
.alert.solid.alert-success { background: #ecfdf5 !important; color: #065f46 !important; border: 1px solid #a7f3d0 !important; border-radius: 8px !important; }
.alert.solid.alert-danger { background: #fef2f2 !important; color: #991b1b !important; border: 1px solid #fecaca !important; border-radius: 8px !important; }
.alert.solid.alert-warning { background: #fffbeb !important; color: #92400e !important; border: 1px solid #fde68a !important; border-radius: 8px !important; }
.alert.solid.alert-info, .alert.solid.alert-primary { background: #eff6ff !important; color: #1e3a8a !important; border: 1px solid #bfdbfe !important; border-radius: 8px !important; }

/* Nachrichten (Chat): solide Kopfzeile, keine Muster, Etiketten normal */
.nh-chat-conv-head, .nhmc-thread-head { background: var(--nh-primary) !important; background-image: none !important; }
.nh-chat-conv-head::before { display: none !important; }
.nh-chat-msg.own, .nh-chat-send-btn, .nh-chat-set-save { background: var(--nh-primary) !important; background-image: none !important; box-shadow: none !important; }
.nh-chat-msg.own { border-radius: 12px 12px 4px 12px !important; }
.nh-chat-group-label, .nh-chat-set-label { text-transform: none !important; letter-spacing: 0 !important; }

/* Schueler-Leistungsuebersicht (Desktop + Handy): solide Karten, keine Handschrift, Etiketten normal */
.sp-profile-card, .hero-card, .m2-hero { background: var(--nh-primary-dark, #1e3a8a) !important; background-image: none !important; border-radius: 10px !important; box-shadow: none !important; }
.sp-hero-accent, .m2-tagline { font-family: inherit !important; color: rgba(255,255,255,.8) !important; transform: none !important; font-size: .95rem !important; font-weight: 500 !important; text-shadow: none !important; line-height: 1.3 !important; }
.m2-section-title .cv, .m2-ov-sub { font-family: inherit !important; font-weight: 600 !important; }
.grade-hero-good { background: #059669 !important; } .grade-hero-ok { background: #d97706 !important; } .grade-hero-bad { background: #dc2626 !important; } .grade-hero-none { background: #6b7280 !important; }
.sp-kpi-icon.is-success { background: #10b981 !important; } .sp-kpi-icon.is-danger { background: #ef4444 !important; }
.sp-kpi-icon, .sp-subject-icon, .sp-subject-pill.active-subject, .sp-tabs .nav-link.active, .m2-nav-btn .m2-nav-icon { background-image: none !important; }
.sp-subject-icon, .sp-subject-pill.active-subject, .sp-tabs .nav-link.active, .m2-nav-tasks .m2-nav-icon, .m2-nav-calendar .m2-nav-icon, .m2-nav-chat .m2-nav-icon { background: var(--nh-primary) !important; }
.m2-nav-journal .m2-nav-icon { background: #6d28d9 !important; } .m2-nav-mitteilungen .m2-nav-icon { background: #059669 !important; }
.sp-stat span, .sp-stat small, .stat-label, .grade-hero-label, .grade-label-mini, .task-subtitle, .grade-gauge-text .label, .table-modern thead th,
.sp-card-header, [class^="sp-"][class*="label"], [class^="sp-"][class*="lbl"], [class^="sp-"][class*="eyebrow"], .fc-toolbar-title, #calendar-mobile .fc-toolbar-title,
[class^="m2-"][class*="label"], [class^="m2-"][class*="lbl"] { text-transform: none !important; letter-spacing: 0 !important; }
.table-modern thead th { font-weight: 600 !important; font-size: .78rem !important; color: #64748b !important; }
.sp-card-header { font-weight: 600 !important; }

/* Einrichtungs-Assistent Abschluss: keine Handschrift */
.celebration-h1 em { font-family: inherit !important; font-style: normal !important; color: inherit !important; }

/* Elternportal-Startseite: helle Seite mit dunkler Kopfleiste statt Vollflaechen-Verlauf */
body:has(.pd-header) { background: #f1f5f9 !important; background-image: none !important; }
.pd-header { background: var(--nh-primary) !important; max-width: none !important; padding: 14px max(20px, calc((100% - 860px) / 2)) !important; margin: 0 0 18px !important; }
.pd-header .logout { border-radius: 8px !important; }
.pd-hello, .pd-hello h2 { color: #0f172a !important; } .pd-hello h2 { font-weight: 600 !important; } .pd-hello p { color: #64748b !important; }
.pd-card { border-radius: 10px !important; border: 1px solid #e5e7eb !important; box-shadow: none !important; }
.pd-avatar { background: var(--nh-primary) !important; background-image: none !important; }
.pd-add { border: 1px dashed #cbd5e1 !important; color: var(--nh-primary) !important; background: #fff !important; border-radius: 10px !important; }
.pd-flash { border-radius: 8px !important; }

/* Fehlerseiten (400/403/404/500/503, UserError, AccessDenied): Schulheft-Deko und Handschrift weg */
body:has(.err-main)::before, body:has(.err-main)::after { display: none !important; }
.err-postit, .err-postit-2, .err-ruler, .err-pencil, .err-splash, .err-stamp, .err-gear, .err-mark, .err-arrow { display: none !important; }
.err-title, .err-sub, .err-num, .schrift, .pi-head, .pi2-head { font-family: inherit !important; transform: none !important; }
.err-title { font-size: 1.6rem !important; font-weight: 600 !important; color: #0f172a !important; letter-spacing: 0 !important; }
.err-title .red, .err-title em { color: inherit !important; font-style: normal !important; }
.err-num { font-weight: 700 !important; color: #0f172a !important; }
.err-circle { border: none !important; outline: none !important; box-shadow: none !important; transform: none !important; background: #f1f5f9 !important; border-radius: 16px !important; }
.err-btn { border-radius: 8px !important; box-shadow: none !important; }
.err-btn:hover, .err-btn:active { transform: none !important; box-shadow: none !important; }
.err-btn-primary { background: var(--nh-primary, #1e40af) !important; background-image: none !important; }
.err-btn-primary:hover { background: var(--nh-primary-dark, #1e3a8a) !important; }
.err-main, .err-main * { animation: none !important; opacity: 1; }

/* Schueler-Uebersicht Handy: Hausschrift trotz eigener body-Regel, keine Muster/Schatten, Etiketten normal */
html body { font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif !important; }
.m2-hero::before, .m2-hero::after { display: none !important; }
.m2-eyebrow, .m2-gauge-label, .m2-gauge-side-label, .m2-stat-label, .m2-grade-pill .gl, .m2-ov-grade-label, .sp-avg-sub, .sp-lz-label { text-transform: none !important; letter-spacing: 0 !important; }
[class^="m2-"]:not(.m2-hero) { box-shadow: none !important; }
.m2-nav-icon { border-radius: 10px !important; }
.m2-section-title { font-weight: 600 !important; font-size: 1.1rem !important; }

/* Fehlerseiten: Nummer und Symbol ohne Drehung/Schatten, alles sofort sichtbar */
body:has(.err-main) [class^="err-"], body:has(.err-main) [class*=" err-"] { opacity: 1 !important; animation: none !important; }
.err-circle { display: none !important; }
.err-num { font-size: 6rem !important; text-shadow: none !important; transform: none !important; color: var(--nh-primary, #1e40af) !important; }
.err-lock, .err-icon, .err-gear-icon { transform: none !important; text-shadow: none !important; font-size: 4rem !important; color: var(--nh-primary, #1e40af) !important; }

/* ============================================================================
   RUNDE 2d - Seitentabs (Social/Feedback/Empfehlen) bleiben erhalten (User-Wunsch),
   Feedback- und Empfehlungs-Panel in Primaerfarbe statt Lila, Etiketten normal.
   Am Handy verschwinden Tab und Nachbar-Tabs, solange das Panel offen ist
   (vorher lagen sie ueber dem geoeffneten Formular).
   ============================================================================ */
.fb-tab-label, .nh-sidetab-label, .nh-ref-panel-label, .fb-label { text-transform: none !important; letter-spacing: 0 !important; }
.fb-label { font-weight: 600 !important; font-size: .85rem !important; color: #0f172a !important; }
.fb-panel { border-radius: 12px !important; box-shadow: 0 12px 40px rgba(15,23,42,.18) !important; }
.fb-panel-header, .nh-ref-panel-header { background: var(--nh-primary) !important; background-image: none !important; }
.fb-submit-btn { background: var(--nh-primary) !important; background-image: none !important; border-radius: 8px !important; box-shadow: none !important; }
.fb-submit-btn:hover { background: var(--nh-primary-dark, var(--nh-primary)) !important; transform: none !important; }
.fb-chip { border-radius: 8px !important; }
.fb-chip:hover, .fb-chip.active { border-color: var(--nh-primary) !important; color: var(--nh-primary) !important; background: #eff6ff !important; }
.fb-smiley.active { border-color: var(--nh-primary) !important; }
.fb-smiley.active span { color: var(--nh-primary) !important; }
.fb-textarea:focus { border-color: var(--nh-primary) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important; }
.fb-bubble strong, .fb-bubble-list li i { color: var(--nh-primary) !important; }
.fb-bubble { border-radius: 10px !important; box-shadow: 0 8px 28px rgba(15,23,42,.16) !important; }
.fb-tab.fb-panel-open, .nh-sidetab.nh-sidetab-open { color: var(--nh-primary) !important; border-color: #bfdbfe !important; }
@media (max-width: 768px) {
    .fb-tab.fb-panel-open { display: none !important; }
    body:has(.fb-panel.fb-panel-open) .nh-sidetab,
    body:has(.fb-panel.fb-panel-open) .nh-social-flyout { display: none !important; }
    body:has(.nh-ref-panel.nh-ref-panel-open) .fb-tab,
    body:has(.nh-ref-panel.nh-ref-panel-open) .nh-sidetab,
    body:has(.nh-ref-panel.nh-ref-panel-open) .nh-social-flyout { display: none !important; }
}

