/* ---- home page: sidebar shell (fits the reference design, project colours) ---- */
.hshell{display:flex;align-items:stretch;min-height:100vh;margin:calc(-1*var(--pad,20px));}
.hshell .homehead{margin-top:0;}
.hsidebar{width:230px;flex:0 0 230px;background:#1b1d1b;color:#e9ece8;display:flex;flex-direction:column;padding:22px 0 16px;box-sizing:border-box;}
.hs-logo{display:flex;align-items:center;gap:10px;padding:0 20px 20px;border-bottom:1px solid #33362f;margin-bottom:10px;}
.hs-logo svg{width:48px;height:48px;flex:0 0 48px;}
.hs-t1{font-weight:700;font-size:14px;color:#fff;line-height:1.2;}
.hs-t2{font-size:10.5px;color:#9aa39a;line-height:1.3;margin-top:2px;}
.hs-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px;}
.hs-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:#cfd3cd;text-decoration:none;cursor:pointer;font-size:14px;font-weight:600;}
.hs-nav a svg{width:19px;height:19px;flex:0 0 19px;opacity:.85;}
.hs-nav a:hover{background:#26281f;color:#fff;}
.hs-nav a.active{background:var(--accent);color:#fff;}
.hs-nav a.active svg{opacity:1;}
.hs-foot{margin-top:auto;padding:14px 12px 0;border-top:1px solid #33362f;}
.hs-sub{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#cfd3cd;cursor:pointer;font-size:13.5px;font-weight:600;}
.hs-sub svg{width:18px;height:18px;flex:0 0 18px;opacity:.85;}
.hs-sub:hover{background:#26281f;color:#fff;}
.hmain{flex:1;min-width:0;padding:var(--pad,20px) var(--pad,20px) 40px;box-sizing:border-box;}
.hs-toggle{display:none;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:9px 14px;margin-bottom:14px;font-weight:600;font-size:13.5px;color:var(--ink);cursor:pointer;}
.hs-toggle svg{width:18px;height:18px;}
.hs-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:499;}
.hs-ov.show{display:block;}
@media(max-width:860px){
  .hshell{flex-direction:column;}
  .hsidebar{position:fixed;top:0;left:0;bottom:0;z-index:500;transform:translateX(-100%);transition:transform .2s;box-shadow:4px 0 18px rgba(0,0,0,.3);}
  .hsidebar.open{transform:translateX(0);}
  .hmain{padding:var(--pad,16px);}
  .hs-toggle{display:inline-flex;}
}

/* ===== Layout v3: full-width shell, full-bleed login, same look on every browser/device ===== */
html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-height:100vh;min-height:100dvh;}
#shellRoot.wrap{max-width:none;margin:0;padding:0;}
.hshell{display:flex;align-items:stretch;margin:0;min-height:100vh;min-height:100dvh;}
.hsidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;align-self:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.hmain{flex:1 1 auto;min-width:0;padding:26px 32px 140px;}
.hmain > #headHost,.hmain > #app{max-width:980px;margin-left:auto;margin-right:auto;}
#app{padding-bottom:0;}
.hs-ov{top:0;right:0;bottom:0;left:0;}
@media(min-width:861px){
  #brandbar{display:none;}
  .hs-toggle{display:none !important;}
}
@media(max-width:860px){
  .hshell{display:block;}
  .hsidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;height:100dvh;align-self:auto;width:270px;max-width:86vw;z-index:500;padding-bottom:64px;}
  .hmain{padding:14px 14px 140px;}
}
@media(max-width:400px){ .hmain{padding:12px 10px 140px;} }
/* login / welcome: covers the whole window, nothing boxed in the middle */
body.welcome-active{background:var(--accent-dark);}
body.welcome-active #shellRoot.wrap{max-width:none;margin:0;padding:0;}
body.welcome-active .hshell{display:block;min-height:0;margin:0;}
body.welcome-active .hmain{padding:0;max-width:none;}
body.welcome-active .hmain > #app{max-width:none;margin:0;}
.infolist,.rbox,.rv{max-width:none;}
@media(min-width:861px){ .hsidebar{padding-bottom:56px;} }

/* hidden off-canvas panels must not leak a shadow into the window */
.hsidebar{box-shadow:none;}
@media(max-width:860px){ .hsidebar{visibility:hidden;transition:transform .2s,visibility 0s .2s;} .hsidebar.open{visibility:visible;box-shadow:4px 0 18px rgba(0,0,0,.3);transition:transform .2s,visibility 0s;} }
#langPanel{box-shadow:none;visibility:hidden;transition:transform .25s,visibility 0s .25s;}
#langPanel.open{visibility:visible;box-shadow:-6px 0 24px rgba(0,0,0,.25);transition:transform .25s,visibility 0s;}

/* ===== Google button in the app's green ===== */
.gbtn{background:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.25);}
.gbtn:hover{background:var(--accent-dark);}
.gbtn .gi{background:#fff;}
/* ===== Content protection ===== */
html,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;}
input,textarea,select{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default;}
img,svg,canvas,video{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;}
::selection{background:transparent;}
input::selection,textarea::selection{background:rgba(90,143,52,.35);}
#pv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:none;align-items:center;justify-content:center;text-align:center;padding:24px;background:var(--accent-dark);color:#fff;}
#pv.on{display:flex;}
#pv .pvl{font-size:44px;margin-bottom:10px;} #pv .pvt{font-size:22px;font-weight:800;margin-bottom:6px;} #pv .pvs{font-size:14px;opacity:.9;}
@media print{ html,body{background:#fff !important;} body:not(.is-admin) > *{display:none !important;} body:not(.is-admin):before{content:"Drucken ist nicht erlaubt.";display:block;font:700 20px Arial,sans-serif;padding:40px;color:#000;} }

/* ===== top bar / title row ===== */
.pausebtn{background:var(--panel);border:1.5px solid var(--line);color:var(--sub);}
.pausebtn:hover{background:var(--panel);border-color:var(--accent);color:var(--accent-dark);}
.pausebtn.danger,.pausebtn.danger:hover{background:var(--red);border-color:var(--red);color:#fff;}
.titlerow{display:flex;align-items:center;gap:14px;margin:6px 0 6px;}
.titlerow .homebig{margin:0;}
.titlerow .homebtn{margin:0;flex:0 0 48px;}
/* ===== admin: no copy / selection restrictions ===== */
body.is-admin,body.is-admin *{-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-touch-callout:default;}
body.is-admin img{pointer-events:auto;}
body.is-admin ::selection{background:rgba(90,143,52,.35);}

/* ===== codes & invitations ===== */
.gstatus{font-weight:700;font-size:15px;margin:2px 0 6px;color:var(--ink);}
.gcode,.cgcode,.cgfresh .cgc{font-family:Consolas,Menlo,monospace;letter-spacing:2px;font-weight:800;}
.gcode{font-size:20px;text-align:center;}
.cgcode{font-size:18px;overflow-wrap:anywhere;}
.gdisc{background:var(--green-bg);border-color:var(--accent);} .gdt{font-size:17px;}
.cgrow{display:flex;gap:12px;flex-wrap:wrap;} .cgrow>div{flex:1 1 140px;min-width:0;}
.cgfresh{margin-top:14px;padding:14px;border-radius:12px;background:var(--green-bg);border:1px solid var(--accent);}
.cgfresh .cgc{font-size:18px;padding:3px 0;}
.ivprev{display:block;width:100%;height:780px;border:1px solid var(--line);border-radius:12px;background:#eaf0e5;}
.ivqr{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px;}
textarea#ivMsgTxt[dir=rtl],input#ivSub[dir=rtl],input#ivBtn[dir=rtl]{font-family:Tahoma,'Segoe UI',Arial,sans-serif;}
.ivadd{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;}
.ivadd .finput{flex:1 1 170px;margin:0;min-width:0;}
.ivplus{flex:0 0 54px;min-height:46px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:30px;font-weight:700;line-height:1;cursor:pointer;}
.ivplus:hover{background:var(--accent-dark);}
.ivcount{margin-top:12px;font-weight:700;font-size:14px;color:var(--ink);}
.ivto{max-height:290px;overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:8px;background:var(--bg);}
.ivrow{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);}
.ivrow:last-child{border-bottom:none;}
.ivrow .n{flex:0 1 38%;min-width:0;font-weight:700;font-size:14px;overflow-wrap:anywhere;}
.ivrow .e{flex:1 1 auto;min-width:0;font-size:14px;color:var(--sub);overflow-wrap:anywhere;}
.ivrow button{flex:0 0 32px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--red);font-size:20px;line-height:1;cursor:pointer;}
@media(max-width:560px){.ivrow{flex-wrap:wrap;gap:2px 10px;}.ivrow .n{flex:1 1 60%;}.ivrow .e{order:3;flex:1 1 100%;}}
.ivwarn{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:var(--red-bg);border:1px solid var(--red);color:var(--red);font-size:14px;line-height:1.5;}
.ivok{margin:0 0 12px;font-size:13px;color:var(--accent-dark);font-weight:700;}
.ivqr img{width:88px;height:88px;border-radius:8px;border:1px solid var(--line);background:#fff;}
.chk{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14.5px;cursor:pointer;} .chk input{width:18px;height:18px;flex:0 0 18px;}
select.finput{-webkit-appearance:menulist;appearance:auto;}
.ivlog .rv{padding:10px 14px;margin-bottom:8px;}
@media(max-width:560px){.ivprev{height:620px;}}
body.welcome-active .welcome-screen{min-height:100vh;min-height:100dvh;width:100%;padding:32px 18px 70px;}
