/* EcomStock — brand layer on top of Preline Pro (Tailwind v4 compiled build). */
:root {
  --brand: #2563eb;
  --brand-dark: #1d4ed8;
  --brand-soft: #eff6ff;
  --brand-ring: rgba(37, 99, 235, .25);
  --admin: #f59e0b;
  --admin-soft: #2a2112;
  --ink: #1f2937;
}

body { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; }

/* Brand utilities (not in the compiled Preline CSS). */
.bg-brand { background-color: var(--brand); }
.bg-brand-soft { background-color: var(--brand-soft); }
.text-brand { color: var(--brand); }
.border-brand { border-color: var(--brand); }
.hover\:text-brand:hover { color: var(--brand); }

.btn-brand {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .5rem .875rem; font-size: .875rem; font-weight: 500; line-height: 1.25rem;
  border-radius: .5rem; border: 1px solid transparent;
  background: var(--brand); color: #fff; text-decoration: none; cursor: pointer;
  transition: background-color .15s; white-space: nowrap;
}
.btn-brand:hover { background: var(--brand-dark); color: #fff; }
.btn-brand:focus-visible { box-shadow: 0 0 0 3px var(--brand-ring); outline: none; }
.btn-brand[disabled], .btn-brand.disabled { background: #e5e7eb; color: #6b7280; cursor: not-allowed; }
.btn-light {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .5rem .875rem; font-size: .875rem; font-weight: 500; line-height: 1.25rem;
  border-radius: .5rem; border: 1px solid #e5e7eb; background: #fff; color: #1f2937;
  box-shadow: 0 1px 2px rgba(0,0,0,.04); text-decoration: none; cursor: pointer;
  transition: background-color .15s; white-space: nowrap;
}
.btn-light:hover { background: #f9fafb; color: #1f2937; }
.btn-light:focus-visible { box-shadow: 0 0 0 3px var(--brand-ring); outline: none; }
.btn-danger { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .5rem .875rem; font-size: .875rem; font-weight: 500; line-height: 1.25rem; border-radius: .5rem; border: 1px solid #fecdca; background: #fff; color: #b42318; cursor: pointer; text-decoration: none; white-space: nowrap; }
.btn-danger:hover { background: #fef3f2; color: #b42318; }
.btn-sm { padding: .3125rem .625rem; font-size: .8125rem; }
/* app.css loads after Preline, so restore `hidden` / responsive display utilities on buttons. */
.btn-brand.hidden, .btn-light.hidden, .btn-danger.hidden, .btn-admin.hidden,
.es-badge.hidden, .es-tabs.hidden, .es-chip.hidden, .es-input.hidden, .es-step.hidden { display: none; }
@media (min-width: 40rem) { .es-tabs.sm\:hidden, .es-badge.sm\:hidden { display: none; } .es-badge.sm\:inline-flex { display: inline-flex; } .es-tabs.sm\:flex { display: flex; } }
@media (min-width: 48rem) { .es-tabs.md\:hidden, .es-badge.md\:hidden { display: none; } .es-badge.md\:inline-flex { display: inline-flex; } .es-tabs.md\:flex { display: flex; } }
@media (min-width: 64rem) { .es-tabs.lg\:hidden, .es-badge.lg\:hidden { display: none; } .es-badge.lg\:inline-flex { display: inline-flex; } .es-tabs.lg\:flex { display: flex; } }
@media (min-width: 40rem) { .btn-brand.sm\:inline-flex, .btn-light.sm\:inline-flex, .btn-danger.sm\:inline-flex, .btn-admin.sm\:inline-flex { display: inline-flex; } }
@media (min-width: 48rem) { .btn-brand.md\:inline-flex, .btn-light.md\:inline-flex, .btn-danger.md\:inline-flex, .btn-admin.md\:inline-flex { display: inline-flex; } }
@media (min-width: 64rem) { .btn-brand.lg\:inline-flex, .btn-light.lg\:inline-flex, .btn-danger.lg\:inline-flex, .btn-admin.lg\:inline-flex { display: inline-flex; } }
.btn-admin { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .5rem .875rem; font-size: .875rem; font-weight: 600; line-height: 1.25rem; border-radius: .5rem; border: 1px solid transparent; background: var(--admin); color: #171717; text-decoration: none; cursor: pointer; white-space: nowrap; }
.btn-admin:hover { background: #fbbf24; color: #171717; }

.es-input {
  display: block; padding: .5625rem .75rem; font-size: .875rem; line-height: 1.25rem;
  border: 1px solid #e5e7eb; border-radius: .5rem; background: #fff; color: #1f2937;
}
.es-input:not(.w-auto) { width: 100%; }
.es-input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-ring); outline: none; }
.es-input.is-invalid { border-color: #f04438; }
.es-input.ps-10 { padding-inline-start: 2.5rem; }
textarea.es-input { min-height: 5rem; resize: vertical; }
.es-label { display: block; margin-bottom: .375rem; font-size: .8125rem; font-weight: 500; color: #374151; }
.es-hint { margin-top: .25rem; font-size: .75rem; color: #6b7280; }

/* Cards and KPI tiles. */
.es-card { background: #fff; border: 1px solid #e5e7eb; border-radius: .75rem; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
.es-card-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem; border-bottom: 1px solid #e5e7eb; }
.es-card-h h2 { font-size: 1rem; font-weight: 600; color: #1f2937; }
.es-kpi { padding: 1rem; }
.es-kpi .k { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7280; }
.es-kpi .v { margin-top: .25rem; font-size: 1.375rem; font-weight: 600; color: #111827; font-variant-numeric: tabular-nums; }
.es-kpi .s { margin-top: .125rem; font-size: .8125rem; color: #6b7280; }

/* Sidebar navigation. */
.es-nav-link {
  display: flex; align-items: center; gap: .75rem; padding: .5rem .75rem; border-radius: .5rem;
  font-size: .875rem; color: #1f2937; text-decoration: none;
}
.es-nav-link:hover { background: #f3f4f6; }
.es-nav-link.active { background: var(--brand-soft); color: var(--brand-dark); font-weight: 600; }
.es-nav-link svg { flex-shrink: 0; width: 1rem; height: 1rem; }
.es-nav-link .cnt { margin-inline-start: auto; min-width: 1.25rem; padding: 0 .375rem; border-radius: 9999px; background: var(--brand); color: #fff; font-size: .6875rem; font-weight: 600; text-align: center; line-height: 1.125rem; }
.es-nav-group { padding: .875rem .75rem .25rem; font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #9ca3af; }
.es-dark .es-nav-link { color: #d4d4d8; }
.es-dark .es-nav-link:hover { background: #27272a; color: #fff; }
.es-dark .es-nav-link.active { background: var(--admin-soft); color: #fbbf24; }
.es-dark .es-nav-link .cnt { background: #7f1d1d; color: #fecaca; }
.es-dark .es-nav-group { color: #71717a; }

/* Sub navigation (settings tabs, page tabs). */
.es-tabs { display: flex; flex-wrap: wrap; gap: 1.25rem; border-bottom: 1px solid #e5e7eb; padding: 0 1.25rem; }
.es-tab { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 0; margin-bottom: -1px; border-bottom: 2px solid transparent; font-size: .875rem; font-weight: 500; color: #4b5563; text-decoration: none; background: none; border-top: 0; border-left: 0; border-right: 0; cursor: pointer; }
.es-tab:hover { color: #111827; }
.es-tab.active { color: var(--brand-dark); border-bottom-color: var(--brand); font-weight: 600; }
.es-tab .c { padding: 0 .5rem; border-radius: 9999px; background: #f3f4f6; color: #374151; font-size: .75rem; }
.es-chip { display: inline-flex; align-items: center; gap: .375rem; padding: .3125rem .75rem; border-radius: 9999px; border: 1px solid #e5e7eb; background: #fff; font-size: .8125rem; font-weight: 500; color: #374151; cursor: pointer; }
.es-chip.active { background: var(--brand-soft); border-color: #bfdbfe; color: var(--brand-dark); }

/* Badges. */
.es-badge { display: inline-flex; align-items: center; gap: .375rem; padding: .125rem .5rem; border-radius: 9999px; font-size: .75rem; font-weight: 500; white-space: nowrap; }
.es-badge::before { content: ""; width: .375rem; height: .375rem; border-radius: 9999px; background: currentColor; }
.es-badge.plain::before { display: none; }
.b-green { background: #ecfdf3; color: #067647; }
.b-amber { background: #fffaeb; color: #b54708; }
.b-red { background: #fef3f2; color: #b42318; }
.b-blue { background: #eff8ff; color: #175cd3; }
.b-gray { background: #f2f4f7; color: #475467; }
.b-purple { background: #f4f3ff; color: #5925dc; }
.es-dark .b-green, .es-admin-bg .b-green, .b-green.dk { background: #052e16; color: #86efac; }
.es-dark .b-amber, .es-admin-bg .b-amber, .b-amber.dk { background: #3a2a0a; color: #fcd34d; }
.es-dark .b-red, .es-admin-bg .b-red, .b-red.dk { background: #450a0a; color: #fca5a5; }
.es-dark .b-blue, .es-admin-bg .b-blue, .b-blue.dk { background: #172554; color: #93c5fd; }
.es-dark .b-gray, .es-admin-bg .b-gray, .b-gray.dk { background: #27272a; color: #d4d4d8; }
.es-dark .b-purple, .es-admin-bg .b-purple, .b-purple.dk { background: #2e1065; color: #c4b5fd; }

/* Tables. */
.es-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.es-table thead th { text-align: start; font-size: .75rem; font-weight: 500; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; padding: .75rem 1rem; border-bottom: 1px solid #e5e7eb; background: #f9fafb; white-space: nowrap; }
.es-table tbody td { padding: .75rem 1rem; border-bottom: 1px solid #f3f4f6; color: #1f2937; white-space: nowrap; vertical-align: middle; }
.es-table tbody tr:last-child td { border-bottom: 0; }
.es-table tbody tr:hover td { background: #fafafa; }
.es-table tbody tr.clickable { cursor: pointer; }
.es-table tbody tr.selected td { background: var(--brand-soft); }
.es-table tfoot td { padding: .75rem 1rem; border-top: 1px solid #e5e7eb; font-weight: 600; }
.es-table .num { text-align: end; font-variant-numeric: tabular-nums; }
.es-table th.num { text-align: end; }
.es-table td.wrap { white-space: normal; }
.es-table input.es-input { padding: .375rem .5rem; }
.tabular { font-variant-numeric: tabular-nums; }
.mono { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8125rem; }
.neg { color: #b42318; } .pos { color: #067647; }

/* Admin (dark) world. */
.es-admin-bg { background: #171717; color: #e5e5e5; }
.es-admin-bg .es-card { background: #212121; border-color: #333; box-shadow: none; }
.es-admin-bg .es-card-h { border-color: #333; }
.es-admin-bg .es-card-h h2, .es-admin-bg h1, .es-admin-bg h2, .es-admin-bg h3 { color: #fafafa; }
.es-admin-bg .es-kpi .v { color: #fafafa; }
.es-admin-bg .es-kpi .k, .es-admin-bg .es-kpi .s { color: #a3a3a3; }
.es-admin-bg .es-table thead th { background: #1c1c1c; color: #a3a3a3; border-color: #333; }
.es-admin-bg .es-table tbody td { color: #e5e5e5; border-color: #2a2a2a; }
.es-admin-bg .es-table tbody tr:hover td { background: #262626; }
.es-admin-bg .es-table tbody tr.selected td { background: #2a2112; }
.es-admin-bg .es-input { background: #171717; border-color: #404040; color: #f5f5f5; }
.es-admin-bg .es-input:focus { border-color: var(--admin); box-shadow: 0 0 0 3px rgba(245,158,11,.25); }
.es-admin-bg .es-label { color: #d4d4d4; }
.es-admin-bg .btn-light { background: #212121; border-color: #404040; color: #e5e5e5; box-shadow: none; }
.es-admin-bg .btn-light:hover { background: #2a2a2a; color: #fff; }
.es-admin-bg .btn-danger { background: #212121; border-color: #7f1d1d; color: #fca5a5; }
.es-admin-bg .es-tabs { border-color: #333; }
.es-admin-bg .es-tab { color: #a3a3a3; }
.es-admin-bg .es-tab.active { color: #fbbf24; border-bottom-color: var(--admin); }
.es-admin-bg .es-chip { background: #212121; border-color: #404040; color: #d4d4d4; }
.es-admin-bg .es-chip.active { background: var(--admin-soft); border-color: #b45309; color: #fbbf24; }
.es-admin-bg .text-gray-500, .es-admin-bg .text-gray-600 { color: #a3a3a3; }
.es-admin-bg .text-gray-800, .es-admin-bg .text-gray-900 { color: #f5f5f5; }
.es-admin-bg .border-gray-200 { border-color: #333; }
.es-admin-bg .bg-gray-50 { background: #1c1c1c; }
.es-admin-bg .es-switch:checked { background: var(--admin); }
.es-admin-bg .mono { color: #e5e5e5; }

/* Toggle switch. */
.es-switch { position: relative; width: 2.75rem; height: 1.5rem; appearance: none; background: #e5e7eb; border-radius: 9999px; cursor: pointer; transition: background .2s; flex-shrink: 0; }
.es-switch::after { content: ""; position: absolute; top: .1875rem; left: .1875rem; width: 1.125rem; height: 1.125rem; border-radius: 9999px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .2s; }
.es-switch:checked { background: var(--brand); }
.es-switch:checked::after { transform: translateX(1.25rem); }
.es-switch:focus-visible { box-shadow: 0 0 0 3px var(--brand-ring); outline: none; }
.es-admin-bg .es-switch { background: #404040; }

/* Progress bars. */
.es-bar { height: .5rem; border-radius: 9999px; background: #f3f4f6; overflow: hidden; }
.es-bar > i { display: block; height: 100%; background: var(--brand); border-radius: 9999px; }
.es-admin-bg .es-bar { background: #333; }
.es-admin-bg .es-bar > i { background: var(--admin); }

/* Stepper. */
.es-steps { display: flex; flex-wrap: wrap; gap: .75rem; }
.es-step { display: flex; align-items: center; gap: .625rem; flex: 1 1 9rem; min-width: 0; font-size: .875rem; color: #6b7280; }
.es-step .dot { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 9999px; background: #f3f4f6; color: #6b7280; font-size: .8125rem; font-weight: 600; flex-shrink: 0; }
.es-step.done { color: #111827; font-weight: 600; } .es-step.done .dot { background: var(--brand); color: #fff; }
.es-step.cur { color: #111827; font-weight: 600; } .es-step.cur .dot { background: #fff; color: var(--brand-dark); box-shadow: inset 0 0 0 2px var(--brand); }

/* Timeline. */
.es-tl { list-style: none; margin: 0; padding: 0; }
.es-tl li { position: relative; padding: 0 0 1rem 1.5rem; font-size: .875rem; }
.es-tl li::before { content: ""; position: absolute; left: .3125rem; top: .375rem; width: .5rem; height: .5rem; border-radius: 9999px; background: var(--brand); }
.es-tl li::after { content: ""; position: absolute; left: .5625rem; top: 1rem; bottom: 0; width: 1px; background: #e5e7eb; }
.es-tl li:last-child::after { display: none; }
.es-tl li.muted::before { background: #d1d5db; }

/* Toast. */
.es-toast { position: fixed; top: 1rem; right: 1rem; z-index: 200; display: flex; align-items: center; gap: .625rem; padding: .75rem 1rem; background: #111827; color: #fff; border-radius: .75rem; font-size: .875rem; box-shadow: 0 10px 30px rgba(0,0,0,.2); transform: translateY(-1rem); opacity: 0; transition: all .25s; pointer-events: none; }
.es-toast.show { transform: none; opacity: 1; }

/* Support (impersonation) banner. */
.es-support { position: fixed; left: 0; right: 0; z-index: 70; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: .5rem 1rem; background: #f59e0b; color: #1c1917; font-size: .8125rem; font-weight: 500; }

/* Mobile warehouse app (PWA) column. */
.m-shell { min-height: 100dvh; background: #e5e7eb; }
.m-col { max-width: 26rem; margin: 0 auto; min-height: calc(100dvh - var(--pb-h)); background: #f9fafb; display: flex; flex-direction: column; }
@media (min-width: 640px) { .m-col { box-shadow: 0 0 0 1px #d1d5db; } }
.m-head { background: var(--brand); color: #fff; padding: 1rem; }
.m-btn { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 3.25rem; border-radius: .875rem; background: var(--brand); color: #fff; font-weight: 600; font-size: 1rem; text-decoration: none; border: 0; cursor: pointer; }
.m-btn:hover { background: var(--brand-dark); color: #fff; }
.m-btn.ghost { background: #fff; color: #1f2937; border: 1px solid #e5e7eb; }
.m-step { width: 4rem; height: 4rem; border-radius: 1rem; border: 1px solid #e5e7eb; background: #fff; font-size: 1.75rem; font-weight: 600; color: #1f2937; cursor: pointer; }
.m-scan { position: relative; height: 10rem; border-radius: 1.125rem; background: #111827; overflow: hidden; display: grid; place-items: center; color: #9ca3af; font-size: .75rem; }
.m-scan::before { content: ""; position: absolute; inset: 2rem 3.5rem; border: 2px solid rgba(255,255,255,.65); border-radius: .75rem; }
.m-scan::after { content: ""; position: absolute; left: 4.5rem; right: 4.5rem; top: 50%; height: 2px; background: #ef4444; box-shadow: 0 0 12px #ef4444; animation: m-scan 2.4s ease-in-out infinite; }
@keyframes m-scan { 0%,100% { transform: translateY(-1.75rem); } 50% { transform: translateY(1.75rem); } }
@media (prefers-reduced-motion: reduce) { .m-scan::after { animation: none; } }

/* A4 document (PDF previews). */
.doc-shell { background: #e5e7eb; min-height: calc(100dvh - var(--pb-h)); padding: 2rem 1rem; }
.doc-page { width: 210mm; min-height: 297mm; max-width: 100%; margin: 0 auto; background: #fff; color: #111827; box-shadow: 0 10px 30px rgba(0,0,0,.12); padding: 16mm 15mm; box-sizing: border-box; font-size: 10pt; line-height: 1.45; }
.doc-page table { width: 100%; border-collapse: collapse; }
.doc-page th { text-align: left; font-size: 8.5pt; text-transform: uppercase; letter-spacing: .03em; color: #4b5563; border-bottom: 1.5px solid #111827; padding: 6px 4px; }
.doc-page td { padding: 6px 4px; border-bottom: 1px solid #e5e7eb; vertical-align: top; }
.doc-page .r { text-align: right; font-variant-numeric: tabular-nums; }
.doc-bar { max-width: 210mm; margin: 0 auto 1rem; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; align-items: center; }
@media print {
  body { padding-top: 0 !important; background: #fff !important; }
  #proto-bar, .doc-bar, .es-toast { display: none !important; }
  .doc-shell { padding: 0; background: #fff; }
  .doc-page { box-shadow: none; width: auto; min-height: 0; padding: 0; }
  @page { size: A4; margin: 14mm; }
}

/* Chart container fix. */
.apexcharts-tooltip.apexcharts-theme-light { border: 1px solid #e5e7eb !important; box-shadow: 0 8px 24px rgba(0,0,0,.08) !important; }

/* Language switcher + legal notice. */
.lang-switch { display: inline-flex; gap: 2px; padding: 2px; border-radius: 9999px; background: #f3f4f6; border: 1px solid #e5e7eb; }
.lang-switch button { min-width: 2.25rem; height: 1.75rem; border: 0; border-radius: 9999px; background: transparent; font: inherit; font-size: .75rem; font-weight: 600; color: #6b7280; cursor: pointer; }
.lang-switch button.on { background: #fff; color: var(--brand); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.lang-switch.dark { background: #27272a; border-color: #3f3f46; }
.lang-switch.dark button { color: #a1a1aa; }
.lang-switch.dark button.on { background: #fff; color: #111827; }
.es-legal { margin: 2.5rem 0 0; padding-top: 1rem; border-top: 1px solid #e5e7eb; font-size: .75rem; color: #6b7280; }
.es-admin-bg .es-legal { border-color: #333; color: #a3a3a3; }

/* Prototype bar (fixed, black, above every page). */
:root { --pb-h: 2.5rem; }
body { padding-top: var(--pb-h); }
#proto-bar { position: fixed; top: 0; left: 0; right: 0; height: var(--pb-h); z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 0 .75rem; background: #0b0b0c; color: #e5e7eb; font-size: .75rem; box-sizing: border-box; border-bottom: 1px solid #1f2937; }
#proto-bar .pb-left { display: flex; align-items: center; gap: .5rem; min-width: 0; color: #9ca3af; }
#proto-bar .pb-left b { color: #fff; font-weight: 600; }
#proto-bar .pb-left .pb-long { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#proto-bar .pb-left .pb-short { display: none; white-space: nowrap; }
#proto-bar .pb-right { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
#proto-bar .pb-tabs { display: inline-flex; gap: 2px; padding: 2px; border-radius: 9999px; background: #1f2937; }
#proto-bar .pb-tab { padding: .2rem .7rem; border-radius: 9999px; color: #d1d5db; text-decoration: none; font-weight: 500; white-space: nowrap; }
#proto-bar .pb-tab:hover { color: #fff; }
#proto-bar .pb-tab.on { background: var(--brand); color: #fff; }
#proto-bar .pb-tab.on.adm { background: var(--admin); color: #171717; }
#proto-bar .pb-select { max-width: 13rem; height: 1.75rem; padding: 0 .5rem; border-radius: .375rem; border: 1px solid #374151; background: #1f2937; color: #e5e7eb; font: inherit; font-size: .75rem; }
@media (max-width: 1100px) { #proto-bar .pb-left .pb-long { display: none; } #proto-bar .pb-left .pb-short { display: inline; } }
@media (max-width: 640px) { #proto-bar .pb-left { display: none; } #proto-bar .pb-tabs { display: none; } #proto-bar .pb-right { width: 100%; justify-content: space-between; } #proto-bar .pb-select { max-width: none; flex: 1; } }
/* Shift fixed/sticky chrome below the bar. */
header.fixed.top-0 { top: var(--pb-h); }
#es-sidebar { top: var(--pb-h); height: calc(100% - var(--pb-h)); bottom: auto; }
.hs-overlay.top-0[role="dialog"] { top: var(--pb-h); height: calc(100% - var(--pb-h)); }
header.sticky.top-0 { top: var(--pb-h); }
.es-toast { top: calc(var(--pb-h) + .75rem); }
body.has-support { --sb-h: 2.5rem; }
body.has-support .es-support { top: var(--pb-h); }
body.has-support header.fixed.top-0 { top: calc(var(--pb-h) + var(--sb-h)); }
body.has-support #es-sidebar { top: calc(var(--pb-h) + var(--sb-h)); height: calc(100% - var(--pb-h) - var(--sb-h)); }
body.has-support #content { padding-top: calc(3.75rem + var(--sb-h)); }

/* Keep sr-only children of scroll boxes from widening the page on phones. */
.overflow-x-auto { position: relative; }

/* Utilities missing from the compiled Preline build (add here as used). */
.text-amber-600 { color: #d97706; }
.bg-amber-50 { background-color: #fffbeb; }
.text-amber-900 { color: #78350f; }
.border-amber-200 { border-color: #fde68a; }
.tracking-widest { letter-spacing: .1em; }
.text-emerald-400 { color: #34d399; }
.text-neutral-300 { color: #d4d4d4; }
.text-neutral-100 { color: #f5f5f5; }
.text-neutral-900 { color: #171717; }
.text-amber-400 { color: #fbbf24; }
.text-amber-800 { color: #92400e; }
.bg-amber-100 { background-color: #fef3c7; }
.border-amber-500 { border-color: #f59e0b; }
.bg-white\/15 { background-color: rgba(255,255,255,.15); }
