/* ============================================================
   Exercise Shell — Hauptbuch & Beleg
   Gemeinsames Seitengeruest fuer Uebungsseiten.
   Lokale Uebungslogik bleibt in den jeweiligen Exercise-CSS-Dateien.
============================================================ */

body.hb-exercise-shell-page {
    --hb-paper: #F4F1E8;
    --hb-paper-light: #FBF8EF;
    --hb-card: #FCFAF4;
    --hb-ink: #23201B;
    --hb-ink-mid: #6E6757;
    --hb-ink-muted: #8A8273;
    --hb-border: #DAD3C2;
    --hb-terra: #B0492C;
    --hb-ocker: #A8744D;
    --hb-oliv: #5E7A4F;
    --hb-serif: "Lora", Georgia, serif;
    --hb-mono: "JetBrains Mono", monospace;
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(190px, 220px)
        minmax(0, 1180px)
        minmax(250px, 290px)
        minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    min-height: 100vh;
    padding: 0 24px;
    overflow-x: hidden;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.045) 0 1px, transparent 1px 26px),
        repeating-linear-gradient(90deg, rgba(120, 110, 85, 0.045) 0 1px, transparent 1px 26px),
        var(--hb-paper) !important;
    color: var(--hb-ink);
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page::before {
    display: none;
}

body.hb-exercise-shell-page::after {
    content: "";
    position: fixed;
    inset: 72px 0 0;
    z-index: -1;
    background-image:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.045) 0 1px, transparent 1px 26px),
        repeating-linear-gradient(90deg, rgba(120, 110, 85, 0.045) 0 1px, transparent 1px 26px);
    opacity: 1;
    pointer-events: none;
}

body.hb-exercise-shell-page #navbar-container {
    grid-column: 1 / -1;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

body.hb-exercise-shell-page > main,
body.hb-exercise-shell-page > .page-container:not(.beta-info-stack):not(.gamification-stack) {
    grid-column: 3;
    grid-row: 2;
    width: 100%;
    max-width: 1180px;
    min-width: 0;
    margin: 34px auto 72px;
}

body.hb-exercise-shell-page:has(:is(
    .t-dropzone,
    .t-account,
    .skonto-single-ledger,
    .asset-guided-sheet,
    .asset-disposal-booking,
    .linear-depr-booking,
    .hw-consumption-booking,
    .beginner-final-booking
)) {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(170px, 205px)
        minmax(0, 1300px)
        minmax(230px, 270px)
        minmax(0, 1fr);
    gap: 18px;
}

body.hb-exercise-shell-page:has(:is(
    .t-dropzone,
    .t-account,
    .skonto-single-ledger,
    .asset-guided-sheet,
    .asset-disposal-booking,
    .linear-depr-booking,
    .hw-consumption-booking,
    .beginner-final-booking
)) > main,
body.hb-exercise-shell-page:has(:is(
    .t-dropzone,
    .t-account,
    .skonto-single-ledger,
    .asset-guided-sheet,
    .asset-disposal-booking,
    .linear-depr-booking,
    .hw-consumption-booking,
    .beginner-final-booking
)) > .page-container:not(.beta-info-stack):not(.gamification-stack) {
    max-width: 1300px;
}

