/* Basis-Reset (angelehnt an Tailwind Preflight) */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;}
h1,h2,h3,h4,h5,h6,p{margin:0;font-size:inherit;font-weight:inherit;}
button,input,select,textarea{font:inherit;color:inherit;background-color:transparent;border:0;padding:0;margin:0;}
button{cursor:pointer;text-align:inherit;appearance:none;-webkit-appearance:none;}
a{color:inherit;text-decoration:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
img,svg{display:block;vertical-align:middle;}
::placeholder{color:inherit;opacity:0.5;}

/* Utility-Klassen (statisch, exakt auf die genutzten Klassen dieser App zugeschnitten) */
.block { display:block; }
.cursor-pointer { cursor:pointer; }
.fixed { position:fixed; }
.flex { display:flex; }
.flex-1 { flex:1 1 0%; }
.flex-col { flex-direction:column; }
.flex-shrink-0 { flex-shrink:0; }
.flex-wrap { flex-wrap:wrap; }
.gap-1 { gap:0.25rem; }
.gap-1\.5 { gap:0.375rem; }
.gap-2 { gap:0.5rem; }
.gap-2\.5 { gap:0.625rem; }
.gap-3 { gap:0.75rem; }
.gap-4 { gap:1rem; }
.gap-6 { gap:1.5rem; }
.gap-x-5 { column-gap:1.25rem; }
.gap-x-6 { column-gap:1.5rem; }
.gap-y-1 { row-gap:0.25rem; }
.grid { display:grid; }
.grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.h-screen { height:100vh; }
.hidden { display:none; }
.inline-flex { display:inline-flex; }
.inset-0 { top:0px;right:0px;bottom:0px;left:0px; }
.items-center { align-items:center; }
.items-end { align-items:flex-end; }
.items-start { align-items:flex-start; }
.justify-between { justify-content:space-between; }
.justify-center { justify-content:center; }
.justify-end { justify-content:flex-end; }
.max-h-32 { max-height:8rem; }
.max-w-3xl { max-width:undefined; }
.max-w-5xl { max-width:64rem; }
.max-w-xs { max-width:20rem; }
.mb-1 { margin-bottom:0.25rem; }
.mb-10 { margin-bottom:2.5rem; }
.mb-2 { margin-bottom:0.5rem; }
.mb-3 { margin-bottom:0.75rem; }
.mb-4 { margin-bottom:1rem; }
.mb-5 { margin-bottom:1.25rem; }
.mb-6 { margin-bottom:1.5rem; }
.mb-8 { margin-bottom:2rem; }
.min-h-screen { min-height:100vh; }
.min-w-0 { min-width:0px; }
.mt-1 { margin-top:0.25rem; }
.mt-1\.5 { margin-top:0.375rem; }
.mt-2 { margin-top:0.5rem; }
.mt-3 { margin-top:0.75rem; }
.mt-4 { margin-top:1rem; }
.mt-5 { margin-top:1.25rem; }
.mt-6 { margin-top:1.5rem; }
.mt-8 { margin-top:2rem; }
.mx-4 { margin-left:1rem;margin-right:1rem; }
.mx-auto { margin-left:auto;margin-right:auto; }
.overflow-hidden { overflow:hidden; }
.overflow-x-auto { overflow-x:auto; }
.overflow-y-auto { overflow-y:auto; }
.p-0\.5 { padding:0.125rem; }
.p-1 { padding:0.25rem; }
.p-1\.5 { padding:0.375rem; }
.p-2 { padding:0.5rem; }
.p-3 { padding:0.75rem; }
.p-4 { padding:1rem; }
.p-5 { padding:1.25rem; }
.p-6 { padding:1.5rem; }
.p-8 { padding:2rem; }
.pb-3 { padding-bottom:0.75rem; }
.pb-4 { padding-bottom:1rem; }
.pb-6 { padding-bottom:1.5rem; }
.pt-4 { padding-top:1rem; }
.pt-8 { padding-top:2rem; }
.px-2 { padding-left:0.5rem;padding-right:0.5rem; }
.px-2\.5 { padding-left:0.625rem;padding-right:0.625rem; }
.px-3 { padding-left:0.75rem;padding-right:0.75rem; }
.px-3\.5 { padding-left:0.875rem;padding-right:0.875rem; }
.px-4 { padding-left:1rem;padding-right:1rem; }
.px-5 { padding-left:1.25rem;padding-right:1.25rem; }
.px-6 { padding-left:1.5rem;padding-right:1.5rem; }
.py-0\.5 { padding-top:0.125rem;padding-bottom:0.125rem; }
.py-1 { padding-top:0.25rem;padding-bottom:0.25rem; }
.py-1\.5 { padding-top:0.375rem;padding-bottom:0.375rem; }
.py-14 { padding-top:3.5rem;padding-bottom:3.5rem; }
.py-2 { padding-top:0.5rem;padding-bottom:0.5rem; }
.py-2\.5 { padding-top:0.625rem;padding-bottom:0.625rem; }
.py-3 { padding-top:0.75rem;padding-bottom:0.75rem; }
.py-5 { padding-top:1.25rem;padding-bottom:1.25rem; }
.py-6 { padding-top:1.5rem;padding-bottom:1.5rem; }
.py-8 { padding-top:2rem;padding-bottom:2rem; }
.relative { position:relative; }
.rounded { border-radius:0.25rem; }
.rounded-full { border-radius:9999px; }
.rounded-lg { border-radius:0.5rem; }
.rounded-md { border-radius:0.375rem; }
.shrink-0 { flex-shrink:0; }
.space-y-1 > * + * { margin-top: 0.25rem; }
.space-y-1\.5 > * + * { margin-top: 0.375rem; }
.space-y-2 > * + * { margin-top: 0.5rem; }
.sticky { position:sticky; }
.text-center { text-align:center; }
.text-left { text-align:left; }
.text-right { text-align:right; }
.text-sm { font-size:0.875rem;line-height:1.25rem; }
.top-0 { top:0px; }
.transition-colors { transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms; }
.truncate { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.w-full { width:100%; }
.whitespace-nowrap { white-space:nowrap; }
.z-10 { z-index:10; }

@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sm\:grid-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sm\:grid-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .sm\:grid-cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
}

@media (min-width: 768px) {
  .md\:flex { display:flex; }
  .md\:flex-col { flex-direction:column; }
  .md\:flex-row { flex-direction:row; }
  .md\:grid-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .md\:grid-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .md\:h-screen { height:100vh; }
  .md\:hidden { display:none; }
  .md\:px-10 { padding-left:2.5rem;padding-right:2.5rem; }
  .md\:py-10 { padding-top:2.5rem;padding-bottom:2.5rem; }
  .md\:shrink-0 { flex-shrink:0; }
  .md\:sticky { position:sticky; }
  .md\:top-0 { top:0px; }
  .md\:w-60 { width:15rem; }
}
