:root {
  color-scheme: light;
}
[data-theme='dark'] {
  color-scheme: dark;
}
 
body {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
} 

::selection {
  background: rgba(16, 185, 129, 0.25);
}

@keyframes levvy-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in { animation: levvy-fade-in .18s ease-out; }

.flash-notices {
  position: fixed;
  z-index: 100;
  top: 1rem;
  left: 50%;
  width: min(28rem, calc(100vw - 2rem));
  display: grid;
  gap: .65rem;
  transform: translateX(-50%);
  pointer-events: none;
}

.flash-notice {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  width: 100%;
  padding: .85rem .9rem;
  border: 1px solid;
  border-radius: .9rem;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .14), 0 3px 8px rgba(15, 23, 42, .08);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(calc(-100% - 1.5rem)) scale(.96);
  pointer-events: auto;
  transition: opacity .35s ease, transform .5s cubic-bezier(.2, .85, .25, 1.2);
}

.flash-notice.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.flash-notice.is-leaving { opacity: 0; transform: translateY(calc(-100% - 1.5rem)) scale(.96); }
.flash-notice-success { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.flash-notice-error { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.flash-notice-icon { margin-top: .1rem; flex: 0 0 auto; }
.flash-notice-message { min-width: 0; flex: 1; }
.flash-notice-close {
  flex: 0 0 auto;
  margin: -.2rem -.2rem 0 0;
  padding: .25rem;
  border: 0;
  border-radius: .45rem;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  opacity: .65;
  transition: background-color .2s ease, opacity .2s ease;
}
.flash-notice-close:hover, .flash-notice-close:focus-visible { background: rgba(15, 23, 42, .08); opacity: 1; }

[data-theme='dark'] .flash-notice-success { background: #064e3b; border-color: #047857; color: #a7f3d0; }
[data-theme='dark'] .flash-notice-error { background: #7f1d1d; border-color: #b91c1c; color: #fecaca; }

@media (prefers-reduced-motion: reduce) {
  .flash-notice { transition: opacity .2s ease; transform: none; }
  .flash-notice.is-visible { transform: none; }
  .flash-notice.is-leaving { transform: none; }
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1c9; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8e0; }

.levvy-drawer { transition: transform .28s ease-in-out; }

.admin-nav-group-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height .24s ease, opacity .18s ease;
}
.admin-nav-group-content.is-open {
  max-height: 42rem;
  opacity: 1;
}
.admin-nav-group.is-open .admin-nav-chevron { transform: rotate(180deg); }
.admin-nav-children {
  margin-left: .95rem;
  border-left: 1px solid #cbd5e1;
  padding-top: .2rem;
}
.dark .admin-nav-children { border-left-color: #334155; }
.admin-nav-child { position: relative; }
.admin-nav-child.active { background: rgba(99, 102, 241, .1); }
.admin-nav-dot.active { background: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .14); }
@media print {
  body.printing-receipt > :not(.receipt-export-target) { display: none !important; }
  body.printing-receipt > .receipt-export-target,
  body.printing-receipt > .receipt-export-target * { visibility: visible !important; }
  body.printing-receipt > .receipt-export-target {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

.folk-modal{
  margin-top: 0 !important;
}

@media (max-width: 1023px) {
  .admin-thread-list {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 40;
  }
  .admin-thread-list.is-open {
    display: block;
  }
  .admin-thread-panel {
    position: fixed;
    inset: 1rem;
    z-index: 50;
    height: calc(100vh - 2rem);
  }
}

@media (min-width: 1024px) {
  .admin-thread-list {
    display: contents;
  }
}