/* glampr-neu · neue Gästeansicht (01.11.2026). Farben über theme.css (Mischung), Schriften Satoshi + Inter. */
.ng{--ng-coral:#E8735A;--ng-coral-soft:rgba(232,115,90,.12);--ng-r:14px;max-width:1480px;margin:0 auto;padding:16px 22px 40px}
.ng *,.ng-akte *,.ng-dlgwrap *,.ng-menu *{box-sizing:border-box}
.ng svg,.ng-akte svg,.ng-dlg svg,.ng-menu svg{width:16px;height:16px;flex:0 0 auto}
.ng-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.ng-head h1{margin:0;font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1.45rem;font-weight:700;letter-spacing:-.02em}
.ng-sp{flex:1}
.ng-stats{display:flex;gap:6px;flex-wrap:wrap}
.ng-stats button{border:1px solid var(--border);background:var(--surface,#fff);color:var(--text-muted);border-radius:999px;padding:4px 11px;font-size:.82rem;cursor:pointer}
.ng-stats button b{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}
.ng-stats button.warn{border-color:var(--ng-coral);background:var(--ng-coral-soft)}
.ng-stats button:hover{border-color:var(--text-muted)}
.ng-klass{background:none;border:0;color:var(--text-muted);font-size:.84rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.ng-klass-bar{padding:10px 22px 0}
.ng-tools{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.ng-srch{flex:1 1 320px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:0 12px;background:var(--surface,#fff);min-width:0}
.ng-srch svg{color:var(--text-muted)}
.ng-srch input{border:0;outline:0;background:none;height:38px;flex:1;min-width:0;font-size:.95rem;color:var(--text)}
.ng-srch:focus-within{border-color:var(--accent,#245244);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#245244) 18%,transparent)}
.ng-tools select{height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--text);padding:0 10px;font-size:.88rem;max-width:200px}
.ng-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:thin}
.ng-chip{flex:0 0 auto;border:1px solid var(--border);background:var(--surface,#fff);color:var(--text);border-radius:999px;padding:5px 12px;font-size:.84rem;cursor:pointer;white-space:nowrap}
.ng-chip b{font-weight:700;color:var(--text-muted);margin-left:2px;font-variant-numeric:tabular-nums}
.ng-chip.on{background:var(--accent,#245244);border-color:var(--accent,#245244);color:#fff}
.ng-chip.on b{color:rgba(255,255,255,.8)}
.ng-list{background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--ng-r);overflow:hidden}
.ng-row{display:grid;grid-template-columns:minmax(220px,2.2fr) minmax(110px,1.1fr) minmax(110px,1fr) 70px minmax(170px,1.5fr) 100px 100px;gap:10px;align-items:center;width:100%;text-align:left;border:0;border-top:1px solid var(--border);background:none;color:var(--text);padding:9px 14px;font:inherit;cursor:pointer}
.ng-row:hover{background:color-mix(in srgb,var(--accent,#245244) 5%,transparent)}
.ng-row:focus-visible{outline:2px solid var(--accent,#245244);outline-offset:-2px}
.ng-th{cursor:default;background:color-mix(in srgb,var(--text) 3%,transparent);border-top:0;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);position:sticky;top:0;z-index:1}
.ng-th:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}
.ng-row .r{text-align:right}
.ng-row small{color:var(--text-muted);font-size:.78rem}
.ng-name{display:flex;gap:10px;align-items:center;min-width:0}
.ng-name>span:last-child{min-width:0;display:flex;flex-direction:column}
.ng-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-av{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;background:color-mix(in srgb,var(--accent,#245244) 14%,transparent);color:var(--accent,#245244)}
.ng-av.vip{background:color-mix(in srgb,#C99A2E 22%,transparent);color:#8A6412}
.ng-av.ban{background:color-mix(in srgb,#B4472F 18%,transparent);color:#B4472F}
.ng-av.xl{width:56px;height:56px;flex-basis:56px;font-size:1.1rem}
.ng-bs{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.ng-b{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent)}
.ng-b svg{width:11px!important;height:11px!important}
.ng-b.vip{background:color-mix(in srgb,#C99A2E 22%,transparent);color:#7A5710}
.ng-b.stamm{background:color-mix(in srgb,var(--accent,#245244) 14%,transparent);color:var(--accent,#245244)}
.ng-b.dauer{background:color-mix(in srgb,#5B6B8A 18%,transparent)}
.ng-b.ban{background:color-mix(in srgb,#B4472F 16%,transparent);color:#A23E28}
.ng-b.hint{background:color-mix(in srgb,#E6B32E 24%,transparent);color:#7A5A00}
.ng-ort,.ng-kz{display:flex;align-items:center;gap:5px;font-size:.88rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-kz svg{color:var(--text-muted)}
.ng-n{font-variant-numeric:tabular-nums;font-weight:600;text-align:center}
.ng-st{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--text-muted)}
.ng-st b{color:var(--text)}
.ng-st i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--text) 22%,transparent);flex:0 0 8px}
.ng-st.in i{background:#2F8A5C}.ng-st.in{color:var(--text)}
.ng-st.nx i{background:var(--ng-coral)}
.ng-eur{font-variant-numeric:tabular-nums;font-weight:600}
.ng-off{display:inline-block;font-weight:700;font-variant-numeric:tabular-nums;color:#A23E28;background:var(--ng-coral-soft);border-radius:7px;padding:1px 7px}
.ng-more{padding:12px;text-align:center;border-top:1px solid var(--border)}
.ng-hint{padding:8px 14px 12px;font-size:.8rem;color:var(--text-muted);text-align:center}
.ng-empty{padding:28px 18px;text-align:center;color:var(--text-muted)}
.ng-empty .btn{margin-left:8px}
/* Gastakte (Vollbild-Ebene mit fester Leiste) */
body.ng-open{overflow:hidden}
.ng-akte{position:fixed;inset:0;z-index:2400;background:var(--bg,#F1F5F9);display:flex;flex-direction:column}
.ng-abar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface,#fff);border-bottom:1px solid var(--border);flex:0 0 auto;flex-wrap:wrap}
.ng-at{font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1.05rem;margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}
.ng-at small{color:var(--text-muted);font-weight:500;font-size:.82rem}
.ng-abar .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.ng-abar .btn.pri{background:var(--ng-coral,#E8735A);border-color:var(--ng-coral,#E8735A);color:#1C1917}
.ng-abody{flex:1;overflow:auto;padding:16px 18px 40px;-webkit-overflow-scrolling:touch}
.ng-agrid{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:16px;max-width:1440px;margin:0 auto}
.ng-acol{display:flex;flex-direction:column;gap:14px;min-width:0}
.ng-card,.ng-sec{background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--ng-r,14px);padding:14px 16px;min-width:0}
.ng-ktop{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.ng-ktop h2{margin:0;font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:-.015em;line-height:1.2}
.ng-sub{color:var(--text-muted);font-size:.84rem;margin-top:2px}
.ng-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:10px 0 12px;font-size:.9rem}
.ng-dl dt{display:flex;align-items:center;gap:6px;color:var(--text-muted)}
.ng-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ng-dl a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}
.ng-dl small,.ng-note{color:var(--text-muted)}
.ng-note{font-size:.88rem;line-height:1.5;margin:4px 0 8px}
.ng-edit{display:inline-flex;align-items:center;gap:6px}
.ng-warn,.ng-hintbox{display:flex;gap:8px;align-items:flex-start;border-radius:10px;padding:8px 10px;font-size:.86rem;margin-bottom:6px}
.ng-warn{background:color-mix(in srgb,#B4472F 12%,transparent);color:#8E3420}
.ng-hintbox{background:color-mix(in srgb,#E6B32E 18%,transparent)}
.ng-kz4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ng-kz4>*{background:var(--surface,#fff);border:1px solid var(--border);border-radius:12px;padding:10px 12px;text-align:left;color:var(--text);font:inherit;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0}
.ng-kz4>div{cursor:default}
.ng-kz4 b{font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1.2rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ng-kz4 span{font-size:.78rem;color:var(--text-muted)}
.ng-kz4 .warn{border-color:var(--ng-coral,#E8735A);background:var(--ng-coral-soft,rgba(232,115,90,.12))}
.ng-kz4.sm{margin-bottom:6px}.ng-kz4.sm>*{background:color-mix(in srgb,var(--text) 3%,transparent);border-color:transparent}
.ng-sh{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ng-sh h3{margin:0;display:flex;align-items:center;gap:7px;font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1rem;font-weight:700}
.ng-sh h3 small{color:var(--text-muted);font-weight:600}
.ng-gt{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:12px 0 4px;display:flex;align-items:center;gap:6px}
.ng-gt small{font-weight:600}
.ng-bk,.ng-li{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--border);color:var(--text);padding:9px 2px;font:inherit;cursor:pointer;min-width:0}
div.ng-li{cursor:default}
.ng-bk:first-of-type,.ng-li:first-of-type{border-top:0}
.ng-bk:hover,button.ng-li:hover{background:color-mix(in srgb,var(--accent,#245244) 5%,transparent)}
.ng-bk>span:nth-child(2),.ng-li>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.ng-bk small,.ng-li small{color:var(--text-muted);font-size:.78rem}
.ng-bk .r,.ng-li .r{text-align:right;display:flex;flex-direction:column;font-variant-numeric:tabular-nums;white-space:nowrap}
.ng-bk small.ok{color:#2F8A5C;font-weight:600}.ng-bk small.op{color:#A23E28;font-weight:600}
.ng-bku{min-width:58px;font-weight:700;font-size:.86rem;background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:8px;padding:5px 8px;text-align:center}
.ng-bk.checked_in .ng-bku{background:color-mix(in srgb,#2F8A5C 16%,transparent);color:#1F6B44}
.ng-bk.cancelled{opacity:.6}
.ng-li em{font-style:normal;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;margin-left:6px;background:var(--ng-coral-soft,rgba(232,115,90,.12));color:#A23E28}
.ng-li em.ok{background:color-mix(in srgb,#2F8A5C 14%,transparent);color:#1F6B44}
.ng-li.bad>svg{color:#B4472F}
.ng-li.sm{padding:6px 2px}
.ng-mb{font-size:.84rem;color:var(--text-muted);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ng-dup{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding:8px 0;flex-wrap:wrap}
.ng-dup>span{flex:1;min-width:160px;display:flex;flex-direction:column}
.ng-dup small{color:var(--text-muted)}
.ng-dup .btn{display:inline-flex;align-items:center;gap:5px}
.ng-nform{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.ng-nform textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font:inherit;background:var(--surface,#fff);color:var(--text);resize:vertical}
.ng-nform label{font-size:.84rem;color:var(--text-muted);display:flex;gap:6px;align-items:center}
.ng-nform .btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}
.ng-tabs{display:flex;gap:4px;overflow-x:auto;margin:-4px -2px 12px;padding:2px}
.ng-tabs button{flex:0 0 auto;border:1px solid var(--border);background:var(--surface,#fff);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.86rem;cursor:pointer}
.ng-tabs button.on{background:var(--accent,#245244);border-color:var(--accent,#245244);color:#fff}
/* Dialoge und Menü */
.ng-dlgwrap{position:fixed;inset:0;z-index:2600;background:rgba(10,20,16,.42);display:grid;place-items:center;padding:16px}
.ng-dlg{background:var(--surface,#fff);color:var(--text);border-radius:16px;width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:14px 18px 18px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.ng-dlg.wide{width:min(680px,100%)}
.ng-dh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ng-dh h3{margin:0;font-family:var(--f-head,'Satoshi'),system-ui,sans-serif;font-size:1.08rem}
.ng-dh .btn{display:inline-flex;align-items:center;gap:5px}
.ng-form{display:flex;flex-direction:column;gap:10px}
.ng-form label{display:flex;flex-direction:column;gap:4px;font-size:.84rem;color:var(--text-muted);min-width:0}
.ng-form input,.ng-form select{height:38px;border:1px solid var(--border);border-radius:9px;padding:0 10px;font:inherit;font-size:.92rem;background:var(--surface,#fff);color:var(--text);width:100%}
.ng-f2{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.ng-form label.ng-chk{flex-direction:row;align-items:center;gap:8px;color:var(--text)}
.ng-form label.ng-chk input{width:auto;height:auto}
.ng-dacts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}
.ng-dacts .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.ng-dacts .btn.pri{background:var(--accent,#245244);border-color:var(--accent,#245244);color:#fff}
.ng-dacts .btn.danger{background:#B4472F;border-color:#B4472F;color:#fff}
.ng-merge{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:8px}
.ng-mc{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.ng-mc small{color:var(--text-muted);overflow-wrap:anywhere}
.ng-arr{color:var(--text-muted)}
.ng-menu{position:fixed;z-index:2700;background:var(--surface,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column;min-width:230px}
.ng-menu button{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--text);padding:9px 10px;border-radius:8px;font:inherit;font-size:.9rem;cursor:pointer;text-align:left}
.ng-menu button:hover{background:color-mix(in srgb,var(--accent,#245244) 8%,transparent)}
/* Tablet */
@media (max-width:1180px){
  .ng-row{grid-template-columns:minmax(200px,2fr) minmax(100px,1fr) 60px minmax(150px,1.4fr) 90px;}
  .ng-row>:nth-child(3),.ng-row>:nth-child(7){display:none}
  .ng-agrid{grid-template-columns:minmax(0,1fr)}
}
/* Handy: Karten statt Tabelle */
@media (max-width:759px){
  .ng{padding:12px 12px 32px}
  .ng-head h1{font-size:1.3rem}
  .ng-new span{display:none}
  .ng-tools select{flex:1 1 140px;max-width:none}
  .ng-list{background:none;border:0;display:flex;flex-direction:column;gap:8px}
  .ng-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"n n" "s e" "k o";gap:6px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);padding:10px 12px}
  .ng-row>:nth-child(1){grid-area:n}.ng-row>:nth-child(2){display:none}.ng-row>:nth-child(3){grid-area:k;display:flex}.ng-row>:nth-child(4){display:none}
  .ng-row>:nth-child(5){grid-area:s}.ng-row>:nth-child(6){grid-area:e}.ng-row>:nth-child(7){grid-area:o;display:block}
  .ng-abar{padding:8px 10px}.ng-abar .btn span{display:none}.ng-abar .btn.pri span{display:inline}
  .ng-at{max-width:46vw}
  .ng-abody{padding:12px 10px 32px}
  .ng-kz4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ng-acol,.ng-abody>.ng-card,.ng-abody>.ng-sec{margin-bottom:12px}
  .ng-abody>.ng-kz4{margin:12px 0}
  .ng-merge{grid-template-columns:1fr}.ng-arr{display:none}
  .ng-f2{grid-template-columns:1fr 1fr}
}