body.hb-exercise-shell-page .app-navbar {
    background: var(--hb-ink);
    border-bottom: 0;
    box-shadow: none;
    color: #EDE8DB;
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page .nav-link {
    color: #C9C2B2;
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page .nav-link:hover,
body.hb-exercise-shell-page .nav-link.active {
    color: #F4F1E8;
}

body.hb-exercise-shell-page .logout-btn {
    border: 1px solid #4A453B;
    border-radius: 0;
    background: transparent;
    color: #9A9385;
    font-family: var(--hb-mono);
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

body.hb-exercise-shell-page .beta-info-stack {
    grid-column: 2;
    grid-row: 2;
    position: sticky;
    top: 22px;
    z-index: 20;
    display: grid;
    gap: 12px;
    width: 100%;
    margin: 34px 0 0;
}

body.hb-exercise-shell-page .gamification-stack {
    grid-column: 4;
    grid-row: 2;
    position: sticky;
    top: 22px;
    z-index: 20;
    display: grid;
    gap: 12px;
    width: 100%;
    margin: 34px 0 0;
}

body.hb-exercise-shell-page .beta-info-box,
body.hb-exercise-shell-page .gamification-panel {
    position: static;
    width: 100%;
    max-width: none;
    border: 1px solid var(--hb-border);
    border-radius: 0;
    background: var(--hb-card);
    box-shadow: none;
    backdrop-filter: none;
    color: var(--hb-ink);
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page .beta-info-toggle {
    min-height: 56px;
    padding: 0 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--hb-ink);
    box-shadow: none;
}

body.hb-exercise-shell-page .beta-info-title,
body.hb-exercise-shell-page .gamification-kicker,
body.hb-exercise-shell-page .gamification-stat-label,
body.hb-exercise-shell-page .gamification-section-topline,
body.hb-exercise-shell-page .gamification-profile-link,
body.hb-exercise-shell-page .feedback-cta-link {
    font-family: var(--hb-mono);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

body.hb-exercise-shell-page .beta-info-title,
body.hb-exercise-shell-page .gamification-kicker {
    color: var(--hb-terra);
}

body.hb-exercise-shell-page .beta-info-title {
    display: block;
}

body.hb-exercise-shell-page .beta-info-meta {
    display: block;
    margin-top: 5px;
    color: var(--hb-ink-mid);
    font-family: var(--hb-serif);
    font-size: 0.78rem;
    letter-spacing: 0;
    text-transform: none;
}

body.hb-exercise-shell-page .beta-info-icon {
    color: var(--hb-ink-muted);
}

body.hb-exercise-shell-page .beta-info-body {
    padding: 0 14px 14px;
    color: var(--hb-ink-mid);
    font-size: 0.88rem;
    line-height: 1.55;
}

body.hb-exercise-shell-page .beta-info-list {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

body.hb-exercise-shell-page .beta-info-list li {
    position: relative;
    margin: 0;
    padding: 9px 0 9px 17px;
    border-top: 1px solid var(--hb-border);
    color: var(--hb-ink-mid);
    font-family: var(--hb-serif);
    font-size: 0.86rem;
    line-height: 1.45;
}

body.hb-exercise-shell-page .beta-info-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--hb-terra);
    font-weight: 700;
}

body.hb-exercise-shell-page .gamification-panel {
    padding: 18px 16px;
}

body.hb-exercise-shell-page .gamification-panel-head {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--hb-border);
}

body.hb-exercise-shell-page .gamification-avatar {
    width: 40px;
    height: 40px;
    border: 1px solid var(--hb-border);
    border-radius: 0;
    background: var(--hb-paper-light);
}

body.hb-exercise-shell-page .gamification-panel h2 {
    color: var(--hb-ink);
    font-family: var(--hb-serif);
    font-size: 1.05rem;
}

body.hb-exercise-shell-page .gamification-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid var(--hb-border);
}

body.hb-exercise-shell-page .gamification-stat {
    padding: 12px 10px;
    border-right: 1px solid var(--hb-border);
    background: transparent;
}

body.hb-exercise-shell-page .gamification-stat:last-child {
    border-right: 0;
}

body.hb-exercise-shell-page .gamification-stat-value {
    color: var(--hb-ink);
    font-family: var(--hb-mono);
    font-variant-numeric: tabular-nums;
}

body.hb-exercise-shell-page .gamification-progress,
body.hb-exercise-shell-page .gamification-badges {
    border: 1px solid var(--hb-border);
    border-radius: 0;
    background: transparent;
}

body.hb-exercise-shell-page .gamification-progress-bar {
    height: 8px;
    border-radius: 0;
    background: #E1DAC9;
}

body.hb-exercise-shell-page .gamification-progress-fill {
    border-radius: 0;
    background: var(--hb-oliv);
}

body.hb-exercise-shell-page .gamification-badge-slot {
    border: 1px solid var(--hb-oliv);
    border-radius: 0;
    background: rgba(94, 122, 79, 0.09);
}

body.hb-exercise-shell-page .gamification-profile-link {
    display: block;
    padding: 11px 12px;
    border: 1px solid var(--hb-ink);
    border-radius: 0;
    background: transparent;
    color: var(--hb-ink);
    text-align: center;
    text-decoration: none;
}

body.hb-exercise-shell-page .gamification-support-note {
    color: var(--hb-ink-mid);
    font-size: 0.83rem;
    line-height: 1.55;
}

body.hb-exercise-shell-page .gamification-support-note a {
    color: var(--hb-ink);
    font-weight: 700;
}

body.hb-exercise-shell-page .feedback-cta-link {
    position: static;
    display: block;
    width: 100%;
    max-width: none;
    padding: 16px 14px;
    border: 1px solid var(--hb-terra);
    border-radius: 0;
    background: var(--hb-terra);
    color: var(--hb-card);
    box-shadow: none;
    text-align: center;
    text-decoration: none;
}

body.hb-exercise-shell-page .site-footer {
    grid-column: 1 / -1;
    width: calc(100% + 48px);
    margin: 18px -24px 0;
    border-top: 2px solid var(--hb-ink);
    background: var(--hb-paper);
}

body.hb-exercise-shell-page .site-footer-inner,
body.hb-exercise-shell-page .site-footer-bottom {
    max-width: 1660px;
}

/* ------------------------------------------------------------
   Lokale Exercise-Inhalte: gemeinsame optische Grundregeln
   Fachliche Layouts bleiben in den Einzel-CSS-Dateien.
------------------------------------------------------------ */

body.hb-exercise-shell-page > main {
    background: transparent !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page > main > section:first-child {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 28px !important;
    padding: clamp(24px, 3vw, 34px) clamp(24px, 3.4vw, 38px) !important;
    border: 1px solid var(--hb-border);
    border-radius: 0 !important;
    background:
        repeating-linear-gradient(#EAE3D0 0 1px, transparent 1px 28px),
        var(--hb-paper-light) !important;
    background-position: 0 8px;
    box-shadow: none !important;
    text-align: left !important;
}

body.hb-exercise-shell-page > main > section:first-child :where(h1) {
    max-width: 18ch;
    margin-top: 6px;
    margin-bottom: 12px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--hb-ink);
    color: var(--hb-ink);
    font-family: var(--hb-serif);
    font-weight: 600;
    letter-spacing: -0.03em;
}

body.hb-exercise-shell-page > main > section:first-child :where(p[class*="kicker"], .exercise-page-kicker) {
    color: var(--hb-terra);
    font-family: var(--hb-mono);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

body.hb-exercise-shell-page > main > section:first-child :where(p[class*="lead"]) {
    max-width: 68ch;
    color: var(--hb-ink-mid);
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page :where(
    section[class*="stage"],
    div[class*="stage"],
    article[class*="card"],
    section[class*="card"],
    div[class*="card"],
    aside[class*="sidebar"],
    aside[class*="help"],
    article[class*="reference"],
    article[class*="summary"]
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(section[class*="stage"], div[class*="stage"]) {
    border: 1px solid var(--hb-border);
    background: var(--hb-card) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where([class*="stage-topline"], [class*="topline"]) {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--hb-border);
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    [class*="hero-panel"],
    [class*="hero-image"],
    [class*="hero-flow"],
    [class*="hero-split"],
    [class*="hero-bilanz"],
    [class*="hero-classes"],
    [class*="hero-chain"],
    [class*="hero-grid"]
) {
    border: 1px solid var(--hb-border);
    border-radius: 0 !important;
    background:
        repeating-linear-gradient(#EAE3D0 0 1px, transparent 1px 26px),
        rgba(252, 250, 244, 0.88) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where([class*="hero-panel-label"], [class*="hero-panel-note"]) {
    font-family: var(--hb-mono);
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

body.hb-exercise-shell-page > main > section:first-child :where(
    [class*="panel"],
    [class*="flow"],
    [class*="row"],
    [class*="col"],
    [class*="split"],
    [class*="bilanz"],
    [class*="classes"],
    [class*="chain"],
    li
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page > main :is(
    [class*="hero"],
    [class*="stage"],
    [class*="card"],
    [class*="panel"],
    [class*="section"],
    [class*="workflow"],
    [class*="reference"],
    [class*="summary"],
    [class*="question"],
    [class*="logic"],
    [class*="visual"],
    [class*="rule"],
    [class*="calc"],
    [class*="drill"],
    [class*="feedback"],
    [class*="option"]
)::before,
body.hb-exercise-shell-page > main :is(
    [class*="hero"],
    [class*="stage"],
    [class*="card"],
    [class*="panel"],
    [class*="section"],
    [class*="workflow"],
    [class*="reference"],
    [class*="summary"],
    [class*="question"],
    [class*="logic"],
    [class*="visual"],
    [class*="rule"],
    [class*="calc"],
    [class*="drill"],
    [class*="feedback"],
    [class*="option"]
)::after {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    article[class*="card"],
    section[class*="card"],
    div[class*="card"],
    article[class*="reference"],
    article[class*="summary"],
    [class*="rule-card"],
    [class*="note-card"],
    [class*="help-card"],
    [class*="workflow-card"],
    [class*="drill-card"],
    [class*="calc-card"],
    [class*="info-card"]
) {
    border-color: var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    [class*="reference-card"],
    [class*="help-card"],
    [class*="summary-card"],
    [class*="rule-card"],
    [class*="note-card"],
    [class*="workflow-card"]
) {
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :where(
    [class*="question-card"],
    [class*="case-card"],
    [class*="task-card"],
    [class*="exercise-card"],
    [class*="concept-card"],
    [class*="classify-card"],
    [class*="drill-card"],
    [class*="calc-card"],
    [class*="info-card"]
) {
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-card) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    [class*="flow-row"],
    [class*="split-col"],
    [class*="bilanz-col"],
    [class*="class-row"],
    [class*="step"],
    [class*="metric"],
    [class*="stat"],
    [class*="badge-slot"],
    [class*="progress-track"],
    [class*="progress-bar"]
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    span[class*="chip"],
    span[class*="badge"],
    p[class*="kicker"],
    p[class*="label"],
    [class*="status"]
) {
    font-family: var(--hb-mono);
    letter-spacing: 1px;
}

body.hb-exercise-shell-page :where(
    span[class*="chip"],
    span[class*="badge"],
    [class*="status-chip"],
    [class*="status"],
    [class*="number"],
    [class*="state"],
    [class*="tag"],
    [class*="pill"]
) {
    border-radius: 0 !important;
    border: 1px solid var(--hb-border);
    background: transparent;
    color: var(--hb-ink-mid);
}

body.hb-exercise-shell-page :where(
    button,
    a[class*="btn"],
    a[class*="link"],
    .checkBtn,
    .info-btn
) {
    border-radius: 0;
    box-shadow: none;
}

body.hb-exercise-shell-page :where(
    button[class*="option"],
    button[class*="answer"],
    button[class*="choice"],
    button[class*="classify"],
    button[class*="drop"],
    button[class*="reset"],
    a[class*="back"],
    a[class*="reset"]
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    color: var(--hb-ink) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    button[class*="option"]:hover,
    button[class*="answer"]:hover,
    button[class*="choice"]:hover,
    button[class*="classify"]:hover,
    a[class*="back"]:hover
) {
    border-color: var(--hb-ink) !important;
    background: #EFE8DA !important;
}

body.hb-exercise-shell-page :where(
    button[class*="btn"],
    a[class*="btn"],
    button[class*="cta"],
    a[class*="cta"],
    .checkBtn,
    .info-btn
) {
    font-family: var(--hb-mono);
    letter-spacing: 1px;
    text-transform: uppercase;
}

body.hb-exercise-shell-page :where(input, select, textarea) {
    border-radius: 0;
    box-shadow: none;
}

body.hb-exercise-shell-page :where(
    [class*="feedback"],
    [class*="result"],
    [class*="hint"],
    [class*="note"]
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where(
    [class*="sheet"],
    [class*="table"],
    [class*="booking"],
    [class*="konto"],
    [class*="account-bank"],
    [class*="dropzone"]
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :where([class*="progress-bar"], [class*="progressTrack"], [class*="progress-track"]) {
    border-radius: 0;
    background: #E1DAC9;
}

body.hb-exercise-shell-page :where([class*="progress-fill"], [class*="progressFill"], [class*="progress-fill"]) {
    border-radius: 0;
    background: var(--hb-oliv);
}

/* Erweiterter Kontenplan: farbige Klassenregister + ruhige Kontozeilen. */
body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
) {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    min-height: 38px;
    margin: 0 0 7px;
    padding: 10px 12px;
    border: 1px solid var(--hb-ink);
    border-radius: 0;
    box-shadow: none;
    font-family: var(--hb-mono);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-align: left;
    color: #f5f0e6;
    text-transform: none;
}

body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
) span {
    flex: 0 0 auto;
}

body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
) strong {
    overflow: hidden;
    text-overflow: ellipsis;
}

body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
)::after {
    content: "+";
    margin-left: auto;
    float: none;
    font-family: var(--hb-mono);
    font-size: 12px;
    line-height: 1;
}

body.hb-exercise-shell-page :is(
    .sidebar-class-header.open,
    .business-cases-class-header.open,
    .hw-consumption-class-header.open,
    .sidebar-class-header.is-open,
    .business-cases-class-header.is-open,
    .hw-consumption-class-header.is-open
)::after {
    content: "-";
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-0,
body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-5 {
    background: #3d3a33;
    color: #f5f0e6;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-1 {
    background: #185fa5;
    color: #edf5fb;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-2,
body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-6 {
    background: #1f7a4d;
    color: #ecf7ef;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-3 {
    background: #d98324;
    color: #281806;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-4 {
    background: #7a4fb5;
    color: #f5eefb;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-7 {
    background: #c0392b;
    color: #fff1ed;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-8 {
    background: #5b5147;
    color: #f7f0e4;
}

body.hb-exercise-shell-page :is(.sidebar-class-header, .business-cases-class-header, .hw-consumption-class-header).class-9 {
    background: #6a4b86;
    color: #f7eefb;
}

body.hb-exercise-shell-page :is(
    .sidebar-subgroup,
    .business-cases-subaccounts,
    .hw-consumption-subaccounts
) {
    display: none;
    gap: 4px;
    margin: -2px 0 10px;
    padding: 0;
}

body.hb-exercise-shell-page :is(
    .sidebar-subgroup.open,
    .business-cases-subaccounts.open,
    .hw-consumption-subaccounts.open,
    .sidebar-subgroup.is-open,
    .business-cases-subaccounts.is-open,
    .hw-consumption-subaccounts.is-open
) {
    display: grid;
}

body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn
) {
    display: block;
    width: 100%;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid var(--hb-border);
    border-radius: 0;
    background: var(--hb-card);
    box-shadow: none;
    color: var(--hb-ink);
    font-family: var(--hb-serif);
    font-size: 0.82rem;
    line-height: 1.25;
    text-align: left;
}

body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn
) strong {
    display: inline-block;
    min-width: 54px;
    font-family: var(--hb-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--hb-ink);
}

body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn
):hover,
body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn
):focus-visible,
body.hb-exercise-shell-page :is(
    .subaccount.is-selected,
    .business-cases-account-btn.is-selected,
    .hw-consumption-account-btn.is-selected
) {
    border-color: var(--hb-ink);
    background: var(--hb-paper-light);
    color: var(--hb-ink);
}

/* Level 1: konsequenter Hauptbuch-Stil fuer die ersten Uebungen. */
body.hb-exercise-shell-page > main:is(
    .account-bridge-page,
    .akz-page,
    .account-closing-page
) {
    min-height: auto;
    padding: 0 !important;
    color: var(--hb-ink);
    font-family: var(--hb-serif);
}

body.hb-exercise-shell-page :is(
    .account-bridge-hero,
    .account-bridge-stage,
    .akz-hero,
    .akz-stage,
    .account-closing-hero,
    .account-closing-stage
) {
    width: 100% !important;
    max-width: none !important;
    border-color: var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-hero,
    .akz-hero,
    .account-closing-hero
) {
    gap: clamp(18px, 3vw, 34px) !important;
    align-items: stretch !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-kicker,
    .account-bridge-section-head p,
    .account-bridge-summary-kicker,
    .akz-kicker,
    .akz-section-kicker,
    .akz-summary-kicker,
    .account-closing-kicker,
    .account-closing-section-kicker,
    .account-closing-summary-kicker,
    .simple-drill-kicker
) {
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    letter-spacing: 1.6px !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-hero h1,
    .akz-hero h1,
    .account-closing-hero h1
) {
    max-width: 18ch;
    margin-top: 6px !important;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--hb-ink);
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.03em !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-lead,
    .akz-lead,
    .account-closing-lead,
    .account-bridge-path p,
    .akz-path p,
    .account-closing-reference-grid p,
    .account-bridge-card-text,
    .akz-concept-text,
    .akz-section-desc,
    .account-closing-card p
) {
    color: var(--hb-ink-mid) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-hero-panel,
    .akz-hero-panel,
    .account-closing-hero-image
) {
    align-self: stretch;
    border: 1px solid var(--hb-border) !important;
    background:
        repeating-linear-gradient(#EAE3D0 0 1px, transparent 1px 26px),
        var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .account-closing-hero-image {
    width: 190px;
    height: auto;
    min-height: 140px;
    padding: 10px;
    object-fit: contain;
}

body.hb-exercise-shell-page :is(
    .account-bridge-hero-panel p,
    .akz-hero-panel-label,
    .akz-hero-panel-note
) {
    color: var(--hb-ink-mid) !important;
    font-family: var(--hb-mono) !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.account-chip, .akz-class-dot) {
    min-height: 34px;
    border: 1px solid var(--hb-ink);
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--hb-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

body.hb-exercise-shell-page .account-chip.class-1,
body.hb-exercise-shell-page .akz-dot-k1 { background: #185FA5 !important; color: #E6F1FB !important; }
body.hb-exercise-shell-page .account-chip.class-2,
body.hb-exercise-shell-page .akz-dot-k2 { background: #1F7A4D !important; color: #E8F5EE !important; }
body.hb-exercise-shell-page .account-chip.class-3,
body.hb-exercise-shell-page .akz-dot-k3 { background: #D98324 !important; color: #3A2206 !important; }
body.hb-exercise-shell-page .account-chip.class-4,
body.hb-exercise-shell-page .akz-dot-k4 { background: #7A4FB5 !important; color: #EFEAF7 !important; }
body.hb-exercise-shell-page .account-chip.class-7,
body.hb-exercise-shell-page .akz-dot-k7 { background: #C0392B !important; color: #FBE9E7 !important; }
body.hb-exercise-shell-page .akz-dot-k0,
body.hb-exercise-shell-page .akz-dot-k5 { background: #3D3A33 !important; color: #EDE9DF !important; }
body.hb-exercise-shell-page .akz-dot-k6 { background: #1F7A4D !important; color: #E8F5EE !important; }
body.hb-exercise-shell-page .akz-dot-k8 { background: #5B5147 !important; color: #F4F1E8 !important; }
body.hb-exercise-shell-page .akz-dot-k9 { background: #6A4B86 !important; color: #F4ECFA !important; }

body.hb-exercise-shell-page :is(
    .account-bridge-path,
    .akz-path,
    .akz-reference-grid,
    .account-closing-reference-grid
) {
    gap: 0 !important;
    border: 1px solid var(--hb-border);
    background: var(--hb-card);
}

body.hb-exercise-shell-page :is(
    .account-bridge-path article,
    .akz-path article,
    .akz-reference-card,
    .account-closing-reference-grid article
) {
    margin: 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--hb-border) !important;
    background: transparent !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-path article:last-child,
    .akz-path article:last-child,
    .akz-reference-card:last-child,
    .account-closing-reference-grid article:last-child
) {
    border-right: 0 !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-path span,
    .akz-path-badge,
    .account-closing-reference-grid span,
    .account-bridge-card-number,
    .akz-concept-state,
    .akz-classify-state,
    .akz-konto-badge,
    .account-closing-card-head strong
) {
    border: 1px solid var(--hb-border);
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-card,
    .akz-concept-card,
    .akz-classify-card,
    .account-closing-card
) {
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(
    .akz-concept-card,
    .akz-classify-card,
    .account-closing-card,
    .account-closing-drill-card
) {
    border-left-width: 1px !important;
}

body.hb-exercise-shell-page :is(.akz-section, .account-bridge-section) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .account-bridge-section {
    padding: 22px !important;
}

body.hb-exercise-shell-page .account-bridge-section + .account-bridge-section {
    margin-top: 18px !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-choice-btn,
    .account-bridge-check-btn,
    .account-bridge-reset-btn,
    .account-bridge-account-btn,
    .akz-option-btn,
    .akz-classify-btn,
    .akz-reset-btn,
    .account-closing-check-btn,
    .account-closing-reset-btn,
    .account-closing-drill-btn
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--hb-mono) !important;
    transform: none !important;
    transition: none !important;
}

body.hb-exercise-shell-page :is(
    .account-bridge-account-btn,
    .akz-classify-btn
) {
    color: var(--hb-ink) !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-1 {
    background: #185FA5 !important;
    color: #E6F1FB !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-2 {
    background: #1F7A4D !important;
    color: #E8F5EE !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-3 {
    background: #D98324 !important;
    color: #3A2206 !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-4 {
    background: #7A4FB5 !important;
    color: #EFEAF7 !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-7 {
    background: #C0392B !important;
    color: #FBE9E7 !important;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-1 small,
body.hb-exercise-shell-page .account-bridge-account-btn.class-2 small,
body.hb-exercise-shell-page .account-bridge-account-btn.class-4 small,
body.hb-exercise-shell-page .account-bridge-account-btn.class-7 small {
    color: inherit !important;
    opacity: 0.92;
}

body.hb-exercise-shell-page .account-bridge-account-btn.class-3 small {
    color: inherit !important;
    opacity: 0.78;
}

body.hb-exercise-shell-page :is(
    .account-bridge-change-row,
    .account-bridge-booking-row,
    .account-closing-choice,
    .account-closing-t-account,
    .account-closing-t-account li
) {
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page .account-closing-t-account section,
body.hb-exercise-shell-page .account-closing-t-account section:first-child,
body.hb-exercise-shell-page .account-closing-t-account section:last-child {
    background: transparent !important;
}

body.hb-exercise-shell-page :is(.account-bridge-summary-card, .akz-summary-card, .account-closing-summary-card, .account-closing-drill-card) {
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-paper-light) !important;
}

/* Level 2: Bilanz, Inventur und Bilanzaufbau im Hauptbuch-Stil. */
body.hb-exercise-shell-page > main:is(.bi-page, .bab-page) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page :is(.bi-hero, .bab-hero) {
    margin: 0 0 24px !important;
    padding: 0 0 28px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

body.hb-exercise-shell-page :is(.bi-hero-copy, .bab-hero-copy) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

body.hb-exercise-shell-page :is(.bi-kicker, .bab-kicker, .bi-section-kicker, .bab-section-kicker, .bi-summary-kicker, .bab-summary-kicker, .bi-hero-panel-label, .bab-hero-panel-label, .bab-sidebar-kicker) {
    display: inline-block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-hero h1, .bab-hero h1) {
    max-width: 12ch;
    margin: 0 0 16px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: clamp(2.25rem, 5vw, 4.35rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.05em !important;
    line-height: 0.98 !important;
}

body.hb-exercise-shell-page :is(.bi-lead, .bab-lead, .bi-section-desc, .bab-section-desc, .bi-card-text, .bab-card-text, .bi-reference-card p, .bab-reference-card p, .bi-summary-copy p, .bab-summary-copy p, .bab-sidebar-head p) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

body.hb-exercise-shell-page :is(.bi-hero-panel, .bab-hero-panel) {
    width: min(37%, 360px) !important;
    min-width: 280px !important;
    padding: 18px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background:
        linear-gradient(rgba(38, 31, 24, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(38, 31, 24, 0.045) 1px, transparent 1px),
        var(--hb-paper-light) !important;
    background-size: 24px 24px !important;
}

body.hb-exercise-shell-page :is(.bi-hero-bilanz, .bab-hero-bilanz) {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1px !important;
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid var(--hb-ink) !important;
    border-radius: 0 !important;
    background: var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.bi-hero-bilanz-col, .bab-hero-bilanz-col) {
    gap: 4px !important;
    padding: 13px 12px !important;
    background: transparent !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
}

body.hb-exercise-shell-page :is(.bi-hero-bilanz-col strong, .bab-hero-bilanz-col strong, .bab-hero-sublabel) {
    color: var(--hb-forest) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.66rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-hero-panel-note, .bab-hero-panel-note) {
    margin: 12px 0 0 !important;
    color: var(--hb-muted) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-stage, .bab-stage) {
    display: block !important;
}

body.hb-exercise-shell-page :is(.bi-topline, .bab-topline) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 9px 0 !important;
    border-top: 1px solid var(--hb-border) !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.bi-status-chip, .bab-status-chip) {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-back-link, .bab-back-link, .bi-cta-link, .bab-cta-link) {
    border-radius: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-cta-link, .bab-cta-link) {
    padding: 10px 14px !important;
    border: 1px solid var(--hb-ink) !important;
    background: var(--hb-ink) !important;
    color: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.bi-path, .bab-path, .bi-reference-grid, .bab-reference-grid) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin: 0 0 26px !important;
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.bi-path article, .bab-path article, .bi-reference-card, .bab-reference-card) {
    min-height: auto !important;
    padding: 18px 18px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.bi-path-badge, .bab-path-badge) {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 8px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
}

body.hb-exercise-shell-page :is(.bi-path article h2, .bab-path article h2, .bi-reference-card h2, .bab-reference-card h2, .bi-section-head h2, .bab-section-head h2, .bi-card-head h3, .bab-card-head h3, .bi-account-label, .bab-case-label, .bi-summary-copy h2, .bab-summary-copy h2, .bab-sidebar-head h2) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

body.hb-exercise-shell-page :is(.bi-path article h2, .bab-path article h2, .bi-reference-card h2, .bab-reference-card h2) {
    margin: 0 0 6px !important;
    font-size: 1rem !important;
}

body.hb-exercise-shell-page :is(.bi-path article p, .bab-path article p) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.92rem !important;
    line-height: 1.62 !important;
}

body.hb-exercise-shell-page :is(.bi-section, .bab-section) {
    margin: 0 0 34px !important;
    padding: 0 !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.bi-section-head, .bab-section-head) {
    margin: 0 !important;
    padding: 20px 22px !important;
    border-left: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(.bi-section--a .bi-section-head, .bab-section--a .bab-section-head) {
    border-top: 4px solid var(--hb-ink) !important;
}

body.hb-exercise-shell-page :is(.bi-section--b .bi-section-head, .bab-section--b .bab-section-head) {
    border-top: 4px solid var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(.bi-section--c .bi-section-head, .bab-section--c .bab-section-head) {
    border-top: 4px solid var(--hb-terra) !important;
}

body.hb-exercise-shell-page :is(.bi-card-list, .bab-card-list) {
    gap: 0 !important;
}

body.hb-exercise-shell-page :is(.bi-card, .bab-card) {
    padding: 22px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.hb-exercise-shell-page :is(.bi-card:last-child, .bab-card:last-child) {
    border-bottom: 0 !important;
}

body.hb-exercise-shell-page :is(.bi-card-head, .bab-card-head) {
    margin-bottom: 8px !important;
}

body.hb-exercise-shell-page :is(.bi-card-number, .bab-card-number) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-options, .bab-options, .bi-classify-actions, .bab-classify-grid) {
    gap: 8px !important;
}

body.hb-exercise-shell-page :is(
    .bi-option-btn,
    .bab-option-btn,
    .bi-classify-btn,
    .bab-classify-btn,
    .bi-check-btn,
    .bab-check-btn,
    .bi-reset-btn,
    .bab-reset-btn,
    .business-cases-account-btn
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.45 !important;
    text-transform: uppercase !important;
    transform: none !important;
    transition: none !important;
}

body.hb-exercise-shell-page :is(.bi-option-btn:hover, .bab-option-btn:hover, .bi-classify-btn:hover, .bab-classify-btn:hover, .bi-check-btn:hover, .bab-check-btn:hover, .business-cases-account-btn:hover) {
    background: var(--hb-paper-light) !important;
    filter: none !important;
    transform: none !important;
}

body.hb-exercise-shell-page :is(.bi-option-btn.is-correct, .bab-option-btn.is-correct, .bi-classify-btn.is-correct, .bab-classify-btn.is-correct, .bab-drop-zone.is-correct) {
    border-color: var(--hb-forest) !important;
    background: rgba(47, 124, 82, 0.1) !important;
    color: var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(.bi-option-btn.is-wrong, .bab-option-btn.is-wrong, .bi-classify-btn.is-wrong, .bab-classify-btn.is-wrong, .bab-drop-zone.is-wrong) {
    border-color: var(--hb-red) !important;
    background: rgba(174, 59, 45, 0.08) !important;
    color: var(--hb-red) !important;
}

body.hb-exercise-shell-page :is(.bi-calc-row, .bab-calc-row) {
    align-items: stretch !important;
    gap: 8px !important;
}

body.hb-exercise-shell-page :is(.bi-calc-label, .bab-calc-label, .bab-konto-step-label) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bi-calc-input, .bab-calc-input) {
    height: auto !important;
    padding: 10px 12px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.96rem !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :is(.bi-feedback, .bab-feedback) {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

body.hb-exercise-shell-page :is(.bi-feedback.is-success, .bab-feedback.is-success) {
    border: 1px solid var(--hb-forest) !important;
    background: rgba(47, 124, 82, 0.08) !important;
    color: var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(.bi-feedback.is-error, .bab-feedback.is-error) {
    border: 1px solid var(--hb-red) !important;
    background: rgba(174, 59, 45, 0.08) !important;
    color: var(--hb-red) !important;
}

body.hb-exercise-shell-page :is(.bi-summary-card, .bab-summary-card, .bab-sidebar) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(.bi-summary-card, .bab-summary-card) {
    margin-top: 8px !important;
    padding: 22px !important;
}

body.hb-exercise-shell-page .bab-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 18px !important;
    padding: 22px !important;
}

body.hb-exercise-shell-page .bab-main .bab-card {
    border: 1px solid var(--hb-border) !important;
    margin-bottom: 14px !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .bab-sidebar {
    padding: 18px !important;
    top: 92px !important;
}

body.hb-exercise-shell-page .bab-sidebar-head {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.business-cases-account-class, .bab-account-bank) {
    gap: 8px !important;
}

body.hb-exercise-shell-page .business-cases-class-header {
    min-height: 44px !important;
    border: 1px solid var(--hb-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--hb-card) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.73rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: none !important;
}

body.hb-exercise-shell-page .business-cases-class-header.class-0 { background: var(--hb-charcoal) !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-1 { background: #185FA5 !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-2 { background: #1F7A4D !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-3 { background: #D98324 !important; color: #3A2206 !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-9 { background: #7A4FB5 !important; }

body.hb-exercise-shell-page .business-cases-subaccounts {
    gap: 6px !important;
    padding: 0 0 2px 8px !important;
}

body.hb-exercise-shell-page .bab-konto-step {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .bab-drop-zone {
    min-height: 50px !important;
    padding: 12px 14px !important;
    border: 1px dashed var(--hb-ink) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    transition: none !important;
}

body.hb-exercise-shell-page .bab-drop-zone:hover,
body.hb-exercise-shell-page .bab-drop-zone.is-over {
    background: rgba(47, 124, 82, 0.08) !important;
}

body.hb-exercise-shell-page :is(.bab-drop-placeholder, .bab-drop-tip) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page .bab-drop-chip {
    border-radius: 0 !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* Level 4: GuV und Bilanz im gleichen Uebungsblatt-System. */
body.hb-exercise-shell-page > main:is(.bg-page, .guv-live-page) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page :is(.bg-hero, .guv-live-hero) {
    max-width: none !important;
    margin: 0 0 24px !important;
    padding: 0 0 28px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    text-align: left !important;
}

body.hb-exercise-shell-page .bg-hero {
    gap: 26px !important;
    align-items: stretch !important;
}

body.hb-exercise-shell-page :is(.bg-hero-copy) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

body.hb-exercise-shell-page :is(.bg-kicker, .bg-section-kicker, .bg-summary-kicker, .bg-hero-panel-label, .bg-sidebar-kicker, .guv-live-kicker, .guv-live-status, .guv-case-number, .guv-case-step, .guv-option-chip, .guv-booking-label) {
    display: inline-block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bg-hero h1, .guv-live-hero h1) {
    max-width: 13ch;
    margin: 0 0 16px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: clamp(2.25rem, 5vw, 4.25rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.05em !important;
    line-height: 0.98 !important;
}

body.hb-exercise-shell-page :is(.bg-lead, .guv-live-lead, .bg-section-desc, .bg-card-text, .bg-reference-card p, .bg-summary-copy p, .bg-sidebar-head p, .guv-case-text, .guv-case-hint, .guv-feedback, .guv-live-panel p, .guv-summary-card p, .guv-booking-result) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

body.hb-exercise-shell-page :is(.bg-hero-panel) {
    width: min(37%, 360px) !important;
    min-width: 280px !important;
    padding: 18px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background:
        linear-gradient(rgba(38, 31, 24, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(38, 31, 24, 0.045) 1px, transparent 1px),
        var(--hb-paper-light) !important;
    background-size: 24px 24px !important;
}

body.hb-exercise-shell-page .bg-hero-split {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1px !important;
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid var(--hb-ink) !important;
    border-radius: 0 !important;
    background: var(--hb-border) !important;
}

body.hb-exercise-shell-page .bg-hero-split-col {
    gap: 5px !important;
    padding: 13px 12px !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
}

body.hb-exercise-shell-page .bg-hero-split-col strong {
    color: var(--hb-forest) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.66rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page .bg-hero-panel-note {
    margin: 12px 0 0 !important;
    color: var(--hb-muted) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bg-stage, .guv-live-stage) {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.hb-exercise-shell-page :is(.bg-topline, .guv-live-topline) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 9px 0 !important;
    border-top: 1px solid var(--hb-border) !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.bg-status-chip, .bg-back-link, .bg-cta-link, .guv-live-back, .guv-kontenplan-link, .guv-cta-link) {
    border-radius: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bg-status-chip, .guv-live-status) {
    color: var(--hb-terra) !important;
}

body.hb-exercise-shell-page :is(.bg-cta-link, .guv-cta-link, .guv-kontenplan-link) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 14px !important;
    border: 1px solid var(--hb-ink) !important;
    background: var(--hb-ink) !important;
    color: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.bg-path, .bg-reference-grid) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin: 0 0 26px !important;
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(.bg-path article, .bg-reference-card) {
    min-height: auto !important;
    padding: 18px 18px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .bg-path-badge {
    display: inline !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 8px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
}

body.hb-exercise-shell-page :is(.bg-path article h2, .bg-reference-card h2, .bg-section-head h2, .bg-card-head h3, .bg-case-label, .bg-summary-copy h2, .bg-sidebar-head h2, .guv-case-card h2, .guv-live-panel-head h2, .guv-live-panel h3, .guv-summary-card h2) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

body.hb-exercise-shell-page :is(.bg-path article h2, .bg-reference-card h2, .guv-live-panel h3) {
    margin: 0 0 6px !important;
    font-size: 1rem !important;
}

body.hb-exercise-shell-page .bg-path article p {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.92rem !important;
    line-height: 1.62 !important;
}

body.hb-exercise-shell-page :is(.bg-section, .guv-case-card, .guv-live-panel, .guv-summary-card, .bg-summary-card, .bg-sidebar) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .bg-section {
    margin: 0 0 34px !important;
    padding: 0 !important;
}

body.hb-exercise-shell-page .bg-section-head {
    margin: 0 !important;
    padding: 20px 22px !important;
    border-left: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .bg-section--a .bg-section-head { border-top: 4px solid var(--hb-ink) !important; }
body.hb-exercise-shell-page .bg-section--b .bg-section-head { border-top: 4px solid var(--hb-forest) !important; }
body.hb-exercise-shell-page .bg-section--c .bg-section-head { border-top: 4px solid var(--hb-terra) !important; }

body.hb-exercise-shell-page :is(.bg-card-list) {
    gap: 0 !important;
}

body.hb-exercise-shell-page .bg-card {
    padding: 22px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.hb-exercise-shell-page .bg-card:last-child {
    border-bottom: 0 !important;
}

body.hb-exercise-shell-page :is(.bg-card-number) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.bg-options, .bg-classify-actions, .bg-classify-grid, .guv-options, .guv-booking-grid) {
    gap: 8px !important;
}

body.hb-exercise-shell-page :is(
    .bg-option-btn,
    .bg-classify-btn,
    .bg-check-btn,
    .bg-reset-btn,
    .guv-option-btn,
    .guv-account-btn,
    .guv-nav-btn,
    .guv-reset-btn
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.45 !important;
    text-transform: uppercase !important;
    transform: none !important;
    transition: none !important;
}

body.hb-exercise-shell-page :is(.guv-option-btn, .guv-account-btn) {
    display: block !important;
    margin-top: 0 !important;
    min-height: 56px !important;
    text-align: left !important;
}

body.hb-exercise-shell-page :is(.guv-nav-btn-primary) {
    background: var(--hb-ink) !important;
    color: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.bg-option-btn:hover, .bg-classify-btn:hover, .bg-check-btn:hover, .guv-option-btn:hover, .guv-account-btn:hover, .guv-nav-btn:hover) {
    background: var(--hb-paper-light) !important;
    filter: none !important;
    transform: none !important;
}

body.hb-exercise-shell-page :is(.bg-option-btn.is-correct, .bg-classify-btn.is-correct, .bg-drop-zone.is-correct, .guv-option-btn.is-correct, .guv-account-btn.is-correct) {
    border-color: var(--hb-forest) !important;
    background: rgba(47, 124, 82, 0.1) !important;
    color: var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(.bg-option-btn.is-wrong, .bg-classify-btn.is-wrong, .bg-drop-zone.is-wrong, .guv-option-btn.is-wrong, .guv-account-btn.is-wrong) {
    border-color: var(--hb-red) !important;
    background: rgba(174, 59, 45, 0.08) !important;
    color: var(--hb-red) !important;
}

body.hb-exercise-shell-page :is(.bg-calc-row, .guv-case-actions, .guv-booking-row, .guv-result-box) {
    align-items: stretch !important;
    gap: 8px !important;
}

body.hb-exercise-shell-page :is(.bg-calc-label, .bg-konto-step-label) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page .bg-calc-input {
    height: auto !important;
    padding: 10px 12px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.96rem !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :is(.bg-feedback, .guv-feedback, .guv-booking-result) {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

body.hb-exercise-shell-page :is(.bg-feedback.is-success, .guv-feedback.is-success) {
    border: 1px solid var(--hb-forest) !important;
    background: rgba(47, 124, 82, 0.08) !important;
    color: var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(.bg-feedback.is-error, .guv-feedback.is-error) {
    border: 1px solid var(--hb-red) !important;
    background: rgba(174, 59, 45, 0.08) !important;
    color: var(--hb-red) !important;
}

body.hb-exercise-shell-page :is(.bg-summary-card, .guv-summary-card) {
    margin-top: 8px !important;
    padding: 22px !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .bg-layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px) !important;
    gap: 18px !important;
    padding: 22px !important;
}

body.hb-exercise-shell-page .bg-main .bg-card {
    border: 1px solid var(--hb-border) !important;
    margin-bottom: 14px !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .bg-sidebar {
    padding: 18px !important;
    top: 92px !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .bg-sidebar-head {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .bg-account-bank {
    gap: 8px !important;
}

body.hb-exercise-shell-page .business-cases-class-header.class-4 { background: #7A4FB5 !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-5 { background: #3D3930 !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-6 { background: #1F7A4D !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-7 { background: #C0392B !important; }
body.hb-exercise-shell-page .business-cases-class-header.class-8 { background: #5E5448 !important; }

body.hb-exercise-shell-page .bg-konto-step {
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .bg-drop-zone {
    min-height: 50px !important;
    padding: 12px 14px !important;
    border: 1px dashed var(--hb-ink) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    transition: none !important;
}

body.hb-exercise-shell-page .bg-drop-zone:hover,
body.hb-exercise-shell-page .bg-drop-zone.is-over {
    background: rgba(47, 124, 82, 0.08) !important;
}

body.hb-exercise-shell-page :is(.bg-drop-placeholder, .bg-drop-tip) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page .bg-drop-chip {
    border-radius: 0 !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page .guv-live-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
    gap: 18px !important;
}

body.hb-exercise-shell-page .guv-case-card {
    padding: 22px !important;
}

body.hb-exercise-shell-page .guv-case-head {
    display: flex !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .guv-case-hint {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .guv-booking-box {
    margin-top: 20px !important;
    padding: 18px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .guv-booking-divider {
    display: grid !important;
    min-width: 42px !important;
    place-items: center !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
}

body.hb-exercise-shell-page .guv-live-panel {
    top: 92px !important;
    padding: 18px !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page .guv-live-panel-head {
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .guv-totals {
    gap: 8px !important;
}

body.hb-exercise-shell-page :is(.guv-totals div, .guv-result-box) {
    padding: 12px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(.guv-totals span, .guv-result-box span) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.guv-totals strong, .guv-result-box strong) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 1.1rem !important;
}

body.hb-exercise-shell-page .guv-line-list li {
    padding: 9px 10px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page .guv-line-list.is-balance li {
    background: rgba(184, 101, 45, 0.08) !important;
}

/* Semesterabschluss 1 und Semester 2: Abschluss-, Steuer-, Korrektur- und Anlagenfamilien. */
body.hb-exercise-shell-page > main:is(
    .beginner-final-page,
    .vat-recognition-page,
    .vat-components-page,
    .vat-booking-page,
    .skonto-basics-page,
    .skonto-page,
    .asset-basics-page,
    .asset-booking-page,
    .asset-guided-page,
    .linear-depr-page,
    .asset-values-page,
    .asset-disposal-page,
    .asset-method-page,
    .asset-final-page
) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-hero,
    .vat-hero,
    .vat-components-hero,
    .vat-booking-hero,
    .skonto-basics-hero,
    .skonto-hero,
    .asset-basics-hero,
    .asset-booking-hero,
    .asset-guided-hero,
    .linear-depr-hero,
    .asset-values-hero,
    .asset-disposal-hero,
    .asset-method-hero,
    .asset-final-hero
) {
    max-width: none !important;
    margin: 0 0 24px !important;
    padding: 0 0 28px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    text-align: left !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-kicker,
    .beginner-final-section-kicker,
    .beginner-final-summary-kicker,
    .beginner-final-celebration-kicker,
    .vat-kicker,
    .vat-summary-kicker,
    .vat-components-kicker,
    .vat-components-summary-kicker,
    .vat-booking-kicker,
    .vat-booking-summary-kicker,
    .skonto-basics-kicker,
    .skonto-basics-summary-kicker,
    .skonto-kicker,
    .skonto-summary-kicker,
    .asset-basics-kicker,
    .asset-basics-summary-kicker,
    .asset-booking-kicker,
    .asset-booking-summary-kicker,
    .asset-guided-kicker,
    .asset-guided-summary-kicker,
    .linear-depr-kicker,
    .linear-depr-section-kicker,
    .linear-depr-summary-kicker,
    .asset-values-kicker,
    .asset-values-section-kicker,
    .asset-values-summary-kicker,
    .asset-disposal-kicker,
    .asset-disposal-section-kicker,
    .asset-disposal-summary-kicker,
    .asset-method-kicker,
    .asset-method-section-kicker,
    .asset-method-summary-kicker,
    .asset-method-example-kicker,
    .asset-final-kicker,
    .asset-final-summary-kicker,
    .beginner-final-status-chip,
    .vat-status-chip,
    .vat-components-status-chip,
    .vat-booking-status-chip,
    .skonto-basics-status-chip,
    .skonto-status-chip,
    .asset-basics-status-chip,
    .asset-booking-status-chip,
    .asset-guided-status-chip,
    .linear-depr-status-chip,
    .linear-depr-section-chip,
    .asset-values-status-chip,
    .asset-values-section-chip,
    .asset-disposal-status-chip,
    .asset-disposal-section-chip,
    .asset-method-chip,
    .asset-final-chip
) {
    display: inline-block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-hero h1,
    .vat-hero h1,
    .vat-components-hero h1,
    .vat-booking-hero h1,
    .skonto-basics-hero h1,
    .skonto-hero h1,
    .asset-basics-hero h1,
    .asset-booking-hero h1,
    .asset-guided-hero h1,
    .linear-depr-hero h1,
    .asset-values-hero h1,
    .asset-disposal-hero h1,
    .asset-method-hero h1,
    .asset-final-hero h1
) {
    max-width: 13ch;
    margin: 0 0 16px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: clamp(2.2rem, 5vw, 4.15rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.05em !important;
    line-height: 0.98 !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-lead,
    .beginner-final-section-lead,
    .beginner-final-summary-card p,
    .beginner-final-help-card p,
    .beginner-final-sidebar-copy,
    .vat-lead,
    .vat-summary-card p,
    .vat-rule-card p,
    .vat-components-lead,
    .vat-components-summary-card p,
    .vat-reference-card p,
    .vat-booking-lead,
    .vat-booking-summary-card p,
    .vat-booking-reference-card p,
    .vat-booking-sidebar-copy,
    .skonto-basics-lead,
    .skonto-basics-summary-card p,
    .skonto-basics-reference-card p,
    .skonto-lead,
    .skonto-summary-card p,
    .skonto-reference-card p,
    .asset-basics-lead,
    .asset-basics-summary-card p,
    .asset-basics-reference-card p,
    .asset-booking-lead,
    .asset-booking-summary-card p,
    .asset-booking-reference-card p,
    .asset-guided-lead,
    .asset-guided-help-card p,
    .asset-guided-summary-card p,
    .linear-depr-lead,
    .linear-depr-section-copy,
    .linear-depr-summary-card p,
    .linear-depr-reference-card p,
    .linear-depr-formula-card p,
    .linear-depr-help-card p,
    .asset-values-lead,
    .asset-values-summary-card p,
    .asset-values-reference-card p,
    .asset-values-logic-card p,
    .asset-disposal-lead,
    .asset-disposal-summary-card p,
    .asset-disposal-reference-card p,
    .asset-disposal-help-card p,
    .asset-method-lead,
    .asset-method-summary-card p,
    .asset-method-section-copy,
    .asset-final-lead,
    .asset-final-summary-card p,
    .asset-final-sidebar-copy
) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-stage,
    .vat-stage,
    .vat-components-stage,
    .vat-booking-stage,
    .skonto-basics-stage,
    .skonto-stage,
    .asset-basics-stage,
    .asset-booking-stage,
    .linear-depr-stage,
    .asset-values-stage,
    .asset-disposal-stage,
    .asset-method-stage,
    .asset-final-stage
) {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-topline,
    .vat-stage-topline,
    .vat-components-topline,
    .vat-booking-stage-topline,
    .skonto-basics-topline,
    .skonto-stage-topline,
    .asset-basics-topline,
    .asset-booking-topline,
    .asset-guided-topline,
    .linear-depr-topline,
    .asset-values-topline,
    .asset-disposal-topline,
    .asset-method-topline,
    .asset-final-topline
) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 9px 0 !important;
    border-top: 1px solid var(--hb-border) !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-back-link,
    .vat-back-link,
    .vat-components-back-link,
    .vat-booking-back-link,
    .skonto-basics-back-link,
    .skonto-back-link,
    .asset-basics-back-link,
    .asset-booking-back-link,
    .asset-guided-back-link,
    .linear-depr-back-link,
    .asset-values-back-link,
    .asset-disposal-back-link,
    .asset-method-back-link,
    .asset-final-back-link
) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-layout,
    .vat-booking-layout,
    .asset-guided-layout,
    .linear-depr-layout,
    .asset-disposal-layout,
    .asset-final-layout
) {
    gap: 18px !important;
}

body.hb-exercise-shell-page :is(
    .vat-components-reference-grid,
    .skonto-basics-intro-grid,
    .skonto-reference-grid,
    .asset-basics-intro-grid,
    .asset-booking-intro-grid,
    .linear-depr-intro-grid,
    .linear-depr-formula-grid,
    .asset-values-intro-grid,
    .asset-values-logic-panel,
    .asset-disposal-intro-grid,
    .asset-method-info-grid
) {
    display: grid !important;
    gap: 1px !important;
    margin: 0 0 26px !important;
    border: 1px solid var(--hb-border) !important;
    background: var(--hb-border) !important;
}

body.hb-exercise-shell-page :is(
    .vat-components-reference-grid,
    .skonto-basics-intro-grid,
    .skonto-reference-grid,
    .asset-basics-intro-grid,
    .asset-booking-intro-grid,
    .linear-depr-intro-grid,
    .linear-depr-formula-grid,
    .asset-values-intro-grid,
    .asset-values-logic-panel,
    .asset-disposal-intro-grid,
    .asset-method-info-grid
) > * {
    min-height: auto !important;
    padding: 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-help-card,
    .beginner-final-section,
    .beginner-final-accordion-head,
    .beginner-final-summary-card,
    .beginner-final-sidebar,
    .beginner-final-celebration-card,
    .vat-rule-card,
    .vat-question-card,
    .vat-summary-card,
    .vat-components-question-card,
    .vat-components-summary-card,
    .vat-booking-reference-card,
    .vat-booking-task-card,
    .vat-booking-summary-card,
    .vat-booking-sidebar,
    .skonto-basics-reference-card,
    .skonto-basics-example-card,
    .skonto-basics-summary-card,
    .skonto-reference-card,
    .skonto-question-card,
    .skonto-summary-card,
    .asset-basics-reference-card,
    .asset-basics-question-card,
    .asset-basics-summary-card,
    .asset-booking-reference-card,
    .asset-booking-question-card,
    .asset-booking-summary-card,
    .asset-guided-help-card,
    .asset-guided-sidebar,
    .asset-guided-case-card,
    .asset-guided-summary-card,
    .linear-depr-section,
    .linear-depr-reference-card,
    .linear-depr-formula-card,
    .linear-depr-question-card,
    .linear-depr-case-card,
    .linear-depr-help-card,
    .linear-depr-sidebar,
    .linear-depr-summary-card,
    .asset-values-section,
    .asset-values-reference-card,
    .asset-values-logic-card,
    .asset-values-visual-card,
    .asset-values-question-card,
    .asset-values-summary-card,
    .asset-disposal-reference-card,
    .asset-disposal-section,
    .asset-disposal-question-card,
    .asset-disposal-summary-card,
    .asset-disposal-help-card,
    .asset-disposal-sidebar,
    .asset-disposal-damage-card,
    .asset-disposal-transfer-box,
    .asset-disposal-transfer-step,
    .asset-disposal-workflow-card,
    .asset-disposal-transfer-booking-card,
    .asset-method-section,
    .asset-method-solved-example,
    .asset-method-question-card,
    .asset-method-calc-card,
    .asset-method-choice-card,
    .asset-method-summary-card,
    .asset-final-help,
    .asset-final-sidebar,
    .asset-final-summary-card,
    .asset-final-workflow-card,
    .asset-final-celebration-card
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-accordion-head,
    .linear-depr-section-head,
    .asset-values-section-head,
    .asset-disposal-section-head,
    .asset-method-section-head
) {
    padding: 20px 22px !important;
    border-bottom: 1px solid var(--hb-border) !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-section,
    .linear-depr-section,
    .asset-values-section,
    .asset-disposal-section,
    .asset-method-section
) {
    margin-bottom: 26px !important;
    overflow: hidden !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-help-card,
    .vat-rule-card,
    .vat-booking-reference-card,
    .asset-guided-help-card,
    .linear-depr-help-card,
    .asset-disposal-help-card,
    .asset-final-help,
    .asset-final-sidebar,
    .beginner-final-sidebar,
    .vat-booking-sidebar,
    .asset-guided-sidebar,
    .linear-depr-sidebar,
    .asset-disposal-sidebar
) {
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-accordion-head h2,
    .beginner-final-summary-card h2,
    .beginner-final-help-card h3,
    .vat-question-card h2,
    .vat-summary-card h2,
    .vat-components-question-card h2,
    .vat-components-summary-card h2,
    .vat-booking-task-card h2,
    .vat-booking-summary-card h2,
    .skonto-basics-example-card h2,
    .skonto-basics-summary-card h2,
    .skonto-question-card h2,
    .skonto-summary-card h2,
    .asset-basics-question-card h2,
    .asset-basics-summary-card h2,
    .asset-booking-question-card h2,
    .asset-booking-summary-card h2,
    .asset-guided-case-card h2,
    .asset-guided-summary-card h2,
    .linear-depr-section-head h2,
    .linear-depr-question-card h2,
    .linear-depr-case-card h2,
    .linear-depr-summary-card h2,
    .asset-values-section-head h2,
    .asset-values-question-card h2,
    .asset-values-summary-card h2,
    .asset-disposal-section-head h2,
    .asset-disposal-question-card h2,
    .asset-disposal-damage-card h2,
    .asset-disposal-summary-card h2,
    .asset-method-section-head h2,
    .asset-method-summary-card h2,
    .asset-final-summary-card h2
) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-card-list,
    .vat-question-list,
    .vat-components-question-list,
    .vat-booking-task-list,
    .skonto-basics-example-list,
    .skonto-question-list,
    .asset-basics-question-list,
    .asset-booking-question-list,
    .asset-guided-case-list,
    .linear-depr-card-list,
    .linear-depr-case-list,
    .asset-values-card-list,
    .asset-disposal-card-list,
    .asset-disposal-damage-list,
    .asset-method-question-list,
    .asset-method-calc-list
) {
    gap: 14px !important;
}

body.hb-exercise-shell-page :is(
    .vat-question-card,
    .vat-components-question-card,
    .vat-booking-task-card,
    .skonto-basics-example-card,
    .skonto-question-card,
    .asset-basics-question-card,
    .asset-booking-question-card,
    .asset-guided-case-card,
    .linear-depr-question-card,
    .linear-depr-case-card,
    .asset-values-question-card,
    .asset-disposal-question-card,
    .asset-disposal-damage-card,
    .asset-method-question-card,
    .asset-method-calc-card,
    .asset-method-choice-card
) {
    padding: 22px !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-primary-btn,
    .beginner-final-secondary-btn,
    .beginner-final-reset-btn,
    .beginner-final-sidebar-toggle,
    .vat-option-btn,
    .vat-reset-btn,
    .vat-components-option-btn,
    .vat-components-reset-btn,
    .vat-booking-btn,
    .vat-booking-sidebar-toggle,
    .skonto-basics-option-btn,
    .skonto-basics-reset-btn,
    .skonto-option-btn,
    .skonto-reset-btn,
    .asset-basics-option-btn,
    .asset-basics-reset-btn,
    .asset-booking-option-btn,
    .asset-booking-reset-btn,
    .asset-guided-reset-btn,
    .linear-depr-option-btn,
    .linear-depr-reset-btn,
    .asset-values-option-btn,
    .asset-values-reset-btn,
    .asset-disposal-option-btn,
    .asset-disposal-reset-btn,
    .asset-method-option-btn,
    .asset-method-reset-btn,
    #assetMethodResetBtn,
    #assetFinalResetBtn,
    .asset-final-sidebar-toggle,
    .asset-final-celebration .btn
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.45 !important;
    text-transform: uppercase !important;
    transform: none !important;
    transition: none !important;
}

body.hb-exercise-shell-page :is(
    .beginner-final-primary-btn,
    .asset-final-celebration .btn-primary
) {
    background: var(--hb-ink) !important;
    color: var(--hb-card) !important;
}

body.hb-exercise-shell-page :is(
    .vat-option-btn.is-correct,
    .vat-components-option-btn.is-correct,
    .skonto-basics-option-btn.is-correct,
    .skonto-option-btn.is-correct,
    .asset-basics-option-btn.is-correct,
    .asset-booking-option-btn.is-correct,
    .asset-values-option-btn.is-correct,
    .asset-disposal-option-btn.is-correct,
    .asset-method-option-btn.is-correct
) {
    border-color: var(--hb-forest) !important;
    background: rgba(47, 124, 82, 0.1) !important;
    color: var(--hb-forest) !important;
}

body.hb-exercise-shell-page :is(
    .vat-option-btn.is-wrong,
    .vat-components-option-btn.is-wrong,
    .skonto-basics-option-btn.is-wrong,
    .skonto-option-btn.is-wrong,
    .asset-basics-option-btn.is-wrong,
    .asset-booking-option-btn.is-wrong,
    .asset-values-option-btn.is-wrong,
    .asset-disposal-option-btn.is-wrong,
    .asset-method-option-btn.is-wrong
) {
    border-color: var(--hb-red) !important;
    background: rgba(174, 59, 45, 0.08) !important;
    color: var(--hb-red) !important;
}

body.hb-exercise-shell-page :is(
    .vat-feedback,
    .vat-components-feedback,
    .vat-booking-feedback,
    .skonto-basics-feedback,
    .skonto-feedback,
    .asset-basics-feedback,
    .asset-booking-feedback,
    .asset-guided-feedback,
    .linear-depr-feedback,
    .asset-values-feedback,
    .asset-disposal-feedback,
    .asset-method-feedback
) {
    margin-top: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

body.hb-exercise-shell-page :is(
    .vat-booking-input,
    .vat-booking-amount-input,
    .linear-depr-input,
    .asset-disposal-amount-input,
    .asset-guided-amount-input,
    .asset-method-input
) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
}

body.hb-exercise-shell-page :is(
    .vat-booking-sheet,
    .beginner-final-booking-sheet,
    .asset-guided-sheet,
    .linear-depr-booking,
    .asset-disposal-sheet,
    .asset-method-example-table
) {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.hb-exercise-shell-page :is(
    .asset-guided-dropzone,
    .asset-disposal-dropzone,
    .linear-depr-dropzone,
    .vat-booking-dropzone,
    .beginner-final-dropzone
) {
    border: 1px dashed var(--hb-ink) !important;
    border-radius: 0 !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(
    .asset-guided-drop-pill,
    .asset-disposal-drop-pill,
    .vat-booking-drop-pill,
    .beginner-final-drop-pill,
    .asset-guided-bank-item,
    .asset-disposal-bank-item
) {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--hb-mono) !important;
}

/* Uebungsweg-Zwischenmenues fuer Semester 2. */
body.hb-exercise-shell-page > main.exercise-track-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
}

body.hb-exercise-shell-page .exercise-track-hero {
    margin: 0 0 24px !important;
    padding: 0 0 28px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
}

body.hb-exercise-shell-page :is(.exercise-track-kicker, .exercise-track-status, .exercise-track-highlight-kicker, .exercise-step-number, .exercise-step-state, .exercise-next-step-kicker) {
    display: inline-block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page .exercise-track-hero h1 {
    max-width: 13ch;
    margin: 0 0 16px !important;
    padding-bottom: 18px !important;
    border-bottom: 2px solid var(--hb-ink) !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: clamp(2.2rem, 5vw, 4.15rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.05em !important;
    line-height: 0.98 !important;
}

body.hb-exercise-shell-page :is(.exercise-track-lead, .exercise-track-highlight-preview, .exercise-track-highlight-body p, .exercise-step-copy, .exercise-step-focus, .exercise-next-step-copy) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

body.hb-exercise-shell-page .exercise-track-stage {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.hb-exercise-shell-page .exercise-track-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
    padding: 9px 0 !important;
    border-top: 1px solid var(--hb-border) !important;
    border-bottom: 1px solid var(--hb-border) !important;
}

body.hb-exercise-shell-page .exercise-track-back {
    color: var(--hb-ink) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.exercise-track-highlight, .exercise-step-card, .exercise-next-step-card) {
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-card) !important;
}

body.hb-exercise-shell-page .exercise-next-step-card.is-ready {
    border-color: var(--hb-ink) !important;
    background: var(--hb-paper-light) !important;
}

body.hb-exercise-shell-page :is(.exercise-track-highlight-toggle summary, .exercise-track-highlight-body, .exercise-step-card, .exercise-next-step-card) {
    padding: 20px 22px !important;
}

body.hb-exercise-shell-page :is(.exercise-track-highlight h2, .exercise-step-title, .exercise-next-step-title) {
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

body.hb-exercise-shell-page :is(.exercise-step-btn, .exercise-next-step-btn) {
    border: 1px solid var(--hb-ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: var(--hb-ink) !important;
    color: var(--hb-card) !important;
    font-family: var(--hb-mono) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.hb-exercise-shell-page :is(.exercise-step-btn.is-muted, .exercise-next-step-btn.is-muted) {
    border-color: var(--hb-border) !important;
    background: var(--hb-paper-light) !important;
    color: var(--hb-muted) !important;
}

@media (max-width: 1720px) {
    body.hb-exercise-shell-page {
        display: block;
        padding: 0 18px;
    }

    body.hb-exercise-shell-page #navbar-container,
    body.hb-exercise-shell-page .site-footer {
        width: calc(100% + 36px);
        margin-right: -18px;
        margin-left: -18px;
    }

    body.hb-exercise-shell-page > main,
    body.hb-exercise-shell-page > .page-container:not(.beta-info-stack):not(.gamification-stack),
    body.hb-exercise-shell-page .beta-info-stack,
    body.hb-exercise-shell-page .gamification-stack {
        position: static;
        width: min(100%, 1180px);
        margin-right: auto;
        margin-left: auto;
    }

    body.hb-exercise-shell-page:has(:is(
        .t-dropzone,
        .t-account,
        .skonto-single-ledger,
        .asset-guided-sheet,
        .asset-disposal-booking,
        .linear-depr-booking,
        .hw-consumption-booking,
        .beginner-final-booking
    )) > main,
    body.hb-exercise-shell-page:has(:is(
        .t-dropzone,
        .t-account,
        .skonto-single-ledger,
        .asset-guided-sheet,
        .asset-disposal-booking,
        .linear-depr-booking,
        .hw-consumption-booking,
        .beginner-final-booking
    )) > .page-container:not(.beta-info-stack):not(.gamification-stack) {
        width: min(100%, 1300px);
    }

    body.hb-exercise-shell-page .beta-info-stack {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 22px;
    }

    body.hb-exercise-shell-page .gamification-stack {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
        align-items: start;
        margin-top: 18px;
    }
}

@media (max-width: 960px) {
    body.hb-exercise-shell-page .beta-info-stack,
    body.hb-exercise-shell-page .gamification-stack {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body.hb-exercise-shell-page {
        padding: 0 12px;
    }

    body.hb-exercise-shell-page #navbar-container,
    body.hb-exercise-shell-page .site-footer {
        width: calc(100% + 24px);
        margin-right: -12px;
        margin-left: -12px;
    }

    body.hb-exercise-shell-page > main,
    body.hb-exercise-shell-page > .page-container:not(.beta-info-stack):not(.gamification-stack) {
        margin-top: 22px;
    }
}

/* Einheitliche Profil-Bar auf allen Übungsseiten.
   Die alte rechte Profil-Hero-Logik darf die neue Navbar-Bar nicht mehr verschieben. */
body.hb-exercise-shell-page #navbar-container,
body.hb-exercise-page #navbar-container,
body.exercise-hb-page #navbar-container {
    grid-column: 1 / -1 !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 calc(50% - 50vw) !important;
    padding: 0 !important;
}

body.hb-exercise-shell-page #navbar-container > .learnapp-status-bar,
body.hb-exercise-page #navbar-container > .learnapp-status-bar,
body.exercise-hb-page #navbar-container > .learnapp-status-bar {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

body.hb-exercise-shell-page #navbar-container > .learnapp-status-bar .learnapp-status-inner,
body.hb-exercise-page #navbar-container > .learnapp-status-bar .learnapp-status-inner,
body.exercise-hb-page #navbar-container > .learnapp-status-bar .learnapp-status-inner {
    width: min(1180px, calc(100% - 32px)) !important;
    margin: 0 auto !important;
}

body.hb-exercise-shell-page > .gamification-stack,
body.hb-exercise-page > .gamification-stack,
body.exercise-hb-page > .gamification-stack {
    display: none !important;
}

/* ============================================================
   Globale Arbeitsblatt-Migration fuer bestehende Uebungen
   1.3 hat eine eigene Spezialgestaltung und wird hier ausgenommen.
============================================================ */
html:not(.exercise-category-1-page) body.hb-exercise-shell-page > main[class$="-page"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page > main[class*="-page "] {
    min-height: auto !important;
    padding: 18px 0 54px !important;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.04) 0 1px, transparent 1px 24px),
        repeating-linear-gradient(90deg, rgba(120, 110, 85, 0.04) 0 1px, transparent 1px 24px),
        var(--hb-paper) !important;
    color: var(--hb-ink) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-stage"] {
    width: min(1180px, 100%) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto) !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border: 1px solid var(--hb-ink) !important;
    background:
        linear-gradient(90deg, rgba(176, 73, 44, 0.08), transparent 42%),
        var(--hb-card) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] :is(h1, h2) {
    margin: 4px 0 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] p[class*="kicker"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-kicker"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="summary-kicker"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="section-kicker"] {
    margin: 0 0 4px !important;
    color: var(--hb-terra) !important;
    font-family: var(--hb-mono) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: 1.1px !important;
    text-transform: uppercase !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] [class*="lead"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] p:not([class*="kicker"]) {
    max-width: 78ch !important;
    margin: 5px 0 0 !important;
    color: var(--hb-ink-mid) !important;
    font-size: 0.84rem !important;
    line-height: 1.35 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] img {
    max-width: 112px !important;
    max-height: 86px !important;
    padding: 4px !important;
    border: 1px solid var(--hb-border) !important;
    background: #FFFEFA !important;
    object-fit: contain !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-stage"] {
    margin-top: 12px !important;
    padding: 14px !important;
    border: 1px solid var(--hb-ink) !important;
    background: var(--hb-card) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-topline"],
    [class*="stage-topline"]
) {
    margin-bottom: 10px !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-status-chip"],
    [class*="-section-chip"],
    [class*="-back-link"],
    [class*="-badge"],
    [class*="-pill"],
    [class*="-tag"]
) {
    min-height: 24px !important;
    border-radius: 0 !important;
    border: 1px solid var(--hb-border) !important;
    background: #FFFEFA !important;
    color: var(--hb-ink) !important;
    box-shadow: none !important;
    font-family: var(--hb-mono) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="intro-grid"],
    [class*="reference-grid"],
    [class*="formula-grid"],
    [class*="-path"],
    [class*="-workflow"],
    [class*="-guide"]
) {
    gap: 0 !important;
    margin-bottom: 12px !important;
    border: 1px solid var(--hb-border) !important;
    background: #FFFEFA !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="reference-card"],
    [class*="help-card"],
    [class*="workflow-card"],
    [class*="lesson-note-card"],
    [class*="formula-card"],
    [class*="note-card"]
) {
    padding: 8px 10px !important;
    border: 0 !important;
    border-right: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.045) 0 1px, transparent 1px 18px),
        #FFFEFA !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="reference-card"],
    [class*="help-card"],
    [class*="workflow-card"],
    [class*="lesson-note-card"],
    [class*="formula-card"],
    [class*="note-card"]
):last-child {
    border-right: 0 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"],
    [class*="-card-head"]
) {
    margin: 12px 0 8px !important;
    padding: 7px 9px !important;
    border: 1px solid #D8C8AA !important;
    border-radius: 0 !important;
    background:
        linear-gradient(90deg, rgba(176, 73, 44, 0.08), transparent 44%),
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.07) 0 1px, transparent 1px 18px),
        #FFF8E8 !important;
    box-shadow: 2px 3px 0 rgba(35, 32, 27, 0.06) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"],
    [class*="-card-head"]
) :is(h2, h3) {
    margin: 2px 0 0 !important;
    color: var(--hb-ink) !important;
    font-family: var(--hb-serif) !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"],
    [class*="-card-head"]
) p:not([class*="kicker"]),
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"],
    [class*="-card-head"]
) span:not([class*="chip"]) {
    color: var(--hb-ink-mid) !important;
    font-size: 0.78rem !important;
    line-height: 1.28 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-list"],
    [class*="question-list"],
    [class*="task-list"],
    [class*="card-list"],
    [class*="case-list"]
) {
    gap: 8px !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-card"],
    [class*="question-card"],
    [class*="task-card"],
    [class*="case-card"],
    [class*="summary-card"],
    [class*="celebration-card"]
) {
    border-radius: 0 !important;
    border-color: var(--hb-border) !important;
    background: #FFFEFA !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="question-card"],
    [class*="task-card"],
    [class*="case-card"],
    [class*="summary-card"],
    [class*="celebration-card"]
) {
    padding: 10px !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    button,
    .btn,
    a[class*="cta"],
    a[class*="back-link"]
) {
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--hb-mono) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    input,
    select,
    textarea
) {
    border-radius: 0 !important;
    border-color: var(--hb-ink) !important;
    background: #FFFEFA !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    .t-account,
    [class*="t-account"],
    [class*="ledger"],
    [class*="booking-grid"],
    [class*="booking-row"],
    [class*="booking-table"]
) {
    border-radius: 0 !important;
    border-color: var(--hb-ink) !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    .t-label,
    [class*="t-label"],
    [class*="booking-label"],
    [class*="ledger-label"]
) {
    border-radius: 0 !important;
    background: var(--hb-ink) !important;
    color: #F4F1E8 !important;
    font-family: var(--hb-mono) !important;
    font-size: 8px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="dropzone"],
    [class*="drop-zone"],
    [class*="answer-slot"]
) {
    border-radius: 0 !important;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.055) 0 1px, transparent 1px 16px),
        #FFFEFA !important;
}

body.hb-exercise-shell-page .learnapp-exercise-backnav {
    width: min(100%, 1440px);
    margin-inline: auto;
    display: flex;
    justify-content: flex-start;
}

body.hb-exercise-shell-page .learnapp-exercise-backnav-top {
    margin-bottom: 14px;
}

body.hb-exercise-shell-page .learnapp-exercise-backnav-bottom {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid var(--hb-border);
}

body.hb-exercise-shell-page .learnapp-exercise-backlink {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 9px 14px;
    border: 1px solid var(--hb-ink);
    background: #FFFEFA;
    color: var(--hb-ink);
    font-family: var(--hb-mono);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
}

body.hb-exercise-shell-page .learnapp-exercise-backlink:hover {
    background: var(--hb-ink);
    color: #F4F1E8;
}

/* Kontenklasse 0 muss überall lesbar bleiben.
   Die generischen Arbeitsblatt-Regeln greifen auch auf Klassenchips zu und
   können Anlagevermoegen sonst hell auf hell darstellen. */
body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
).class-0 {
    border-color: #242018 !important;
    background: #242018 !important;
    color: #fffaf0 !important;
}

body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
).class-0 :is(span, strong, small),
body.hb-exercise-shell-page :is(
    .sidebar-class-header,
    .business-cases-class-header,
    .hw-consumption-class-header
).class-0::after {
    color: #fffaf0 !important;
}

body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn,
    .account-chip,
    .bab-drop-chip,
    .bg-drop-chip,
    .bbs-drop-item,
    .drop-item
).class-0 {
    border-color: #8f8777 !important;
    background: #f4f1e8 !important;
    color: #242018 !important;
}

body.hb-exercise-shell-page :is(
    .subaccount,
    .business-cases-account-btn,
    .hw-consumption-account-btn,
    .account-chip,
    .bab-drop-chip,
    .bg-drop-chip,
    .bbs-drop-item,
    .drop-item
).class-0 :is(span, strong, small) {
    color: #242018 !important;
}

/* ============================================================
   3.3-Referenzmuster fuer alle Uebungen
   Vorlage: Rechnung, Lieferschein und Belegkette.
   Ziel: klare Bereichsabsetzung, ruhige Arbeitskarten,
   sichtbare Drag-and-Drop-Zonen und saubere Groessenverhaeltnisse.
============================================================ */
html:not(.exercise-category-1-page) body.hb-exercise-shell-page > main[class$="-page"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page > main[class*="-page "] {
    padding: 22px 24px 74px !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-stage"] {
    width: min(1120px, 100%) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
    gap: 28px !important;
    align-items: start !important;
    padding: 26px 30px !important;
    border: 1px solid var(--hb-ink) !important;
    background:
        linear-gradient(90deg, rgba(176, 73, 44, 0.08), transparent 44%),
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.04) 0 1px, transparent 1px 22px),
        var(--hb-card) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] :is(h1, h2) {
    font-size: clamp(1.9rem, 3.8vw, 3.15rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] [class*="lead"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"] p:not([class*="kicker"]) {
    max-width: 62ch !important;
    margin-top: 12px !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-stage"] {
    margin-top: 18px !important;
    padding: 22px !important;
    background: #FFFEFA !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-path"],
    [class*="reference-grid"],
    [class*="intro-grid"],
    [class*="formula-grid"],
    [class*="-workflow"],
    [class*="-guide"]
) {
    gap: 12px !important;
    margin-bottom: 26px !important;
    border: 0 !important;
    background: transparent !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-path"] article,
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="reference-card"],
    [class*="help-card"],
    [class*="workflow-card"],
    [class*="lesson-note-card"],
    [class*="formula-card"],
    [class*="note-card"]
) {
    padding: 18px 20px !important;
    border: 1px solid var(--hb-border) !important;
    border-radius: 0 !important;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.04) 0 1px, transparent 1px 20px),
        #FFFEFA !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-path"] article:nth-child(1),
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is([class*="reference-card"], [class*="lesson-note-card"], [class*="formula-card"]):nth-child(1) {
    border-top: 4px solid #2f5f8f !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-path"] article:nth-child(2),
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is([class*="reference-card"], [class*="lesson-note-card"], [class*="formula-card"]):nth-child(2) {
    border-top: 4px solid var(--hb-forest) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-path"] article:nth-child(3),
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is([class*="reference-card"], [class*="lesson-note-card"], [class*="formula-card"]):nth-child(3) {
    border-top: 4px solid var(--hb-terra) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="path-badge"],
    [class*="-path-badge"]
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 0 10px !important;
    border: 1px solid var(--hb-ink) !important;
    background: var(--hb-ink) !important;
    color: #fffaf0 !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main [class*="-section"],
html:not(.exercise-category-1-page) body.hb-exercise-shell-page main section[class*="section"] {
    border-radius: 0 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    section[class*="-section"],
    section[class*="question-section"],
    section[class*="task-section"]
) {
    margin-bottom: 34px !important;
    border: 1px solid var(--hb-border) !important;
    background: #FFFEFA !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"]
) {
    margin: 0 !important;
    padding: 18px 22px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    background:
        linear-gradient(90deg, rgba(176, 73, 44, 0.08), transparent 48%),
        var(--hb-paper-light) !important;
    box-shadow: none !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-section-head"],
    [class*="section-head"],
    [class*="-task-head"]
) :is(h2, h3) {
    font-size: 1.25rem !important;
    line-height: 1.22 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-card"],
    [class*="question-card"],
    [class*="task-card"],
    [class*="case-card"]
) {
    padding: 18px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--hb-border) !important;
    background: #FFFEFA !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="-card"]:last-child,
    [class*="question-card"]:last-child,
    [class*="task-card"]:last-child,
    [class*="case-card"]:last-child
) {
    border-bottom: 0 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="dropzone"],
    [class*="drop-zone"],
    [class*="answer-slot"],
    [class*="drop-zone"]
) {
    min-height: 52px !important;
    padding: 12px 14px !important;
    border: 1px dashed var(--hb-ink) !important;
    background:
        repeating-linear-gradient(0deg, rgba(120, 110, 85, 0.06) 0 1px, transparent 1px 16px),
        #FFFDF6 !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="dropzone"]:hover,
    [class*="drop-zone"]:hover,
    [class*="dropzone"].over,
    [class*="drop-zone"].is-over
) {
    background:
        repeating-linear-gradient(0deg, rgba(47, 124, 82, 0.08) 0 1px, transparent 1px 16px),
        rgba(47, 124, 82, 0.08) !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="drop-placeholder"],
    [class*="drop-tip"],
    [class*="placeholder"]
) {
    color: var(--hb-muted) !important;
    font-family: var(--hb-serif) !important;
    font-size: 0.92rem !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="layout"],
    [class*="workarea"]
) {
    gap: 22px !important;
}

html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
    [class*="sidebar"],
    [class*="account-bank"]
) {
    border-radius: 0 !important;
}

@media (max-width: 900px) {
    html:not(.exercise-category-1-page) body.hb-exercise-shell-page main > section[class*="-hero"],
    html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
        [class*="intro-grid"],
        [class*="reference-grid"],
        [class*="formula-grid"],
        [class*="-path"],
        [class*="-workflow"],
        [class*="-guide"]
    ) {
        grid-template-columns: 1fr !important;
    }

    html:not(.exercise-category-1-page) body.hb-exercise-shell-page main :is(
        [class*="reference-card"],
        [class*="help-card"],
        [class*="workflow-card"],
        [class*="lesson-note-card"],
        [class*="formula-card"],
        [class*="note-card"]
    ) {
        border-right: 0 !important;
        border-bottom: 1px solid var(--hb-border) !important;
    }
}
