/* Nachweis-Kern (Hanper GmbH) – gemeinsame Styles aller Nachweis-Demos. Nur unter .hpv2 .nw. Basis = nachweis-demo.css vom 08.10.2026, unverändert übernommen; Erweiterungen unten. */
.hpv2 .nw-section{padding-top:.5rem}
.hpv2 .nw-wrap{width:min(100% - 2rem,1240px)}
.hpv2 .nw{--ok:#34d399;--warn:#fbbf24;--bad:#f87171;--info:#60a5fa;--brand:#2563eb;--brand2:#3b82f6;
  --panel:rgba(20,24,32,.55);--line:rgba(255,255,255,.08);font-size:15px;line-height:1.5}
.hpv2 .nw *{box-sizing:border-box}
.hpv2 .nw-app{background:var(--hpv2-glass);border:1px solid var(--hpv2-glass-border);border-radius:var(--hpv2-radius-lg,22px);
  box-shadow:var(--hpv2-shadow);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);overflow:hidden}
.hpv2 .nw-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.4rem;
  padding:.85rem 1.2rem;background:rgba(20,24,32,.6);border-bottom:1px solid var(--line)}
.hpv2 .nw-title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.hpv2 .nw-title b{font-family:var(--hpv2-display);font-size:1.05rem}
.hpv2 .nw-logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;font-weight:800;font-size:.8rem;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand2))}
.hpv2 .nw-sub{color:var(--hpv2-muted);font-size:.86rem}
.hpv2 .nw-badge{display:inline-block;background:#fbbf24;color:#3b2a00;font-weight:800;letter-spacing:.08em;font-size:.64rem;
  line-height:1.5;padding:1px 8px;border-radius:999px;white-space:nowrap}
.hpv2 .nw-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.hpv2 .nw-steps button{display:flex;align-items:center;gap:.4rem;font:inherit;font-size:.82rem;color:var(--hpv2-muted);
  background:transparent;border:1px solid transparent;border-radius:999px;padding:.3rem .7rem .3rem .35rem;cursor:pointer}
