/* ===========================================================================
   NE Verwaltung – App Styles
   Hohe Spezifität via body.nevw-app, damit Theme-CSS nicht durchschlägt.
   Konvention: alle Klassen beginnen mit nevw-
   =========================================================================== */

:root {
    --nevw-bg:           #f5f6f8;
    --nevw-bg-elev:      #ffffff;
    --nevw-bg-sidebar:   #1e1f23;
    --nevw-bg-topbar:    #ffffff;

    --nevw-border:       #e2e4e7;
    --nevw-border-strong:#c3c5c7;

    --nevw-text:         #1e1f23;
    --nevw-text-muted:   #6b7177;
    --nevw-text-invert:  #f1f2f4;

    --nevw-primary:      #2271b1;
    --nevw-primary-hover:#135e96;
    --nevw-success:      #16a34a;
    --nevw-warning:      #d97706;
    --nevw-danger:       #dc2626;
    --nevw-info:         #0ea5e9;

    --nevw-radius:       8px;
    --nevw-radius-lg:    12px;
    --nevw-shadow:       0 1px 3px rgba(0,0,0,.08);
    --nevw-shadow-lg:    0 8px 24px rgba(0,0,0,.12);

    --nevw-sidebar-width:240px;
    --nevw-topbar-h:     56px;
}

/* ---------- Theme-Reset & Base ---------- */
/* Mit body.nevw-app als Specificity-Anker + !important schlägt Theme-CSS nicht durch */
html, body.nevw-app {
    margin: 0 !important;
    padding: 0 !important;
    background: var(--nevw-bg) !important;
    color: var(--nevw-text) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    height: 100%;
}

body.nevw-app,
body.nevw-app *,
body.nevw-app *::before,
body.nevw-app *::after {
    box-sizing: border-box;
}

/* WordPress-Adminbar + Theme-Komponenten unterdrücken */
body.nevw-app #wpadminbar,
body.nevw-app header[role="banner"],
body.nevw-app footer[role="contentinfo"],
body.nevw-app .site-header,
body.nevw-app .site-footer,
body.nevw-app .site-main,
body.nevw-app .wp-site-blocks > header,
body.nevw-app .wp-site-blocks > footer { display: none !important; }

