/* SweetDesk: Herzschlag-Logo überall (Webseite, Techniker-Ansicht, Admin) – 04.11.2026
   html.sp-puls-aus = Server antwortet nicht → Herzschlag steht still, Linie grau */
.sp-logo{display:inline-flex;flex-direction:column;align-items:stretch;gap:1px;line-height:0}
.sp-logo img{display:block;height:auto}
.sp-puls{display:block;width:100%;height:13px;overflow:visible}
.sp-puls path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:opacity .6s,stroke .6s}
.sp-puls-grund{stroke:url(#sp-puls-g);stroke-width:1.6;opacity:.75}
.sp-puls-licht{stroke:#e6fbff;stroke-width:2.2;stroke-dasharray:14 86;stroke-dashoffset:100;filter:drop-shadow(0 0 3px #22d3ee) drop-shadow(0 0 6px rgba(34,211,238,.7));animation:sp-puls 2.4s linear infinite}
@keyframes sp-puls{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
html.sp-puls-aus .sp-puls-licht{animation:none;opacity:0}
html.sp-puls-aus .sp-puls-grund{stroke:#64748b;opacity:.5}
html.sp-puls-aus .sp-logo img{filter:grayscale(.6) brightness(.85);transition:filter .6s}
.sp-logo[data-hinweis]{position:relative}
html.sp-puls-aus .sp-logo[data-hinweis]::after{content:attr(data-hinweis);position:absolute;left:0;top:calc(100% + 4px);white-space:nowrap;font:600 11px/1.2 -apple-system,"Segoe UI",Roboto,sans-serif;color:#fca5a5;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){.sp-puls-licht{animation:none;opacity:0}}
/* Techniker-Ansicht */
.bar .sp-logo.sp-logo-tech img{width:200px}
.bar .sp-logo.sp-logo-tech{flex-shrink:0;margin-right:6px}
/* Admin */
.topbar .sp-admin-marke{display:flex;align-items:center;gap:14px;margin:0}
.topbar .sp-admin-marke .sp-logo img{width:170px}
.topbar .sp-admin-chip{font:650 12px/1 -apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#cfe3ff;padding:7px 12px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),rgba(79,140,255,.18);border:1px solid rgba(186,230,253,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);-webkit-text-fill-color:#cfe3ff}
@media (max-width:600px){.bar .sp-logo.sp-logo-tech img{width:150px}.topbar .sp-admin-marke .sp-logo img{width:130px}}

/* ===== Mitternachtsblau für SweetDesk Admin (Admin-Seiten + Techniker-Ansicht), 04.11.2026 ===== */
html:has(.topbar > h1), html:has(#code-input) { --bg: #040a1c; --panel: #0a1430; --border: #1a2a52; --muted: #93a4c3; }
html:has(.topbar > h1) body { background: radial-gradient(1100px 620px at 12% -12%, rgba(37, 99, 235, .16), transparent 62%),
    radial-gradient(900px 520px at 96% 0%, rgba(34, 211, 238, .07), transparent 60%), #040a1c !important; }
html:has(.topbar > h1) .topbar { background: linear-gradient(180deg, rgba(10, 20, 50, .88), rgba(5, 11, 30, .78)) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
    border-bottom-color: rgba(59, 130, 246, .22) !important; box-shadow: 0 10px 36px rgba(0, 0, 0, .45); }
html:has(.topbar > h1) .topbar .sp-admin-marke .sp-logo img { width: 150px; }
/* Admin: Logo mit mehr Abstand nach oben, am Handy mittig */
html:has(.topbar > h1) .topbar { padding-top: 24px !important; }
@media (max-width: 860px) {
    html:has(.topbar > h1) .topbar { flex-direction: column !important; align-items: stretch !important; gap: 14px; padding-top: 28px !important; }
    html:has(.topbar > h1) .topbar > h1 { align-self: center; justify-content: center; }
}
