/* v3.1.0: presentation only; scoped to both frontend shortcodes. */
.nhz-kb-frontend {
    --kb-canvas:#f4f6f3; --kb-line:#dce3dd; --kb-ink:#24382c;
    --nhz-kb-font-display:system-ui,-apple-system,"Segoe UI",sans-serif;
    --nhz-kb-font-body:system-ui,-apple-system,"Segoe UI",sans-serif;
    width:100%; max-width:1180px; margin:32px auto; padding:0;
    font-family:var(--nhz-kb-font-body); font-size:15px; line-height:1.6;
    border:1px solid var(--kb-line); border-radius:24px; background:var(--kb-canvas);
    box-shadow:0 16px 60px #24382c0a; isolation:isolate;
}
.nhz-kb-frontend *, .nhz-kb-frontend *::before, .nhz-kb-frontend *::after { box-sizing:border-box; }
.nhz-kb-frontend[data-view="auto"],.nhz-kb-frontend[data-view="desktop"] { max-width:1180px; }
.nhz-kb-frontend[data-view="mobile"] { max-width:540px; }
.nhz-kb-frontend.nhz-kb-frontend-login { max-width:480px; }
.nhz-kb-frontend .nhz-kb-frontend-header {
    position:relative; padding:34px 36px 28px; margin:0; text-align:left;
    background:linear-gradient(115deg,#edf3e9 0%,#f5f3e9 65%,#f8f8f2 100%);
    border-radius:24px 24px 0 0; border-bottom:1px solid var(--kb-line); color:var(--kb-ink);
}
.nhz-kb-frontend .nhz-kb-frontend-header :is(h2,.nhz-kb-user,.nhz-kb-user a,.nhz-kb-eyebrow) { color:var(--kb-ink)!important; }
.nhz-kb-frontend .nhz-kb-frontend-header .nhz-kb-eyebrow { font-size:10px; font-weight:750; letter-spacing:.16em; margin:0 0 10px; }
.nhz-kb-frontend .nhz-kb-frontend-header h2 { font-family:var(--nhz-kb-font-body); font-weight:650; letter-spacing:-.045em; font-size:clamp(27px,4vw,38px); line-height:1.18; margin:0; }
.nhz-kb-frontend .nhz-kb-intro { margin:10px 0 18px; color:#526156; font-size:14px; }
.nhz-kb-frontend .nhz-kb-user { font-size:12px; margin-top:12px; }
.nhz-kb-frontend .nhz-kb-user a { text-underline-offset:4px; }
.nhz-kb-frontend .nhz-kb-frontend-body { padding:28px; min-width:0; }
.nhz-kb-frontend-admin .nhz-kb-frontend-body { display:grid; grid-template-columns:190px minmax(0,1fr); gap:28px; align-items:start; }
.nhz-kb-frontend .nhz-kb-admin-nav { display:flex; flex-direction:column; gap:5px; border:0; margin:0; padding:4px 0; }
.nhz-kb-frontend .nhz-kb-nav-caption { padding:0 14px 12px; color:#657267; font-size:10px; font-weight:750; letter-spacing:.13em; }
.nhz-kb-frontend .nhz-kb-admin-nav a {
    display:flex; align-items:center; min-height:44px; padding:10px 14px;
    border-radius:10px; border:1px solid transparent; background:transparent;
    color:#49594d; text-decoration:none; font-size:13px; font-weight:550;
}
.nhz-kb-frontend .nhz-kb-admin-nav a:hover { background:#e9eee8; color:#24382c; }
.nhz-kb-frontend .nhz-kb-admin-nav a.nhz-kb-active { background:var(--nhz-kb-surface); color:var(--nhz-kb-accent); border-color:var(--kb-line); box-shadow:0 2px 5px #24382c05; font-weight:750; }
.nhz-kb-frontend .nhz-kb-admin-nav a.nhz-kb-active::after { content:""; width:6px; height:6px; border-radius:50%; background:var(--nhz-kb-accent); margin-left:auto; }
.nhz-kb-frontend .nhz-kb-admin-section,.nhz-kb-frontend .nhz-kb-wrap { padding:0; margin:0; min-width:0; background:transparent; }
.nhz-kb-frontend .nhz-kb-header { background:transparent; color:var(--nhz-kb-text); display:flex; flex-wrap:wrap; gap:12px; min-height:0; padding:0; margin:0 0 22px; border:0; width:auto; }
.nhz-kb-frontend .nhz-kb-header :is(.nhz-kb-brand-logo,.nhz-kb-eyebrow) { display:none; }
.nhz-kb-frontend .nhz-kb-header .nhz-kb-title { color:var(--nhz-kb-text)!important; font-family:var(--nhz-kb-font-body); font-size:23px; font-weight:650; letter-spacing:-.035em; margin:0; }
.nhz-kb-frontend .nhz-kb-header-action { margin-left:auto; }
.nhz-kb-frontend :is(h2,h3,h4) { font-family:var(--nhz-kb-font-body); letter-spacing:-.025em; line-height:1.35; }
.nhz-kb-frontend .nhz-kb-card { background:var(--nhz-kb-surface); border:1px solid var(--kb-line); border-radius:16px; padding:24px; margin:0 0 20px; box-shadow:0 3px 10px #24382c03; }
.nhz-kb-frontend .nhz-kb-card h3 { font-size:18px; font-weight:650; margin:0 0 20px; }
.nhz-kb-frontend :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea) {
    font-family:inherit; font-size:16px; width:100%; max-width:100%; min-height:44px;
    border:1px solid #a6b3a9; border-radius:8px; padding:10px 12px; background:var(--nhz-kb-surface);
}
.nhz-kb-frontend textarea { min-height:96px; }
.nhz-kb-frontend label { font-size:12px; font-weight:650; margin:12px 0 6px; letter-spacing:0; }
.nhz-kb-frontend :is(input[type=checkbox],input[type=radio]) { width:18px; height:18px; accent-color:var(--nhz-kb-accent); vertical-align:middle; }
.nhz-kb-frontend :is(button,input[type=submit],.button,.nhz-kb-btn) { min-height:44px; width:auto; height:auto; font-family:inherit; font-size:13px; font-weight:650; line-height:1.4; padding:11px 18px; border-radius:9px; margin-top:12px; box-shadow:none; white-space:normal; }
.nhz-kb-frontend .nhz-kb-header-action .button { margin-top:0; }
.nhz-kb-frontend .nhz-kb-wrap :is(.button,.button-primary) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:9px!important; padding:11px 18px!important; }
.nhz-kb-frontend-login :is(button,input[type=submit]) { width:100%; margin-top:22px; }
.nhz-kb-frontend :is(button,input,select,textarea,a):focus-visible { outline:3px solid var(--nhz-kb-accent); outline-offset:3px; }
.nhz-kb-frontend button:disabled { cursor:not-allowed; opacity:.55; }
.nhz-kb-frontend :is(.nhz-kb-table-scroll,.nhz-kb-modern-scroll) { overflow:auto!important; max-width:100%; border:1px solid var(--kb-line); border-radius:12px; background:var(--nhz-kb-surface); margin-bottom:20px; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) { width:100%; min-width:600px!important; border-collapse:collapse; margin:0; border:0; background:var(--nhz-kb-surface); font-size:13px; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) :is(th,td) { padding:13px 14px; line-height:1.5; border:0; border-bottom:1px solid var(--kb-line); vertical-align:middle; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) thead th { background:#eaf0e9; color:#384b3c; font-weight:650; font-size:11px; white-space:nowrap; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) tbody tr:nth-child(odd) { background:#f8faf7; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) tbody tr:hover { background:#eef3eb; }
.nhz-kb-frontend :is(table.widefat,table.nhz-kb-official) a { text-decoration:none; font-weight:650; }
.nhz-kb-frontend .form-table { width:100%; border:1px solid var(--kb-line); border-radius:12px; padding:10px; background:var(--nhz-kb-surface); border-collapse:separate; border-spacing:0; }
.nhz-kb-frontend .form-table :is(td,th) { text-align:left; padding:12px 16px; vertical-align:top; }
.nhz-kb-frontend .form-table th { width:180px; font-size:13px; }
.nhz-kb-frontend .form-table label { margin:0; }
.nhz-kb-frontend .nhz-kb-bestand { padding:18px 22px; background:#eaf0e9; border:1px solid var(--kb-line); border-radius:12px; font-size:14px; line-height:1.9; }
.nhz-kb-frontend .nhz-kb-bestand strong { color:#253f2b; font-size:20px; font-variant-numeric:tabular-nums; }
.nhz-kb-frontend :is(.notice,.nhz-kb-notice) { padding:14px 18px; border-radius:10px; box-shadow:none; }
.nhz-kb-frontend .nav-tab-wrapper { display:flex; flex-wrap:wrap; gap:6px; padding:0 0 16px; border:0; }
.nhz-kb-frontend .nav-tab { margin:0; border-radius:8px; padding:9px 12px; font-size:12px; text-decoration:none; }
.nhz-kb-frontend .nhz-kb-view-toggle { display:flex; flex-wrap:wrap; gap:6px; }
.nhz-kb-frontend .nhz-kb-view-toggle button { font-size:12px; padding:8px 12px; margin:0; }
.nhz-kb-frontend .nhz-kb-view-toggle button:not(.nhz-kb-active),.nhz-kb-frontend button[name=nhz_kb_save_draft] { background:var(--nhz-kb-surface)!important; color:var(--nhz-kb-text)!important; border-color:#a6b3a9!important; }
/* Keep labels attached to their controls. JS groups only simple direct children. */
.nhz-kb-frontend .nhz-kb-card form,.nhz-kb-frontend .nhz-kb-inline-form { display:block!important; }
.nhz-kb-frontend .nhz-kb-card form.nhz-kb-fields { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.nhz-kb-frontend .nhz-kb-field { min-width:0; }
.nhz-kb-frontend .nhz-kb-field label { display:block; margin:0 0 6px!important; }
.nhz-kb-frontend .nhz-kb-field :is(input,select,textarea) { width:100%!important; }
.nhz-kb-frontend form.nhz-kb-fields > :not(.nhz-kb-field):not(input[type=hidden]) { grid-column:1/-1; }
.nhz-kb-frontend .nhz-kb-position-row { flex-wrap:wrap; }
.nhz-kb-frontend .nhz-kb-position-row :is(select,input) { flex:1 1 120px; min-width:0; }
@media(max-width:800px) {
    .nhz-kb-frontend { margin:16px auto; border-radius:16px; }
    .nhz-kb-frontend .nhz-kb-frontend-header { padding:25px 20px; border-radius:16px 16px 0 0; }
    .nhz-kb-frontend .nhz-kb-frontend-body { padding:20px 16px; }
    .nhz-kb-frontend-admin .nhz-kb-frontend-body { grid-template-columns:minmax(0,1fr); gap:24px; }
    .nhz-kb-frontend .nhz-kb-admin-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
    .nhz-kb-frontend .nhz-kb-nav-caption { grid-column:1/-1; padding:0 6px 8px; }
    .nhz-kb-frontend .nhz-kb-admin-nav a { font-size:12px; padding:9px 10px; background:#edf1eb; }
    .nhz-kb-frontend .nhz-kb-card { padding:18px; }
    .nhz-kb-frontend .form-table :is(tbody,tr,th,td) { display:block; width:100%; }
    .nhz-kb-frontend .form-table th { padding-bottom:0; }
}
@media(max-width:540px) {
    .nhz-kb-frontend .nhz-kb-card form.nhz-kb-fields { grid-template-columns:minmax(0,1fr); }
    .nhz-kb-frontend .nhz-kb-header-action { margin-left:0; }
    .nhz-kb-frontend .nhz-kb-header .nhz-kb-title { font-size:21px; }
}
.nhz-kb-frontend[data-view="mobile"] .nhz-kb-card form.nhz-kb-fields { grid-template-columns:minmax(0,1fr); }
@media print {
    .nhz-kb-frontend { box-shadow:none; border:0; max-width:none; margin:0; }
    .nhz-kb-frontend .nhz-kb-admin-nav,.nhz-kb-frontend .nhz-kb-view-toggle { display:none; }
    .nhz-kb-frontend-admin .nhz-kb-frontend-body { display:block; }
    .nhz-kb-frontend :is(.nhz-kb-modern-scroll,.nhz-kb-table-scroll) { overflow:visible!important; }
}