.hpv2 .nw-steps button span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#cfd5df;font-weight:700;font-size:.75rem}
.hpv2 .nw-steps li.active button{color:#fff;border-color:rgba(96,165,250,.45);background:var(--hpv2-accent-soft)}
.hpv2 .nw-steps li.active button span{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.hpv2 .nw-tenant{display:flex;gap:.4rem;align-items:center;font-size:.8rem;color:var(--hpv2-muted)}
.hpv2 .nw-tenant select{font:inherit;font-size:.8rem;background:#1b1f27;color:#e8eaef;border:1px solid var(--line);border-radius:8px;padding:.2rem .4rem}
.hpv2 .nw-body{padding:1.2rem;min-height:560px}
.hpv2 .nw-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;align-items:start}
.hpv2 .nw-grid.g-31{grid-template-columns:1.6fr 1fr}
.hpv2 .nw-grid.g-13{grid-template-columns:320px 1fr}
.hpv2 .nw-box{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem 1.05rem}
.hpv2 .nw-box + .nw-box{margin-top:1rem}
.hpv2 .nw-box h3{font-size:1rem;margin:0 0 .65rem;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.hpv2 .nw-box h3 small{font-family:var(--hpv2-font);font-weight:400;color:var(--hpv2-muted);font-size:.8rem}
.hpv2 .nw-hint{color:var(--hpv2-muted);font-size:.85rem;margin:.2rem 0 .8rem}
.hpv2 .nw-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.hpv2 .nw-item{display:flex;gap:.7rem;align-items:center;justify-content:space-between;padding:.65rem .75rem;border:1px solid var(--line);
  border-radius:12px;background:rgba(255,255,255,.02);cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.hpv2 .nw-item:hover{border-color:rgba(96,165,250,.35)}
.hpv2 .nw-item.sel{border-color:rgba(96,165,250,.6);background:var(--hpv2-accent-soft)}
.hpv2 .nw-item small{display:block;color:var(--hpv2-muted);font-size:.8rem}
.hpv2 .nw-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:700;padding:.12rem .55rem;border-radius:999px;white-space:nowrap}
.hpv2 .nw-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.hpv2 .p-ok{color:var(--ok);background:rgba(52,211,153,.12)}
.hpv2 .p-warn{color:var(--warn);background:rgba(251,191,36,.12)}
.hpv2 .p-bad{color:var(--bad);background:rgba(248,113,113,.12)}
.hpv2 .p-info{color:var(--info);background:rgba(96,165,250,.12)}
.hpv2 .p-mute{color:var(--hpv2-muted);background:rgba(255,255,255,.05)}
.hpv2 .nw-table{width:100%;border-collapse:collapse;font-size:.88rem}
.hpv2 .nw-table th,.hpv2 .nw-table td{padding:.5rem .45rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.hpv2 .nw-table th{color:var(--hpv2-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.hpv2 .nw-table td.c{text-align:center}
.hpv2 .nw-btn{font:inherit;font-weight:700;font-size:.88rem;border:0;border-radius:999px;padding:.55rem 1.1rem;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand2))}
.hpv2 .nw-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.25);color:#e8eaef}
.hpv2 .nw-btn.small{font-size:.78rem;padding:.3rem .75rem}
.hpv2 .nw-btn:disabled{opacity:.45;cursor:not-allowed}
.hpv2 .nw-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.9rem}
.hpv2 .nw-seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.hpv2 .nw-seg button{font:inherit;font-size:.78rem;padding:.25rem .65rem;border:0;background:transparent;color:var(--hpv2-muted);cursor:pointer}
.hpv2 .nw-seg button.on{background:var(--hpv2-accent-soft);color:#fff}
.hpv2 .nw-seg button.on.ok{background:rgba(52,211,153,.18);color:var(--ok)}
.hpv2 .nw-seg button.on.bad{background:rgba(251,191,36,.18);color:var(--warn)}
.hpv2 .nw-photo{width:58px;height:42px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;font-size:.62rem;color:#cfd5df;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 6px,rgba(255,255,255,.02) 6px 12px);border:1px dashed rgba(255,255,255,.2)}
.hpv2 .nw-photo.has{border-style:solid;border-color:rgba(52,211,153,.5);background:linear-gradient(135deg,#3b4a5c,#24303d)}
.hpv2 .nw-kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;font-size:.88rem;margin:0}
.hpv2 .nw-kv dt{color:var(--hpv2-muted)}
.hpv2 .nw-kv dd{margin:0}
.hpv2 .nw-ex{font-size:.58rem;font-weight:800;color:#3b2a00;background:#fbbf24;border-radius:999px;padding:0 6px;margin-left:4px;letter-spacing:.06em}
.hpv2 .nw-meter{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:.4rem 0 .2rem}
.hpv2 .nw-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--warn),var(--ok));border-radius:999px;transition:width .3s}
.hpv2 .nw-doc{background:#f6f7f9;color:#1d2330;border-radius:10px;padding:1.3rem 1.4rem;font-size:.82rem;line-height:1.45;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hpv2 .nw-doc h4{font-family:var(--hpv2-display);font-size:1.05rem;margin:0 0 .2rem;color:#111}
.hpv2 .nw-doc .dh{display:flex;justify-content:space-between;gap:1rem;border-bottom:3px solid var(--brand);padding-bottom:.6rem;margin-bottom:.7rem}
.hpv2 .nw-doc .dh .lg{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff;font-weight:800;background:var(--brand)}
.hpv2 .nw-doc table{width:100%;border-collapse:collapse;margin:.5rem 0}
.hpv2 .nw-doc th,.hpv2 .nw-doc td{border-bottom:1px solid #d8dce3;padding:.28rem .3rem;text-align:left}
.hpv2 .nw-doc th{font-size:.72rem;color:#5b6474;text-transform:uppercase}
.hpv2 .nw-doc .stamp{display:inline-block;border:2px solid #16a34a;color:#16a34a;font-weight:800;padding:.15rem .6rem;border-radius:6px;transform:rotate(-3deg)}
.hpv2 .nw-doc .draft{display:inline-block;border:2px solid #b45309;color:#b45309;font-weight:800;padding:.15rem .6rem;border-radius:6px}
.hpv2 .nw-doc small{color:#5b6474}
.hpv2 .nw-doc .wm{color:#b45309;font-weight:700}
.hpv2 .nw-alert{border-left:3px solid var(--warn);background:rgba(251,191,36,.08);padding:.55rem .75rem;border-radius:8px;font-size:.86rem;margin:.6rem 0}
.hpv2 .nw-alert.ok{border-color:var(--ok);background:rgba(52,211,153,.08)}
.hpv2 .nw-alert.info{border-color:var(--info);background:rgba(96,165,250,.08)}
.hpv2 .nw-foot{color:var(--hpv2-muted);font-size:.82rem;margin:.8rem .2rem 0}
.hpv2 .nw textarea,.hpv2 .nw input[type=text],.hpv2 .nw select.f{width:100%;font:inherit;font-size:.86rem;background:#1b1f27;color:#e8eaef;border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem}
.hpv2 .nw-plan{width:100%;height:auto;border-radius:10px;background:#1b1f27;border:1px solid var(--line)}
/* Handy-Rahmen */
.hpv2 .nw-phone{width:330px;max-width:100%;margin:0 auto;border-radius:34px;border:10px solid #0d1015;background:#f4f6f9;color:#1d2330;
  box-shadow:0 18px 50px rgba(0,0,0,.45);overflow:hidden;min-height:620px;display:flex;flex-direction:column}
.hpv2 .nw-phone .ph-top{background:var(--brand);color:#fff;padding:.8rem 1rem .7rem;font-size:.8rem}
.hpv2 .nw-phone .ph-top b{display:block;font-size:1rem;font-family:var(--hpv2-display)}
.hpv2 .nw-phone .ph-body{padding:.9rem 1rem;flex:1;font-size:.86rem}
.hpv2 .nw-phone .ph-body h5{font-size:.98rem;margin:.2rem 0 .4rem;color:#111}
.hpv2 .nw-phone .lang{display:flex;gap:.3rem;margin-bottom:.6rem}
.hpv2 .nw-phone .lang button{font:inherit;font-size:.74rem;border:1px solid #c9ced8;background:#fff;border-radius:999px;padding:.15rem .55rem;cursor:pointer;color:#1d2330}
.hpv2 .nw-phone .lang button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.hpv2 .nw-phone ul{padding-left:1.1rem;margin:.3rem 0 .6rem}
.hpv2 .nw-phone .q{border:1px solid #d8dce3;border-radius:10px;padding:.5rem .6rem;margin:.45rem 0;background:#fff}
.hpv2 .nw-phone .q label{display:block;font-size:.8rem;margin:.15rem 0;cursor:pointer}
.hpv2 .nw-phone .q.ok{border-color:#16a34a}
.hpv2 .nw-phone .q.no{border-color:#dc2626}
.hpv2 .nw-phone input[type=text]{background:#fff;color:#1d2330;border:1px solid #c9ced8}
.hpv2 .nw-phone canvas{width:100%;height:90px;background:#fff;border:1px dashed #9aa3b2;border-radius:10px;touch-action:none;display:block}
.hpv2 .nw-phone .ph-btn{width:100%;margin-top:.6rem}
.hpv2 .nw-phone .tr{font-size:.7rem;color:#5b6474;background:#e8ecf3;border-radius:6px;padding:.2rem .45rem;margin-bottom:.4rem;display:inline-block}
.hpv2 .nw-qr{display:grid;grid-template-columns:repeat(21,1fr);width:168px;aspect-ratio:1;background:#fff;padding:10px;border-radius:10px;gap:0}
.hpv2 .nw-qr i{display:block;aspect-ratio:1}
.hpv2 .nw-qr i.b{background:#111}
.hpv2 .nw-aushang{display:flex;gap:1rem;align-items:center;background:#fff;color:#1d2330;border-radius:12px;padding:1rem;border-top:6px solid var(--brand)}
.hpv2 .nw-aushang b{font-family:var(--hpv2-display);font-size:1.05rem;display:block}
@media (max-width:900px){
  .hpv2 .nw-grid,.hpv2 .nw-grid.g-31,.hpv2 .nw-grid.g-13{grid-template-columns:1fr}
  .hpv2 .nw-body{padding:.8rem}
  .hpv2 .nw-table{font-size:.8rem}
}
.hpv2 .nw-seg button{white-space:nowrap}
.hpv2 .nw{max-width:100%;min-width:0}
.hpv2 .nw-app,.hpv2 .nw-body,.hpv2 .nw-grid > *{min-width:0}
.hpv2 .nw-grid.g-13{grid-template-columns:minmax(300px,380px) 1fr}
.hpv2 .nw-item > span:first-child{flex:1;min-width:0}
.hpv2 .nw-item .nw-pill{flex:0 0 auto}
.hpv2 .nw-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:900px){
  .hpv2 .nw-grid.g-13{grid-template-columns:1fr}
  .hpv2 .nw-topbar{padding:.7rem .8rem}
  .hpv2 .nw-seg{flex-direction:column;border-radius:10px}
  .hpv2 .nw-table th,.hpv2 .nw-table td{padding:.4rem .3rem}
  .hpv2 .nw-table .hide-s{display:none}
  .hpv2 .nw-phone{width:100%;border-width:6px}
}
@media (max-width:900px){ .hpv2 .nw-grid{grid-template-columns:1fr !important} }
.hpv2 .nw-grid > .nw-box + .nw-box{margin-top:0}

/* ===== Erweiterungen Nachweis-Kern v0.1 (für neue Vorlagen) ===== */
.hpv2 .nw-btn.ok{background:linear-gradient(135deg,#16a34a,#22c55e)}
.hpv2 .nw-tag{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.06em;padding:.05rem .45rem;border-radius:6px;background:rgba(255,255,255,.08);color:#cfd5df}
.hpv2 .nw-sim{display:inline-block;font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:.05rem .5rem;border-radius:999px;background:#7c3aed;color:#fff;white-space:nowrap}
.hpv2 .nw-alert.bad{border-color:var(--bad);background:rgba(248,113,113,.08)}
.hpv2 .nw-alert.sim{border-color:#a78bfa;background:rgba(167,139,250,.1)}
.hpv2 .nw-src{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;line-height:1.55;background:#f6f7f9;color:#1d2330;border-radius:10px;padding:.8rem .9rem;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}
.hpv2 .nw-src mark{background:#fde68a;color:#1d2330;border-radius:3px;padding:0 2px}
.hpv2 .nw-src mark.alt{background:#bfdbfe}
.hpv2 .nw-src mark.bad{background:#fecaca}
.hpv2 .nw-conf{display:inline-block;min-width:3.2em;text-align:right;font-variant-numeric:tabular-nums;color:var(--hpv2-muted);font-size:.78rem}
.hpv2 .nw-tl{list-style:none;margin:0;padding:0;font-size:.84rem}
.hpv2 .nw-tl li{display:flex;gap:.6rem;padding:.35rem 0;border-bottom:1px dashed var(--line)}
.hpv2 .nw-tl li time{color:var(--hpv2-muted);flex:0 0 auto;font-variant-numeric:tabular-nums}
.hpv2 .nw-sig{width:100%;height:90px;background:#fff;border:1px dashed #9aa3b2;border-radius:10px;touch-action:none;display:block}
.hpv2 .nw-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.hpv2 .nw-file{display:flex;gap:.6rem;align-items:center}
.hpv2 .nw-file .ic{flex:0 0 auto;width:34px;height:42px;border-radius:5px;background:#fff;color:#b91c1c;font-size:.6rem;font-weight:800;display:grid;place-items:center;border:1px solid #d8dce3}
.hpv2 .nw-phone .chap{border:1px solid #d8dce3;border-radius:10px;background:#fff;margin:.35rem 0;padding:.45rem .6rem}
.hpv2 .nw-phone .chap b{font-size:.84rem}
.hpv2 .nw-phone .warnbox{border-left:4px solid #dc2626;background:#fef2f2;border-radius:6px;padding:.45rem .6rem;margin:.5rem 0;font-size:.8rem}
.hpv2 .nw-phone .meta{font-size:.74rem;color:#5b6474}
.hpv2 .nw-phone .ph-btn.ghost{background:#fff;color:#1d2330;border:1px solid #c9ced8}
.hpv2 .nw-typenschild{background:linear-gradient(135deg,#d6dae1,#b9bfca);color:#1d2330;border-radius:10px;padding:.9rem;display:flex;gap:1rem;align-items:center;border:2px solid #8b93a1;font-family:ui-monospace,Menlo,monospace;font-size:.76rem}
.hpv2 .nw-typenschild .nw-qr{width:120px;padding:6px}
.hpv2 .nw-typenschild b{font-family:var(--hpv2-display);font-size:.95rem}
@media (max-width:900px){
  .hpv2 .nw-typenschild,.hpv2 .nw-aushang{flex-direction:column;align-items:flex-start}
  .hpv2 .nw-steps{width:100%}
  .hpv2 .nw-steps button{font-size:.76rem;padding:.25rem .55rem .25rem .3rem}
  .hpv2 .nw-tenant{width:100%}
  .hpv2 .nw-tenant select{flex:1;min-width:0;max-width:100%}
  .hpv2 .nw-doc{padding:1rem .9rem}
}
/* Druck/PDF: nur das gewählte Dokument */
@media print{
  body.nw-printing > *:not(.nw-print-root){display:none !important}
  body.nw-printing .nw-print-root{display:block !important}
  .nw-print-root .nw-doc{box-shadow:none;border-radius:0;background:#fff;color:#000;font-size:10pt}
}
.nw-print-root{display:none}
.nw-print-root .nw-doc{background:#fff;color:#1d2330;padding:1rem}
.nw-print-root .nw-doc table{width:100%;border-collapse:collapse}
.nw-print-root .nw-doc th,.nw-print-root .nw-doc td{border-bottom:1px solid #d8dce3;padding:.25rem .3rem;text-align:left}
