/* ServisLog theme polish */
:root { color-scheme: light; }
:root.dark { color-scheme: dark; }

:root.dark body { background: #020617; color: #f8fafc; }
:root.dark .bg-card,
:root.dark .bg-white { background-color: #0f172a !important; }
:root.dark .bg-slate-50 { background-color: #020617 !important; }
:root.dark .border { border-color: #1e293b !important; }
:root.dark .text-muted-foreground,
:root.dark .text-slate-500,
:root.dark .text-slate-600 { color: #cbd5e1 !important; }
:root.dark input,
:root.dark select,
:root.dark textarea { background-color: #020617 !important; color: #f8fafc !important; border-color: #334155 !important; }
:root.dark input::placeholder,
:root.dark textarea::placeholder { color: #64748b !important; }
:root.dark button:not(.bg-blue-600) { color: #f8fafc; }
:root.dark .shadow-sm,
:root.dark .shadow-lg { box-shadow: 0 1px 2px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.02); }

/* Floating theme button */
.theme-toggle {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 60;
  display: inline-flex;
  height: 42px;
  width: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: rgba(255,255,255,.9);
  color: #0f172a;
  box-shadow: 0 8px 24px rgba(15,23,42,.12);
  backdrop-filter: blur(10px);
}
:root.dark .theme-toggle { border-color: #334155; background: rgba(15,23,42,.9); color: #f8fafc; }

.install-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  width: min(330px, calc(100vw - 36px));
  border: 1px solid #bfdbfe;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  color: #0f172a;
  box-shadow: 0 18px 50px rgba(15,23,42,.22);
  backdrop-filter: blur(14px);
  overflow: hidden;
}
:root.dark .install-fab { border-color: #1e3a8a; background: rgba(15,23,42,.96); color: #f8fafc; }
.install-fab.hidden { display: none; }
.install-fab-content { display:flex; gap:12px; align-items:center; padding:14px; }
.install-fab-icon { display:flex; width:42px; height:42px; flex:0 0 auto; align-items:center; justify-content:center; border-radius:14px; background:#2563eb; color:white; font-size:20px; }
.install-fab-title { font-size:14px; font-weight:700; line-height:1.2; }
.install-fab-subtitle { margin-top:3px; font-size:12px; color:#64748b; }
:root.dark .install-fab-subtitle { color:#cbd5e1; }
.install-fab-actions { display:flex; gap:8px; padding:0 14px 14px 68px; }
.install-fab-main { border-radius:10px; background:#2563eb; color:#fff; padding:8px 12px; font-size:13px; font-weight:700; }
.install-fab-main:hover { background:#1d4ed8; }
.install-fab-close { position:absolute; top:8px; right:8px; width:28px; height:28px; border-radius:999px; color:#64748b; }
.install-fab-close:hover { background:#f1f5f9; color:#0f172a; }
:root.dark .install-fab-close:hover { background:#1e293b; color:#f8fafc; }

@media (max-width: 640px) {
  .theme-toggle { top: 10px; right: 10px; }
  .install-fab { right: 12px; bottom: 12px; width: calc(100vw - 24px); }
}
