/* 2.5.3: independent text/surface colors prevent theme color inheritance. */
/* Defaults are in tokens.css; selected profiles override them afterward. */
.nhz-kb-wrap,.nhz-kb-frontend { background:var(--nhz-kb-surface); color:var(--nhz-kb-text); color-scheme:light; }
.nhz-kb-wrap { padding:0 16px 24px; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(h1,h2,h3,h4,p,label,legend,td,th,li) { color:var(--nhz-kb-text); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(.nhz-kb-card,.form-table,.widefat,.nhz-kb-official) { background:var(--nhz-kb-surface); color:var(--nhz-kb-text); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) a { color:var(--nhz-kb-accent); text-decoration:underline; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) a:hover { color:var(--nhz-kb-accent-dark); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { background:var(--nhz-kb-surface); color:var(--nhz-kb-text); border:1px solid var(--nhz-kb-border); opacity:1; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) ::placeholder { color:var(--nhz-kb-muted); opacity:1; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(input,select,textarea):disabled { background:var(--nhz-kb-stripe); color:var(--nhz-kb-muted); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(.widefat,.nhz-kb-official) :is(td,th) { border-color:var(--nhz-kb-border); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(.widefat,.nhz-kb-official) tbody tr:nth-child(odd) { background:var(--nhz-kb-stripe); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(.widefat,.nhz-kb-official) thead th { background:var(--nhz-kb-bg); color:var(--nhz-kb-on-bg); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(.description,.nhz-kb-bestand,.nhz-kb-inline-form em) { color:var(--nhz-kb-muted); }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(button,input[type=submit],.button,.nhz-kb-btn) { background:var(--nhz-kb-accent)!important; color:var(--nhz-kb-on-accent)!important; border:1px solid var(--nhz-kb-accent)!important; text-decoration:none; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(button,input[type=submit],.button,.nhz-kb-btn):hover { background:var(--nhz-kb-accent-dark)!important; color:var(--nhz-kb-on-accent)!important; }
:is(.nhz-kb-wrap,.nhz-kb-frontend) :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--nhz-kb-accent); outline-offset:3px; box-shadow:0 0 0 2px #fff; }
:is(.nhz-kb-header,.nhz-kb-frontend-header) :is(.nhz-kb-title,.nhz-kb-eyebrow,h2,.nhz-kb-user,.nhz-kb-user a) { color:var(--nhz-kb-on-bg)!important; opacity:1; }
.nhz-kb-eyebrow { font-weight:600; }
.nhz-kb-wrap .nhz-kb-badge { background:#f1f5f9; color:#17202a; }
.nhz-kb-wrap .nhz-kb-badge--gebucht { background:#e8f5ea; color:#14532d; }
.nhz-kb-wrap .nhz-kb-badge--storno { background:#fdecec; color:#991b1b; }
.nhz-kb-wrap .nhz-kb-badge--entwurf { background:#fdf3e3; color:#704500; }
/* Twice the previous rendered logo height (60 -> 120 px). Layout reserves space. */
.nhz-kb-header { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:24px; min-height:180px; margin-left:0; width:100%; align-items:center; }
.nhz-kb-header > :not(.nhz-kb-brand-logo) { grid-column:1; }
.nhz-kb-header .nhz-kb-brand-logo { position:static; display:block; min-width:0; grid-column:2; grid-row:1 / span 3; opacity:1; padding:8px; background:#fff; border-radius:6px; }
.nhz-kb-header .nhz-kb-brand-logo img { height:120px; width:auto; max-width:100%; object-fit:contain; }
@media(max-width:1100px) { .nhz-kb-header { grid-template-columns:minmax(0,1fr); row-gap:12px; } .nhz-kb-header .nhz-kb-brand-logo { grid-column:1; grid-row:auto; justify-self:start; max-width:100%; box-sizing:border-box; } .nhz-kb-header .nhz-kb-brand-logo img { width:415px; height:auto; max-height:120px; } }
.nhz-color-preview { max-width:480px; margin:12px 0; border:1px solid var(--nhz-kb-border); border-radius:6px; overflow:hidden; background:var(--nhz-kb-surface); color:var(--nhz-kb-text); }
.nhz-preview-header { padding:14px; font-weight:700; background:var(--nhz-kb-bg); color:var(--nhz-kb-on-bg); }
.nhz-preview-body { padding:16px; }
.nhz-preview-body button { padding:8px 16px; border-radius:4px; }
.nhz-kb-wrap .nav-tab { background:var(--nhz-kb-stripe); color:var(--nhz-kb-text)!important; border-color:var(--nhz-kb-border); }
.nhz-kb-wrap .nav-tab-active { background:var(--nhz-kb-surface); color:var(--nhz-kb-accent)!important; border-bottom-color:var(--nhz-kb-surface); }
