/* FeG Buxtehude – Verwaltung als App: Handy-Layout, Bottom-Navigation,
   Dashboard-Hinweise und Benachrichtigungs-Seite. Lädt nach den Inline-Styles von index.html. */

.mobile-only{display:none !important}
.bottom-nav{display:none}

/* Login: stay signed in */
.remember{display:flex;align-items:center;gap:10px;margin:2px 0 6px;font-size:14px;color:rgba(255,255,255,.7);cursor:pointer;min-height:40px}
.remember input{width:20px;height:20px;accent-color:var(--feg-primary)}

/* Topbar bell */
.tb-bell{position:relative;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background-color .15s}
.tb-bell:hover{background:rgba(255,255,255,.14);color:#fff}
.tb-bell.off::after{content:'';position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--feg-highlight);box-shadow:0 0 0 2px var(--surface-inverse)}

/* Dashboard callouts */
.callouts{display:flex;flex-direction:column;gap:10px;margin:-8px 0 24px}
.callouts[hidden]{display:none}
.callout{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-heading);box-shadow:var(--shadow-card)}
button.callout{cursor:pointer;transition:transform .15s var(--ease-out),box-shadow .15s}
button.callout:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}
.callout img{border-radius:10px;flex-shrink:0}
.callout .co-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-muted);color:var(--feg-ink)}
.callout .co-tx{flex:1;min-width:0}
.callout .co-tx b{display:block;font-family:var(--font-heading);font-size:15.5px;line-height:1.25}
.callout .co-tx span{display:block;font-size:13.5px;color:var(--text-body);margin-top:2px;line-height:1.4}
.callout .co-btn{flex-shrink:0;min-height:40px;padding:0 16px;border:none;border-radius:var(--radius-pill);background:var(--feg-gradient-brand);color:var(--feg-ink);font:700 13.5px var(--font-body);cursor:pointer}
.callout .co-x{flex-shrink:0;width:34px;height:34px;border:none;background:none;border-radius:8px;color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}
.callout.warm{background:var(--feg-accent);border-color:color-mix(in oklab, var(--feg-highlight) 40%, var(--feg-accent))}
.callout.warm .co-ic{background:var(--feg-highlight)}
.callout.ink{background:var(--feg-ink);border-color:var(--feg-ink);color:#fff}
.callout.ink .co-tx span{color:rgba(255,255,255,.7)}
.callout.ink .co-ic{background:rgba(0,186,212,.18);color:#8BE3EE}
.callout.ink .co-x{color:rgba(255,255,255,.6)}

/* Submissions: one-tap contact */
.contact-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.contact-actions .btn{text-decoration:none}
.sub-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}

/* Notifications page */
.nt-device{display:flex;gap:16px;align-items:flex-start}
.nt-ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface-muted);color:var(--feg-ink)}
.nt-device.ok .nt-ic{background:rgba(var(--feg-success-rgb),.12);color:var(--feg-success)}
.nt-device.warn .nt-ic{background:rgba(255,173,1,.18);color:#8A5300}
.nt-tx{flex:1;min-width:0}
.nt-tx b{display:block;font-family:var(--font-heading);font-size:18px;color:var(--text-heading)}
.nt-tx p{font-size:14px;color:var(--text-body);margin-top:4px;line-height:1.5}
.nt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nt-topic{cursor:pointer;gap:16px}
.nt-topic .s-lbl{display:flex;align-items:center;gap:8px}
.nt-topic .s-lbl .ic{color:var(--text-muted)}
.nt-hint{font-size:13.5px;color:var(--text-body);margin:-6px 0 14px;line-height:1.5}
.nt-none{font-size:14px;color:var(--text-body)}
.nt-devs{display:flex;flex-direction:column;gap:8px}
.nt-dev{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--feg-gray-50)}
.nt-dev-ic{color:var(--text-muted)}
.nt-dev-tx{flex:1;min-width:0}
.nt-dev-tx b{display:block;font-size:14px;color:var(--text-heading)}
.nt-dev-tx span{display:block;font-size:12.5px;color:var(--text-body);margin-top:2px}
.nt-this{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:rgba(0,186,212,.14);color:#0B4F5A;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:1px}

/* Event "Personen verwalten": below desktop width the side panel (QR, link,
   print, CSV) moves under the list instead of squeezing it */
@media (max-width:1024px){
  #event-manage-ov .drawer-inner{flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
  #event-manage-ov .drawer-inner>.drawer-body{flex:none;overflow:visible;border-right:none}
  #event-manage-ov .drawer-preview-panel{width:auto;overflow:visible;border-top:1px solid var(--border-subtle);padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  #event-manage-ov .em-qr{max-width:240px}
}

/* ── Phone ─────────────────────────────────────────────────────────────── */
@media (max-width:768px){
  .mobile-only{display:flex !important}
  #app{height:100vh;height:100dvh}
  .topbar{height:auto;min-height:56px;padding-top:env(safe-area-inset-top);padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}
  .topbar-title{max-width:none}
  .hamburger,#btn-logout,#tb-av{display:none !important}
  .main-wrap{min-height:0}
  .content{height:auto;flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .page{padding:16px 16px calc(88px + env(safe-area-inset-bottom))}
  .page-header h2{font-size:24px}
  .page-header p{font-size:13.5px}
  .header-actions{flex-wrap:wrap}

  /* bigger tap targets */
  .btn{min-height:44px}
  .btn-sm{min-height:40px;padding:8px 14px;font-size:13px}
  .btn-icon{min-width:40px;justify-content:center}
  .nav-item{padding:13px 16px;font-size:15px}
  .chip{min-height:36px}

  .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--surface-inverse);border-top:1px solid rgba(255,255,255,.08);padding:6px max(4px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left))}
  .bn-item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border:none;background:none;color:rgba(255,255,255,.62);font:600 11.5px var(--font-body);cursor:pointer;border-radius:12px;-webkit-tap-highlight-color:transparent}
  .bn-item[hidden]{display:none}
  .bn-item .ui-ic{width:52px;height:30px;border-radius:999px;transition:background-color .2s}
  .bn-item.active{color:#fff}
  .bn-item.active .ui-ic{background:rgba(0,186,212,.22);color:#8BE3EE}
  .bn-badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--feg-danger);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface-inverse)}
  .bn-badge[hidden]{display:none}

  .sidebar{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
  #toasts{bottom:calc(80px + env(safe-area-inset-bottom))}
  .drawer{height:92vh;height:92dvh}
  .drawer-ft{padding-bottom:calc(14px + env(safe-area-inset-bottom))}

  .callouts{margin:-4px 0 18px}
  .callout{padding:12px 14px;gap:12px}
  .callout .co-x{margin-right:-6px}

  /* Submissions: actions under the text, full width */
  .sub-row{flex-direction:column;align-items:stretch !important;padding:16px}
  .sub-actions{flex-direction:row;margin-top:12px}
  .sub-actions .btn{flex:1;justify-content:center;min-height:46px;font-size:14px}

  .nt-device{gap:12px}
  .nt-ic{width:42px;height:42px}
  .nt-actions .btn{flex:1 1 auto;justify-content:center}
  .nt-topic{flex-direction:row !important;align-items:center !important}
}