body.nevw-app.admin-bar,
html.wp-toolbar {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Theme-Wrapper neutralisieren — Theme packt seinen Content gerne in eigene Container */
body.nevw-app .wp-site-blocks,
body.nevw-app .entry-content,
body.nevw-app .site-content,
body.nevw-app .content-area,
body.nevw-app main:not(.nevw-content),
body.nevw-app #page,
body.nevw-app #content,
body.nevw-app #primary {
    all: unset !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.nevw-app a {
    color: var(--nevw-primary);
    text-decoration: none;
}
body.nevw-app a:hover { color: var(--nevw-primary-hover); }

/* Buttons sind teils <a>-Tags – höhere Spezifität als 'body.nevw-app a',
   damit die Link-Farbe die Button-Textfarbe nicht überschreibt (blau auf blau). */
body.nevw-app a.nevw-btn,
body.nevw-app .nevw-btn { color: var(--nevw-text); }
body.nevw-app a.nevw-btn--primary,
body.nevw-app .nevw-btn--primary,
body.nevw-app a.nevw-btn--danger,
body.nevw-app .nevw-btn--danger { color: #fff; }
body.nevw-app a.nevw-btn:hover { color: var(--nevw-text); }
body.nevw-app a.nevw-btn--primary:hover { color: #fff; }

body.nevw-app h1, body.nevw-app h2, body.nevw-app h3, body.nevw-app h4 {
    color: var(--nevw-text);
    margin: 0;
    font-weight: 600;
    line-height: 1.3;
}

body.nevw-app p { margin: 0; }
body.nevw-app ul, body.nevw-app ol { margin: 0; padding-left: 18px; }
body.nevw-app code { background:#f0f0f1; padding:2px 6px; border-radius:3px; font-size:12px; }

body.nevw-fullscreen { overflow-x: hidden; }

#nevw-root, body.nevw-app .nevw-root {
    min-height: 100vh;
    width: 100%;
    display: block;
}

/* ---------- Layout ---------- */
body.nevw-app .nevw-layout {
    display: grid !important;
    grid-template-columns: var(--nevw-sidebar-width) 1fr !important;
    min-height: 100vh;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.nevw-app .nevw-main {
    display: flex;
    flex-direction: column;
    min-width: 0; /* damit Tabellen scrollen können */
    background: var(--nevw-bg);
    min-height: 100vh;
}

/* Sidebar */
.nevw-sidebar {
    background: var(--nevw-bg-sidebar);
    color: var(--nevw-text-invert);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
}
.nevw-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.nevw-sidebar__logo {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.nevw-sidebar__logo .dashicons {
    color: var(--nevw-text-invert);
    font-size: 22px;
    width: 22px;
    height: 22px;
}
.nevw-sidebar__product strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
}
.nevw-sidebar__product span {
    display: block;
    font-size: 11px;
    opacity: .65;
}
.nevw-sidebar__nav {
    flex: 1;
    overflow-y: auto;
    padding: 12px 8px;
}
.nevw-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    margin: 1px 0;
    border-radius: 6px;
    color: var(--nevw-text-invert);
    text-decoration: none;
    font-size: 13px;
    opacity: .82;
    transition: background .15s, opacity .15s;
}
.nevw-nav-item:hover { background: rgba(255,255,255,.06); opacity: 1; }
.nevw-nav-item.is-active { background: rgba(255,255,255,.12); opacity: 1; font-weight: 500; }
.nevw-nav-item .dashicons { font-size: 18px; width: 18px; height: 18px; }
.nevw-beta-flag {
    margin-left: auto;
    font-size: 9px;
    text-transform: uppercase;
    background: var(--nevw-warning);
    color: #fff;
    padding: 1px 6px;
    border-radius: 3px;
    font-style: normal;
    letter-spacing: .5px;
}
.nevw-sidebar__footer {
    padding: 12px 16px;
    border-top: 1px solid rgba(255,255,255,.08);
    font-size: 11px;
    opacity: .55;
}
.nevw-sidebar__footer a {
    color: var(--nevw-text-invert);
    text-decoration: underline;
}

/* Topbar */
.nevw-topbar {
    background: var(--nevw-bg-topbar);
    border-bottom: 1px solid var(--nevw-border);
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    box-sizing: border-box;
    position: sticky;
    top: 0;
    z-index: 10;
}
.nevw-objekt-switcher {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.nevw-objekt-switcher select {
    padding: 6px 28px 6px 10px;
    border: 1px solid var(--nevw-border);
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    min-width: 220px;
    cursor: pointer;
}
.nevw-objekt-current {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.nevw-objekt-current strong { font-size: 14px; }
.nevw-objekt-current small { color: var(--nevw-text-muted); font-size: 12px; }
.nevw-topbar__user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.nevw-user-name { color: var(--nevw-text-muted); font-size: 13px; }

/* Content */
.nevw-content { padding: 24px; max-width: 1400px; width: 100%; box-sizing: border-box; }
.nevw-content h1 { font-size: 22px; margin: 0 0 6px; font-weight: 600; }
.nevw-content h2 { font-size: 18px; margin: 24px 0 12px; font-weight: 600; }
.nevw-content h3 { font-size: 15px; margin: 18px 0 8px; font-weight: 600; }
.nevw-page-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.nevw-page-header__title p { margin: 2px 0 0; color: var(--nevw-text-muted); font-size: 13px; }
.nevw-page-header__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* Cards */
.nevw-card {
    background: var(--nevw-bg-elev);
    border: 1px solid var(--nevw-border);
    border-radius: var(--nevw-radius-lg);
    padding: 20px;
    box-shadow: var(--nevw-shadow);
}
.nevw-card + .nevw-card { margin-top: 16px; }
.nevw-card h2:first-child, .nevw-card h3:first-child { margin-top: 0; }
.nevw-card__header {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-bottom: 14px;
}
.nevw-card__header h2, .nevw-card__header h3 { margin: 0; }
.nevw-grid {
    display: grid;
    gap: 16px;
}
.nevw-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nevw-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nevw-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* KPI-Kacheln */
.nevw-kpi {
    background: var(--nevw-bg-elev);
    border: 1px solid var(--nevw-border);
    border-radius: var(--nevw-radius-lg);
    padding: 16px;
    box-shadow: var(--nevw-shadow);
}
.nevw-kpi__label { font-size: 11px; text-transform: uppercase; color: var(--nevw-text-muted); letter-spacing: .5px; }
.nevw-kpi__value { font-size: 22px; font-weight: 600; margin: 4px 0 0; }
.nevw-kpi__hint  { font-size: 12px; color: var(--nevw-text-muted); margin-top: 4px; }
.nevw-kpi--success .nevw-kpi__value { color: var(--nevw-success); }
.nevw-kpi--warning .nevw-kpi__value { color: var(--nevw-warning); }
.nevw-kpi--danger  .nevw-kpi__value { color: var(--nevw-danger); }

/* Buttons */
.nevw-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 1px solid var(--nevw-border-strong);
    background: #fff;
    color: var(--nevw-text);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    line-height: 1.4;
}
.nevw-btn:hover { background: #f7f8fa; }
.nevw-btn--primary { background: var(--nevw-primary); border-color: var(--nevw-primary); color: #fff; }
.nevw-btn--primary:hover { background: var(--nevw-primary-hover); border-color: var(--nevw-primary-hover); }
.nevw-btn--ghost   { background: transparent; border-color: var(--nevw-border); }
.nevw-btn--danger  { background: var(--nevw-danger); border-color: var(--nevw-danger); color: #fff; }
.nevw-btn--danger:hover { filter: brightness(.92); }
.nevw-btn--small   { padding: 4px 10px; font-size: 12px; }
.nevw-btn--block   { width: 100%; justify-content: center; }
.nevw-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }

/* Forms */
.nevw-form label {
    display: block;
    margin-bottom: 12px;
}
.nevw-form label > span {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--nevw-text-muted);
    margin-bottom: 4px;
}
.nevw-form input[type=text],
.nevw-form input[type=email],
.nevw-form input[type=number],
.nevw-form input[type=date],
.nevw-form input[type=tel],
.nevw-form input[type=url],
.nevw-form input[type=password],
.nevw-form textarea,
.nevw-form select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid var(--nevw-border-strong);
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
    font-family: inherit;
}
.nevw-form textarea { resize: vertical; min-height: 80px; }
.nevw-form input:focus, .nevw-form textarea:focus, .nevw-form select:focus {
    outline: none;
    border-color: var(--nevw-primary);
    box-shadow: 0 0 0 2px rgba(34,113,177,.18);
}
.nevw-form .nevw-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.nevw-form .nevw-check input { margin-top: 2px; }
.nevw-form-actions {
    display: flex; gap: 8px; margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--nevw-border);
}
.nevw-form-row {
    display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nevw-form-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Tabellen */
.nevw-table-wrap { overflow-x: auto; }
.nevw-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.nevw-table th, .nevw-table td {
    text-align: left;
    padding: 9px 10px;
    border-bottom: 1px solid var(--nevw-border);
    vertical-align: middle;
}
.nevw-table th {
    background: #f7f8fa;
    font-weight: 600;
    color: var(--nevw-text-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.nevw-table tbody tr:hover { background: #f9fafb; }
.nevw-table .nevw-row-actions {
    display: flex; gap: 6px; justify-content: flex-end;
}

/* Badges */
.nevw-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    background: #eef2f6;
    color: var(--nevw-text);
}
.nevw-badge--success { background: #dcfce7; color: #14532d; }
.nevw-badge--warning { background: #fef3c7; color: #78350f; }
.nevw-badge--danger  { background: #fee2e2; color: #7f1d1d; }
.nevw-badge--info    { background: #dbeafe; color: #1e40af; }
.nevw-badge--neutral { background: #e5e7eb; color: #374151; }

/* Flash-Meldungen */
.nevw-flash {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    border-left: 4px solid;
    background: #f7f8fa;
}
.nevw-flash--success { border-color: var(--nevw-success); background: #f0fdf4; }
.nevw-flash--error   { border-color: var(--nevw-danger); background: #fef2f2; }
.nevw-flash--info    { border-color: var(--nevw-info); background: #f0f9ff; }
.nevw-flash--warning { border-color: var(--nevw-warning); background: #fffbeb; }

/* Empty-State */
.nevw-empty {
    text-align: center;
    padding: 60px 24px;
    background: var(--nevw-bg-elev);
    border-radius: var(--nevw-radius-lg);
    margin: 24px;
    border: 1px solid var(--nevw-border);
}
.nevw-empty h2 { margin: 0 0 8px; font-weight: 600; }
.nevw-empty p { color: var(--nevw-text-muted); margin: 6px 0 14px; }

/* Detail-Layout (zwei Spalten) */
.nevw-detail-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

/* Definition-List */
.nevw-dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    margin: 0;
}
.nevw-dl dt { color: var(--nevw-text-muted); font-size: 12px; }
.nevw-dl dd { margin: 0; font-size: 13px; }

/* Responsive */
@media (max-width: 980px) {
    .nevw-grid--3, .nevw-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .nevw-detail-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .nevw-layout { grid-template-columns: 1fr; }
    .nevw-sidebar { position: relative; height: auto; }
    .nevw-sidebar__nav { display: flex; overflow-x: auto; padding: 8px; }
    .nevw-nav-item { white-space: nowrap; flex-shrink: 0; }
    .nevw-grid--2, .nevw-grid--3, .nevw-grid--4 { grid-template-columns: 1fr; }
    .nevw-form-row, .nevw-form-row--3 { grid-template-columns: 1fr; }
    .nevw-content { padding: 16px; }
}

/* ---------- Datenschutz-Tooltip (Sidebar-Fußzeile) ---------- */
.nevw-ds-tip {
    position: relative;
    display: inline-block;
    margin-top: 10px;
    cursor: help;
    outline: none;
}
.nevw-ds-tip__label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    padding: 5px 10px;
    background: rgba(255,255,255,.06);
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.12);
}
.nevw-ds-tip__label .dashicons { font-size: 14px; width: 14px; height: 14px; }
body.nevw-app .nevw-ds-tip__bubble {
    position: absolute;
    left: 0;
    bottom: calc(100% + 8px);
    width: 250px;
    max-width: 70vw;
    background-color: #1f2430 !important;
    background-image: none !important;
    color: #e6e8ee !important;
    font-size: 11px;
    line-height: 1.55;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity .15s, transform .15s, visibility .15s;
    z-index: 1000;
    pointer-events: none;
    backdrop-filter: none;
}
body.nevw-app .nevw-ds-tip__bubble::after {
    content: "";
    position: absolute;
    left: 14px;
    top: 100%;
    border: 6px solid transparent;
    border-top-color: #1f2430;
}
body.nevw-app .nevw-ds-tip:hover .nevw-ds-tip__bubble,
body.nevw-app .nevw-ds-tip:focus .nevw-ds-tip__bubble,
body.nevw-app .nevw-ds-tip:focus-within .nevw-ds-tip__bubble {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ---------- Digitale Signatur (Admin-Ansicht) ---------- */
body.nevw-app .nevw-sig-share{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start;margin:6px 0 4px}
body.nevw-app .nevw-sig-share__qr{flex:0 0 auto;background:#fff;padding:10px;border:1px solid var(--nevw-border,#27314a);border-radius:12px}
body.nevw-app .nevw-sig-share__qr svg{display:block;width:160px;height:160px}
body.nevw-app .nevw-sig-share__link{flex:1 1 260px;min-width:240px}
body.nevw-app .nevw-sig-share__link label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
body.nevw-app .nevw-sig-copy{display:flex;gap:8px}
body.nevw-app .nevw-sig-copy input{flex:1;padding:9px 11px;border:1px solid var(--nevw-border,#27314a);border-radius:9px;background:rgba(255,255,255,.04);color:inherit;font-size:13px}
body.nevw-app .nevw-muted{color:var(--nevw-muted,#8b97ad);font-size:13px}
body.nevw-app .nevw-sig-proof{margin-top:8px}
body.nevw-app .nevw-sig-proof h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--nevw-muted,#8b97ad);margin:0 0 12px}
body.nevw-app .nevw-sig-proof__img{background:#fff;border:1px solid var(--nevw-border,#27314a);border-radius:10px;padding:10px;display:inline-block;margin-bottom:16px}
body.nevw-app .nevw-sig-proof__img img{display:block;max-width:340px;max-height:150px}
body.nevw-app .nevw-sig-proof__meta{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14px;margin:0}
body.nevw-app .nevw-sig-proof__meta dt{color:var(--nevw-muted,#8b97ad)}
body.nevw-app .nevw-sig-proof__meta dd{margin:0;font-weight:600}

/* ---------- Papierform-Warnung ---------- */
body.nevw-app .nevw-paper-warn{background:#3a2417;border:1px solid #8a5a2a;border-radius:12px;padding:16px 18px;margin:0 0 18px;color:#f1d4bb}
body.nevw-app .nevw-paper-warn strong{display:block;font-size:15px;margin-bottom:6px;color:#ffcf9e}
body.nevw-app .nevw-paper-warn p{margin:0 0 10px;font-size:13.5px;line-height:1.6}
body.nevw-app .nevw-paper-warn .nevw-btn{margin-top:4px}

/* ============================ Kurzzeit-Vermietung ============================ */
body.nevw-app .nevw-subnav{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--nevw-border);padding-bottom:0}
body.nevw-app .nevw-subnav a{padding:9px 14px;font-size:14px;color:var(--nevw-text-muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
body.nevw-app .nevw-subnav a:hover{color:var(--nevw-text)}
body.nevw-app .nevw-subnav a.is-active{color:var(--nevw-primary);border-bottom-color:var(--nevw-primary);font-weight:600}

body.nevw-app .nevw-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 20px}
body.nevw-app .nevw-kpi-grid .nevw-kpi{background:var(--nevw-bg-elev);border:1px solid var(--nevw-border);border-radius:var(--nevw-radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px}
body.nevw-app .nevw-kpi__val{font-size:24px;font-weight:700;line-height:1.1}
body.nevw-app .nevw-kpi__lbl{font-size:12.5px;color:var(--nevw-text-muted)}

body.nevw-app .nevw-cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
@media(max-width:780px){body.nevw-app .nevw-cols2{grid-template-columns:1fr}}

body.nevw-app .nevw-bar{height:6px;border-radius:4px;background:var(--nevw-border);overflow:hidden;margin-top:5px}
body.nevw-app .nevw-bar span{display:block;height:100%;background:var(--nevw-primary)}

body.nevw-app .nevw-filterbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}
body.nevw-app .nevw-filterbar a{padding:6px 13px;font-size:13px;border:1px solid var(--nevw-border);border-radius:999px;color:var(--nevw-text-muted);text-decoration:none}
body.nevw-app .nevw-filterbar a.is-active{background:var(--nevw-primary);border-color:var(--nevw-primary);color:var(--nevw-text-invert);font-weight:600}

body.nevw-app .nevw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:8px}
@media(max-width:640px){body.nevw-app .nevw-form-grid{grid-template-columns:1fr}}
body.nevw-app .nevw-form h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--nevw-text-muted);margin:22px 0 10px;border-top:1px solid var(--nevw-border);padding-top:16px}
body.nevw-app .nevw-form h3:first-of-type{border-top:0;padding-top:0;margin-top:4px}

body.nevw-app .nevw-btn--sm{padding:5px 11px;font-size:12.5px}

/* Belegungskalender */
body.nevw-app .nevw-cal-wrap{overflow-x:auto}
body.nevw-app .nevw-cal{border-collapse:collapse;width:100%;font-size:12px}
body.nevw-app .nevw-cal th,body.nevw-app .nevw-cal td{border:1px solid var(--nevw-border);width:26px;height:30px;text-align:center;padding:0}
body.nevw-app .nevw-cal th.nevw-cal__unit,body.nevw-app .nevw-cal td.nevw-cal__unit{width:auto;min-width:150px;text-align:left;padding:0 10px;white-space:nowrap;font-weight:600}
body.nevw-app .nevw-cal th.is-we,body.nevw-app .nevw-cal td.is-we{background:rgba(255,255,255,.04)}
body.nevw-app .nevw-cal td.is-belegt{background:var(--nevw-primary)}
