/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
  --color-red-50: oklch(97.1% 0.013 17.38);
  --color-red-200: oklch(88.5% 0.062 18.334);
  --color-red-500: oklch(63.7% 0.237 25.331);
  --color-red-600: oklch(57.7% 0.245 27.325);
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-amber-50: oklch(98.7% 0.022 95.277);
  --color-amber-200: oklch(92.4% 0.12 95.746);
  --color-amber-800: oklch(47.3% 0.137 46.201);
  --color-green-50: oklch(98.2% 0.018 155.826);
  --color-green-200: oklch(92.5% 0.084 155.995);
  --color-green-600: oklch(62.7% 0.194 149.214);
  --color-green-700: oklch(52.7% 0.154 150.069);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-blue-900: oklch(37.9% 0.146 265.522);
  --color-gray-50: oklch(98.5% 0.002 247.839);
  --color-gray-100: oklch(96.7% 0.003 264.542);
  --color-gray-200: oklch(92.8% 0.006 264.531);
  --color-gray-300: oklch(87.2% 0.01 258.338);
  --color-gray-400: oklch(70.7% 0.022 261.325);
  --color-gray-500: oklch(55.1% 0.027 264.364);
  --color-gray-600: oklch(44.6% 0.03 256.802);
  --color-gray-700: oklch(37.3% 0.034 259.733);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-xs: 20rem;
  --container-sm: 24rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-xl: 36rem;
  --container-3xl: 48rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  --tracking-tight: -0.025em;
  --leading-tight: 1.25;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
  --color-brand-dark: #141d31;
  --color-brand-accent: #d8f500;
  --color-brand-bg: #f6f1e8;
  --color-brand-border: #ded8ce;
}
*, ::after, ::before, ::backdrop, ::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}
html, :host {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
  font-feature-settings: var(--default-font-feature-settings, normal);
  font-variation-settings: var(--default-font-variation-settings, normal);
  -webkit-tap-highlight-color: transparent;
}
hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}
a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}
b, strong {
  font-weight: bolder;
}
code, kbd, samp, pre {
  font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);
  font-feature-settings: var(--default-mono-font-feature-settings, normal);
  font-variation-settings: var(--default-mono-font-variation-settings, normal);
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
:-moz-focusring {
  outline: auto;
}
progress {
  vertical-align: baseline;
}
summary {
  display: list-item;
}
ol, ul, menu {
  list-style: none;
}
img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
}
img, video {
  max-width: 100%;
  height: auto;
}
button, input, select, optgroup, textarea, ::file-selector-button {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}
:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}
:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}
::file-selector-button {
  margin-inline-end: 4px;
}
::placeholder {
  opacity: 1;
}
@supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
  ::placeholder {
    color: currentcolor;
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, currentcolor 50%, transparent);
    }
  }
}
textarea {
  resize: vertical;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-date-and-time-value {
  min-height: 1lh;
  text-align: inherit;
}
::-webkit-datetime-edit {
  display: inline-flex;
}
::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}
:-moz-ui-invalid {
  box-shadow: none;
}
button, input:where([type='button'], [type='reset'], [type='submit']), ::file-selector-button {
  appearance: button;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}
[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.top-20 {
  top: calc(var(--spacing) * 20);
}
.bottom-0 {
  bottom: calc(var(--spacing) * 0);
}
.left-0 {
  left: calc(var(--spacing) * 0);
}
.z-50 {
  z-index: 50;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.mx-4 {
  margin-inline: calc(var(--spacing) * 4);
}
.mx-auto {
  margin-inline: auto;
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mb-1 {
  margin-bottom: calc(var(--spacing) * 1);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}
.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.table {
  display: table;
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-5 {
  height: calc(var(--spacing) * 5);
}
.h-7 {
  height: calc(var(--spacing) * 7);
}
.h-8 {
  height: calc(var(--spacing) * 8);
}
.h-9 {
  height: calc(var(--spacing) * 9);
}
.h-10 {
  height: calc(var(--spacing) * 10);
}
.h-14 {
  height: calc(var(--spacing) * 14);
}
.h-16 {
  height: calc(var(--spacing) * 16);
}
.h-full {
  height: 100%;
}
.max-h-64 {
  max-height: calc(var(--spacing) * 64);
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.min-h-20 {
  min-height: calc(var(--spacing) * 20);
}
.min-h-28 {
  min-height: calc(var(--spacing) * 28);
}
.min-h-screen {
  min-height: 100vh;
}
.w-5 {
  width: calc(var(--spacing) * 5);
}
.w-7 {
  width: calc(var(--spacing) * 7);
}
.w-9 {
  width: calc(var(--spacing) * 9);
}
.w-16 {
  width: calc(var(--spacing) * 16);
}
.w-32 {
  width: calc(var(--spacing) * 32);
}
.w-56 {
  width: calc(var(--spacing) * 56);
}
.w-full {
  width: 100%;
}
.max-w-3xl {
  max-width: var(--container-3xl);
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: var(--container-sm);
}
.max-w-xl {
  max-width: var(--container-xl);
}
.max-w-xs {
  max-width: var(--container-xs);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.flex-1 {
  flex: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.cursor-pointer {
  cursor: pointer;
}
.resize-none {
  resize: none;
}
.list-inside {
  list-style-position: inside;
}
.list-disc {
  list-style-type: disc;
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-end {
  align-items: flex-end;
}
.items-start {
  align-items: flex-start;
}
.justify-around {
  justify-content: space-around;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-0 {
  gap: calc(var(--spacing) * 0);
}
.gap-1 {
  gap: calc(var(--spacing) * 1);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.space-y-1 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-2 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-3 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-4 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.rounded-t-2xl {
  border-top-left-radius: var(--radius-2xl);
  border-top-right-radius: var(--radius-2xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-2 {
  border-style: var(--tw-border-style);
  border-width: 2px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-r {
  border-right-style: var(--tw-border-style);
  border-right-width: 1px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-dashed {
  --tw-border-style: dashed;
  border-style: dashed;
}
.border-\[\#ded8ce\] {
  border-color: #ded8ce;
}
.border-amber-200 {
  border-color: var(--color-amber-200);
}
.border-blue-200 {
  border-color: var(--color-blue-200);
}
.border-brand-border {
  border-color: var(--color-brand-border);
}
.border-brand-dark {
  border-color: var(--color-brand-dark);
}
.border-gray-100 {
  border-color: var(--color-gray-100);
}
.border-gray-200 {
  border-color: var(--color-gray-200);
}
.border-gray-300 {
  border-color: var(--color-gray-300);
}
.border-green-200 {
  border-color: var(--color-green-200);
}
.border-red-200 {
  border-color: var(--color-red-200);
}
.bg-\[\#141d31\] {
  background-color: #141d31;
}
.bg-amber-50 {
  background-color: var(--color-amber-50);
}
.bg-black\/50 {
  background-color: color-mix(in srgb, #000 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
  }
}
.bg-blue-50 {
  background-color: var(--color-blue-50);
}
.bg-brand-accent {
  background-color: var(--color-brand-accent);
}
.bg-brand-bg {
  background-color: var(--color-brand-bg);
}
.bg-brand-border {
  background-color: var(--color-brand-border);
}
.bg-brand-dark {
  background-color: var(--color-brand-dark);
}
.bg-gray-50 {
  background-color: var(--color-gray-50);
}
.bg-gray-100 {
  background-color: var(--color-gray-100);
}
.bg-green-50 {
  background-color: var(--color-green-50);
}
.bg-red-50 {
  background-color: var(--color-red-50);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/80 {
  background-color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.object-cover {
  object-fit: cover;
}
.p-0 {
  padding: calc(var(--spacing) * 0);
}
.p-1 {
  padding: calc(var(--spacing) * 1);
}
.p-3 {
  padding: calc(var(--spacing) * 3);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.p-5 {
  padding: calc(var(--spacing) * 5);
}
.p-6 {
  padding: calc(var(--spacing) * 6);
}
.p-8 {
  padding: calc(var(--spacing) * 8);
}
.p-10 {
  padding: calc(var(--spacing) * 10);
}
.px-1 {
  padding-inline: calc(var(--spacing) * 1);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.px-8 {
  padding-inline: calc(var(--spacing) * 8);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-2\.5 {
  padding-block: calc(var(--spacing) * 2.5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-8 {
  padding-block: calc(var(--spacing) * 8);
}
.py-10 {
  padding-block: calc(var(--spacing) * 10);
}
.pt-3 {
  padding-top: calc(var(--spacing) * 3);
}
.pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}
.pl-2 {
  padding-left: calc(var(--spacing) * 2);
}
.text-center {
  text-align: center;
}
.font-mono {
  font-family: var(--font-mono);
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-black {
  --tw-font-weight: var(--font-weight-black);
  font-weight: var(--font-weight-black);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-tight {
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-\[\#141d31\] {
  color: #141d31;
}
.text-amber-800 {
  color: var(--color-amber-800);
}
.text-blue-600 {
  color: var(--color-blue-600);
}
.text-blue-900 {
  color: var(--color-blue-900);
}
.text-brand-dark {
  color: var(--color-brand-dark);
}
.text-gray-400 {
  color: var(--color-gray-400);
}
.text-gray-500 {
  color: var(--color-gray-500);
}
.text-gray-600 {
  color: var(--color-gray-600);
}
.text-green-600 {
  color: var(--color-green-600);
}
.text-green-700 {
  color: var(--color-green-700);
}
.text-red-500 {
  color: var(--color-red-500);
}
.text-red-600 {
  color: var(--color-red-600);
}
.text-red-700 {
  color: var(--color-red-700);
}
.text-white {
  color: var(--color-white);
}
.uppercase {
  text-transform: uppercase;
}
.underline {
  text-decoration-line: underline;
}
.opacity-40 {
  opacity: 40%;
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.transition-all {
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.duration-500 {
  --tw-duration: 500ms;
  transition-duration: 500ms;
}
.duration-700 {
  --tw-duration: 700ms;
  transition-duration: 700ms;
}
.select-none {
  -webkit-user-select: none;
  user-select: none;
}
.group-hover\:border-brand-dark {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      border-color: var(--color-brand-dark);
    }
  }
}
.hover\:scale-110 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 110%;
      --tw-scale-y: 110%;
      --tw-scale-z: 110%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:scale-125 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 125%;
      --tw-scale-y: 125%;
      --tw-scale-z: 125%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:border-brand-dark {
  &:hover {
    @media (hover: hover) {
      border-color: var(--color-brand-dark);
    }
  }
}
.hover\:bg-gray-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-gray-50);
    }
  }
}
.hover\:text-brand-dark {
  &:hover {
    @media (hover: hover) {
      color: var(--color-brand-dark);
    }
  }
}
.hover\:text-gray-700 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-gray-700);
    }
  }
}
.hover\:text-red-500 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-red-500);
    }
  }
}
.hover\:underline {
  &:hover {
    @media (hover: hover) {
      text-decoration-line: underline;
    }
  }
}
.hover\:opacity-90 {
  &:hover {
    @media (hover: hover) {
      opacity: 90%;
    }
  }
}
.focus\:border-\[\#141d31\] {
  &:focus {
    border-color: #141d31;
  }
}
.focus\:border-brand-dark {
  &:focus {
    border-color: var(--color-brand-dark);
  }
}
.focus\:outline-none {
  &:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
}
.disabled\:opacity-40 {
  &:disabled {
    opacity: 40%;
  }
}
.sm\:grid-cols-4 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.md\:flex {
  @media (width >= 48rem) {
    display: flex;
  }
}
.md\:p-6 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.md\:px-6 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 6);
  }
}
.lg\:w-72 {
  @media (width >= 64rem) {
    width: calc(var(--spacing) * 72);
  }
}
.lg\:w-80 {
  @media (width >= 64rem) {
    width: calc(var(--spacing) * 80);
  }
}
.lg\:grid-cols-2 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.lg\:grid-cols-4 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.lg\:flex-row {
  @media (width >= 64rem) {
    flex-direction: row;
  }
}
.lg\:items-center {
  @media (width >= 64rem) {
    align-items: center;
  }
}
.lg\:rounded-2xl {
  @media (width >= 64rem) {
    border-radius: var(--radius-2xl);
  }
}
.xl\:grid-cols-2 {
  @media (width >= 80rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}

/* ============================================================
   Correções de layout e utilitários ausentes — v1.1.1
   ============================================================ */
.absolute{position:absolute}.relative{position:relative}.ml-auto{margin-left:auto}.mx-6{margin-inline:1.5rem}.mt-0\.5{margin-top:.125rem}.h-0\.5{height:.125rem}.w-0\.5{width:.125rem}.w-4{width:1rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.col-span-4{grid-column:span 4/span 4}.aspect-square{aspect-ratio:1/1}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media (min-width:768px){.md\:hidden{display:none}}

html,body{min-height:100%}
body{color:#141d31}
header .max-w-5xl{width:100%}

.visualizer-upload-page{
  width:100%;
  max-width:570px;
  padding-top:38px;
  padding-bottom:24px;
}
.visualizer-main-title{
  margin:0 0 28px;
  text-align:center;
  font-size:clamp(22px,2.1vw,30px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:#141d31;
}
.visualizer-upload-page > h2{
  margin-top:24px;
  margin-bottom:20px;
  font-size:18px;
  line-height:1.3;
}
.visualizer-upload-page .upload-card{
  min-height:178px;
  padding:30px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.38);
}
.visualizer-upload-page .upload-card:hover{
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 30px rgba(20,29,49,.05);
}
.visualizer-upload-page .upload-help{
  text-align:center;
}
.visualizer-upload-page .upload-help summary{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.visualizer-upload-page #btn-continuar{
  min-height:46px;
  padding:12px 24px;
}
.visualizer-upload-page #preview-img{
  max-height:230px;
  width:auto;
  max-width:100%;
}

/* Mantém as demais etapas no mesmo padrão centralizado da referência. */
.max-w-5xl{width:100%}
.max-w-2xl{width:100%}

@media (max-width:640px){
  .visualizer-upload-page{padding-top:24px;max-width:100%}
  .visualizer-main-title{font-size:21px;margin-bottom:22px}
  .visualizer-upload-page .upload-card{min-height:165px;padding:24px 18px}
  .visualizer-upload-page > h2{font-size:17px;margin-top:20px}
}

/* ============================================================
   Interface profissional e compacta — v1.2.0
   ============================================================ */
:root{
  --ui-dark:#111a2e;
  --ui-dark-soft:#253049;
  --ui-accent:#d8f500;
  --ui-bg:#f6f1e8;
  --ui-panel:#fffdf9;
  --ui-white:#fff;
  --ui-border:#ded8ce;
  --ui-border-soft:#ebe6dc;
  --ui-muted:#71809a;
  --ui-muted-light:#9aa4b6;
  --ui-success:#245d23;
  --ui-danger:#dc4b4b;
  --ui-warning:#b97709;
  --ui-shadow:0 16px 42px rgba(17,26,46,.07);
  --ui-shadow-soft:0 8px 24px rgba(17,26,46,.05);
}

.ui-icon{display:block;flex:none}
.hidden{display:none!important}

/* ---------- Estrutura pública ---------- */
.public-body{
  min-height:100vh;
  margin:0;
  background:var(--ui-bg);
  color:var(--ui-dark);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
}
.public-header{
  position:sticky;
  top:0;
  z-index:40;
  height:58px;
  border-bottom:1px solid var(--ui-border);
  background:rgba(246,241,232,.96);
  backdrop-filter:blur(10px);
}
.public-header__inner{
  width:min(100% - 32px,920px);
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.public-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--ui-dark);
  text-decoration:none;
  font-size:17px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.025em;
}
.public-brand__mark{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  color:var(--ui-dark);
}
.public-badge{
  color:var(--ui-muted-light);
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
}
.public-footer{
  width:min(100% - 32px,920px);
  margin:28px auto 0;
  padding:16px 0 24px;
  color:var(--ui-muted-light);
  text-align:center;
  font-size:10px;
  line-height:1.5;
}
.public-title,
.public-section-title{
  margin:0;
  color:var(--ui-dark);
  text-align:center;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:-.035em;
}
.public-title{
  font-size:clamp(23px,2vw,29px);
  line-height:1.15;
}
.public-section-title{
  font-size:18px;
  line-height:1.3;
}

/* ---------- Barra de etapas ---------- */
.wizard{
  width:min(100%,440px);
  margin:28px auto 0;
  display:grid;
  grid-template-columns:auto minmax(60px,1fr) auto minmax(60px,1fr) auto;
  align-items:start;
}
.wizard__item{
  width:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  z-index:1;
}
.wizard__circle{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid var(--ui-border);
  border-radius:999px;
  background:var(--ui-bg);
  color:#7d899f;
  font-size:13px;
  font-weight:800;
}
.wizard__label{
  margin-top:7px;
  color:#8591a7;
  font-size:10px;
  line-height:1.2;
  white-space:nowrap;
}
.wizard__line{
  height:1px;
  margin-top:19px;
  background:var(--ui-border);
}
.wizard__item.is-active .wizard__circle,
.wizard__item.is-done .wizard__circle{
  border-color:var(--ui-dark);
  background:var(--ui-dark);
  color:#fff;
}
.wizard__item.is-active .wizard__label{
  color:var(--ui-dark);
  font-weight:700;
}
.wizard__item.is-done .wizard__label{color:var(--ui-dark)}
.wizard__circle.is-success{
  border-color:var(--ui-success)!important;
  background:var(--ui-success)!important;
}
.wizard__line.is-done{background:var(--ui-dark)}
.wizard__check{stroke-width:2.7}

/* ---------- Etapa 1 ---------- */
.upload-page{
  width:min(100% - 32px,720px);
  margin:0 auto;
  padding:54px 0 6px;
}
.upload-core{
  width:min(100%,480px);
  margin:26px auto 0;
}
.upload-core .public-section-title{margin-bottom:20px}
.upload-dropzone{
  min-height:178px;
  padding:28px 26px;
  display:grid;
  place-items:center;
  border:2px dashed var(--ui-border);
  border-radius:15px;
  background:rgba(255,255,255,.28);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
  outline:none;
}
.upload-dropzone:hover,
.upload-dropzone:focus-visible,
.upload-dropzone.is-dragging{
  border-color:var(--ui-dark-soft);
  background:rgba(255,255,255,.68);
  box-shadow:var(--ui-shadow-soft);
}
.upload-dropzone.has-preview{padding:18px;background:#fff}
.upload-placeholder{text-align:center}
.upload-icon{
  width:50px;
  height:50px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#e8e5df;
  color:var(--ui-dark);
}
.upload-copy{font-size:13px;font-weight:600;color:var(--ui-dark)}
.upload-copy span{text-decoration:underline;text-underline-offset:2px}
.upload-formats{margin-top:6px;color:var(--ui-muted);font-size:10px}
.upload-preview{width:auto;max-width:100%;max-height:250px;border-radius:12px;object-fit:contain}
.photo-tips{margin-top:14px;color:var(--ui-muted)}
.photo-tips summary{
  width:max-content;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  list-style:none;
  font-size:11px;
  font-weight:500;
}
.photo-tips summary::-webkit-details-marker{display:none}
.photo-tips__chevron{transition:transform .18s ease}
.photo-tips[open] .photo-tips__chevron{transform:rotate(180deg)}
.photo-tips ul{
  margin:12px 0 0;
  padding:12px 15px 12px 32px;
  border:1px solid var(--ui-border-soft);
  border-radius:12px;
  background:rgba(255,255,255,.48);
  font-size:11px;
  line-height:1.65;
}
.photo-tips li{list-style:disc}
.form-error{margin-top:10px;color:var(--ui-danger);font-size:11px}
.action-button{
  width:100%;
  min-height:44px;
  padding:10px 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:999px;
  cursor:pointer;
  text-decoration:none;
  font-size:13px;
  line-height:1.2;
  font-weight:750;
  transition:transform .16s ease,opacity .16s ease,background .16s ease,border-color .16s ease;
}
.action-button:hover:not(:disabled){transform:translateY(-1px)}
.action-button:disabled{cursor:not-allowed;opacity:.42}
.action-button--primary{background:var(--ui-dark);color:#fff}
.action-button--outline{border-color:var(--ui-border);background:transparent;color:var(--ui-dark)}
.action-button--outline:hover{border-color:var(--ui-dark);background:#fff}
.action-button--small{min-height:39px;padding:8px 13px;font-size:11px}
.upload-core .action-button{margin-top:18px}

/* ---------- Etapa 2 ---------- */
.selection-page{
  width:min(100% - 32px,960px);
  margin:0 auto;
  padding:28px 0 8px;
}
.selection-page .wizard{margin-top:0}
.selection-page__title{margin:25px 0 20px}
.selection-layout{
  display:grid;
  grid-template-columns:minmax(0,530px) minmax(270px,350px);
  justify-content:center;
  align-items:start;
  gap:28px;
}
.selection-form-column{min-width:0}
.surface-summary-list{display:grid;gap:9px;margin-bottom:12px}
.surface-summary{
  min-height:60px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--ui-border);
  border-radius:13px;
  background:rgba(255,255,255,.72);
}
.surface-summary__thumb{width:42px;height:42px;border:1px solid var(--ui-border-soft);border-radius:9px;object-fit:cover;flex:none}
.surface-summary__content{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.surface-summary__content strong{overflow:hidden;color:var(--ui-dark);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.surface-summary__content span{overflow:hidden;color:var(--ui-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.icon-button{
  width:34px;
  height:34px;
  display:inline-grid;
  place-items:center;
  flex:none;
  border:1px solid transparent;
  border-radius:9px;
  color:var(--ui-muted);
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.icon-button:hover{border-color:var(--ui-border);background:#fff;color:var(--ui-dark)}
.icon-button--danger:hover{border-color:#f5caca;background:#fff5f5;color:var(--ui-danger)}
.surface-form-card{
  padding:18px;
  border:1px solid var(--ui-border-soft);
  border-radius:16px;
  background:rgba(255,255,255,.32);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
.form-label{display:block;margin:0 0 6px;color:var(--ui-dark);font-size:11px;font-weight:650}
.form-label span{color:var(--ui-danger)}
.form-label--section{margin-bottom:10px}
.surface-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:16px;
}
.surface-card{
  min-height:68px;
  padding:8px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--ui-border);
  border-radius:11px;
  background:transparent;
  color:#60708d;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.surface-card:hover{border-color:#aab3c2;background:rgba(255,255,255,.55);color:var(--ui-dark)}
.surface-card.selected{
  border-color:#bad700;
  background:#f5fadf;
  color:var(--ui-dark);
  box-shadow:0 0 0 1px #bad700 inset;
}
.surface-card__icon{display:grid;place-items:center;height:25px}
.surface-card__label{font-size:9.5px;line-height:1.15;text-align:center;font-weight:550}
.form-group{margin-top:13px}
.form-group input[type="text"],
.form-group select,
.product-field{
  width:100%;
  min-height:39px;
  padding:8px 11px;
  border:1px solid var(--ui-border);
  border-radius:9px;
  background:rgba(255,255,255,.32);
  color:var(--ui-dark);
  outline:none;
  font-size:11px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.form-group input[type="text"]:focus,
.form-group select:focus,
.product-field:focus-visible{
  border-color:var(--ui-dark-soft);
  background:#fff;
  box-shadow:0 0 0 3px rgba(17,26,46,.07);
}
.select-wrap{position:relative}
.select-wrap select{appearance:none;padding-right:38px}
.select-wrap__icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--ui-muted)}
.product-field{display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;color:var(--ui-muted)}
.product-field__icon{margin-left:auto}
.product-field__thumb{width:25px;height:25px;border:1px solid var(--ui-border-soft);border-radius:6px;object-fit:cover;flex:none}
.radio-row{display:flex;flex-wrap:wrap;gap:18px}
.radio-row label{display:flex;align-items:center;gap:7px;color:var(--ui-dark);font-size:11px;cursor:pointer}
.radio-row input{accent-color:var(--ui-dark)}
.surface-form-card .action-button{margin-top:15px}
.secondary-dashed-button{
  width:100%;
  min-height:40px;
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px dashed var(--ui-border);
  border-radius:11px;
  color:#52617a;
  cursor:pointer;
  font-size:11px;
  font-weight:600;
}
.secondary-dashed-button:hover{border-color:var(--ui-dark);background:rgba(255,255,255,.38);color:var(--ui-dark)}
.selection-form-column>#btn-ver-resultado{margin-top:10px}
.selection-preview__sticky{position:sticky;top:82px}
.selection-preview img{
  width:100%;
  max-height:300px;
  display:block;
  border:1px solid var(--ui-border);
  border-radius:15px;
  background:#fff;
  object-fit:cover;
  box-shadow:var(--ui-shadow-soft);
}

/* ---------- Catálogo ---------- */
.modal-shell{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
.modal-shell__backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(13,17,25,.72);cursor:default}
.catalog-modal{
  position:relative;
  width:min(100%,1040px);
  max-height:min(86vh,760px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.5);
  border-radius:16px;
  background:var(--ui-bg);
  box-shadow:0 30px 80px rgba(0,0,0,.3);
}
.catalog-modal__header{height:62px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-border)}
.catalog-modal__eyebrow{display:block;color:var(--ui-muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.catalog-modal__header h2{margin-top:2px;color:var(--ui-dark);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em}
.catalog-filters{padding:16px 20px 12px;border-bottom:1px solid var(--ui-border);display:grid;gap:11px}
.catalog-search{position:relative}
.catalog-search__icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ui-muted)}
.catalog-search input{width:100%;height:40px;padding:0 14px 0 41px;border:1px solid var(--ui-border);border-radius:999px;background:rgba(255,255,255,.3);outline:none;font-size:11px}
.catalog-search input:focus{border-color:var(--ui-dark);background:#fff}
.catalog-filter-label{display:block;margin-bottom:6px;color:#66748d;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.catalog-chips,.catalog-colors{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.catalog-chip{min-height:29px;padding:5px 13px;border:1px solid var(--ui-border);border-radius:999px;background:transparent;color:var(--ui-dark);cursor:pointer;font-size:10px;font-weight:550}
.catalog-chip:hover,.catalog-chip.is-active{border-color:var(--ui-dark);background:var(--ui-dark);color:#fff}
.catalog-color{width:25px;height:25px;border-radius:999px;cursor:pointer;transition:transform .15s ease}
.catalog-color:hover{transform:scale(1.08)}
.catalog-total{color:var(--ui-muted);font-size:10px}
.catalog-grid{min-height:260px;padding:18px 22px 24px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:22px 26px;overflow-y:auto}
.catalog-product{min-width:0;display:flex;flex-direction:column;align-items:center;background:transparent;cursor:pointer;text-align:center}
.catalog-product__image{width:72px;height:72px;display:block;overflow:hidden;border:1px solid transparent;border-radius:12px;background:#fff;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.catalog-product:hover .catalog-product__image{border-color:var(--ui-dark);transform:translateY(-2px);box-shadow:var(--ui-shadow-soft)}
.catalog-product__image img{width:100%;height:100%;object-fit:cover}
.catalog-product strong{max-width:100%;margin-top:7px;overflow:hidden;color:var(--ui-dark);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.catalog-product>span:last-child{max-width:100%;margin-top:1px;overflow:hidden;color:var(--ui-muted);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
.catalog-empty{grid-column:1/-1;padding:60px 0;color:var(--ui-muted);text-align:center;font-size:11px}

/* ---------- Processamento ---------- */
.loading-page{width:min(100% - 32px,470px);margin:0 auto;padding:32px 0 10px}
.loading-page .wizard{margin-top:0}
.loading-page__intro{margin:38px 0 22px;text-align:center}
.loading-page__intro h1{color:var(--ui-dark);font-size:18px;font-weight:850;letter-spacing:-.02em}
.loading-page__intro p{margin-top:7px;color:var(--ui-muted);font-size:11px;line-height:1.55}
.loading-steps{display:grid;gap:8px}
.loading-step{min-height:58px;padding:10px 13px;display:flex;align-items:center;gap:12px;border:1px solid var(--ui-border);border-radius:12px;background:rgba(255,255,255,.36);transition:opacity .2s ease,border-color .2s ease,background .2s ease}
.loading-step.is-pending{opacity:.42}
.loading-step.is-active{border-color:var(--ui-dark);background:#fff;box-shadow:var(--ui-shadow-soft)}
.loading-step.is-done{opacity:.78;border-color:#b8c3b6}
.loading-step__icon{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:#ebe8e1;color:var(--ui-muted)}
.loading-step.is-active .loading-step__icon{background:var(--ui-dark);color:#fff}
.loading-step.is-done .loading-step__icon{background:#e4f2e4;color:var(--ui-success)}
.loading-step__label{color:var(--ui-dark);font-size:11px;font-weight:650}
.loading-step__spinner{margin-left:auto;width:20px;height:20px;color:var(--ui-dark)}
.spinner-svg{width:100%;height:100%;animation:uiSpin .9s linear infinite}
@keyframes uiSpin{to{transform:rotate(360deg)}}
.progress-track{height:6px;margin-top:18px;overflow:hidden;border-radius:999px;background:var(--ui-border)}
.progress-track__bar{height:100%;border-radius:inherit;background:var(--ui-dark);transition:width .5s ease}
.progress-label{margin-top:8px;color:var(--ui-muted);text-align:center;font-size:10px}
.request-error,.result-unavailable{margin-top:18px;padding:13px;display:flex;align-items:flex-start;gap:10px;border:1px solid #f1c4c4;border-radius:12px;background:#fff5f5;color:#a73535;font-size:11px}
.request-error strong,.result-unavailable strong{display:block;margin-bottom:3px}
.request-error a,.result-unavailable a{display:inline-block;margin-top:5px;text-decoration:underline;font-weight:650}

/* ---------- Resultado ---------- */
.result-page{width:min(100% - 32px,960px);margin:0 auto;padding:28px 0 8px}
.result-page .wizard{margin-top:0}
.result-page__title{margin:24px 0 18px}
.project-toolbar{margin-bottom:18px;display:flex;align-items:end;gap:10px}
.project-name-field{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.project-name-field span{color:var(--ui-muted);font-size:10px;font-weight:600}
.project-name-field input{width:100%;height:40px;padding:0 12px;border:1px dashed var(--ui-border);border-radius:9px;background:transparent;color:var(--ui-dark);outline:none;font-size:12px;font-weight:700}
.project-name-field input:focus{border-style:solid;border-color:var(--ui-dark);background:#fff}
.project-toolbar__actions{display:flex;gap:8px}
.compact-button{height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ui-border);border-radius:999px;background:rgba(255,255,255,.2);color:var(--ui-dark);cursor:pointer;text-decoration:none;font-size:10px;font-weight:650;white-space:nowrap}
.compact-button:hover{border-color:var(--ui-dark);background:#fff}
.result-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(250px,280px);justify-content:center;align-items:start;gap:18px}
.comparison-labels{margin:0 3px 6px;display:flex;justify-content:space-between;color:var(--ui-dark);font-size:10px;font-weight:700}
.comparison{position:relative;overflow:hidden;border:1px solid var(--ui-border);border-radius:14px;background:#fff;cursor:col-resize;user-select:none;box-shadow:var(--ui-shadow-soft)}
.comparison__after{width:100%;display:block}
.comparison__before-clip{position:absolute;inset:0;overflow:hidden}
.comparison__before{position:absolute;left:0;top:0;max-width:none;object-fit:cover}
.comparison__handle{position:absolute;top:0;bottom:0;width:40px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;z-index:10}
.comparison__line{width:2px;height:100%;background:rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(17,26,46,.08)}
.comparison__grip{position:absolute;width:39px;height:39px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.95);border-radius:999px;background:rgba(255,255,255,.94);color:var(--ui-dark);box-shadow:0 4px 16px rgba(17,26,46,.25)}
.comparison__grip .ui-icon+ .ui-icon{margin-left:-5px}
.comparison-note{margin-top:7px;color:var(--ui-muted);font-size:9px;line-height:1.45}
.text-link-button{margin-top:6px;display:inline-flex;align-items:center;gap:5px;color:var(--ui-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-size:9px}
.result-sidebar{display:grid;gap:10px}
.result-card{padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:rgba(255,255,255,.36)}
.result-card h2{margin:0 0 10px;color:var(--ui-dark);font-size:11px;font-weight:800}
.result-selections{display:grid;gap:9px;margin-bottom:10px}
.result-selection{display:flex;align-items:flex-start;gap:9px}
.result-selection__thumb{width:38px;height:38px;border:1px solid var(--ui-border-soft);border-radius:8px;object-fit:cover;flex:none}
.result-selection div{min-width:0;display:flex;flex-direction:column;gap:2px}
.result-selection strong{font-size:10px;color:var(--ui-dark)}
.result-selection span{font-size:8.5px;line-height:1.35;color:var(--ui-muted)}
.result-card .action-button+ .action-button{margin-top:7px}
.feedback-buttons{display:flex;justify-content:space-around;gap:9px}
.feedback-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ui-border);border-radius:999px;background:transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.feedback-button:hover{transform:translateY(-2px);background:#fff}
.feedback-button--bad{color:#ef5555}.feedback-button--neutral{color:#e0a000}.feedback-button--good{color:#0db885}
.feedback-thanks{color:var(--ui-success);font-size:10px;text-align:center;font-weight:700}
.commercial-button{width:100%;min-height:42px;padding:9px 15px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;cursor:pointer;font-size:11px;font-weight:800}
.commercial-button--accent{background:var(--ui-accent);color:var(--ui-dark)}
.commercial-button--dark{background:var(--ui-dark);color:#fff}
.input-field{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--ui-border);border-radius:9px;background:#fff;color:var(--ui-dark);outline:none;font-size:12px}
.input-field:focus{border-color:var(--ui-dark);box-shadow:0 0 0 3px rgba(17,26,46,.06)}

/* ---------- Admin ---------- */
.admin-body{min-height:100vh;margin:0;background:#f5f2ec;color:var(--ui-dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--ui-border);background:#fffdf9}
.admin-sidebar__brand{height:66px;padding:0 17px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ui-border-soft)}
.admin-sidebar__brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--ui-dark);color:#fff}
.admin-sidebar__brand>div{min-width:0;display:flex;flex-direction:column}
.admin-sidebar__brand strong{overflow:hidden;color:var(--ui-dark);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.admin-sidebar__brand span:not(.admin-sidebar__brand-mark){margin-top:3px;color:var(--ui-muted);font-size:9px}
.admin-nav{flex:1;padding:13px 11px;display:grid;align-content:start;gap:4px;overflow-y:auto}
.admin-nav__link{min-height:39px;padding:8px 11px;display:flex;align-items:center;gap:10px;border-radius:9px;color:#5d6880;text-decoration:none;font-size:11px;font-weight:600;transition:background .15s ease,color .15s ease}
.admin-nav__link:hover{background:#f3f0e9;color:var(--ui-dark)}
.admin-nav__link.is-active{background:var(--ui-dark);color:#fff;box-shadow:0 8px 18px rgba(17,26,46,.14)}
.admin-nav__icon{opacity:.9}
.admin-sidebar__footer{padding:12px;border-top:1px solid var(--ui-border-soft)}
.admin-user{display:flex;align-items:center;gap:9px}
.admin-user__avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e9e5dc;color:var(--ui-dark);font-size:11px;font-weight:800}
.admin-user>div{min-width:0;display:flex;flex:1;flex-direction:column}
.admin-user strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.admin-user span:last-child{margin-top:2px;color:var(--ui-muted);font-size:8.5px}
.admin-logout{margin-top:9px;padding:7px 9px;display:flex;align-items:center;gap:7px;border-radius:8px;color:var(--ui-danger);text-decoration:none;font-size:10px;font-weight:600}
.admin-logout:hover{background:#fff3f3}
.admin-main{min-width:0}
.admin-topbar{height:66px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-border);background:rgba(255,253,249,.88);backdrop-filter:blur(10px)}
.admin-topbar__eyebrow{display:block;color:var(--ui-muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.admin-topbar h1{margin-top:2px;color:var(--ui-dark);font-size:16px;font-weight:800;letter-spacing:-.02em}
.admin-preview-link{height:34px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid var(--ui-border);border-radius:999px;background:#fff;color:var(--ui-dark);text-decoration:none;font-size:9.5px;font-weight:650}
.admin-preview-link:hover{border-color:var(--ui-dark)}
.admin-content{width:min(100% - 36px,1320px);margin:0 auto;padding:22px 0 34px}
.admin-mobile-nav{display:none}
.admin-flash{width:min(100% - 36px,1320px);margin:14px auto 0;padding:10px 12px;display:flex;align-items:center;gap:8px;border:1px solid;border-radius:10px;font-size:10.5px;font-weight:650}
.admin-flash--success{border-color:#bcdabd;background:#eff9f0;color:#216422}
.admin-flash--error{border-color:#efc2c2;background:#fff3f3;color:#9f3434}
.card,.admin-panel-card{border:1px solid var(--ui-border);border-radius:13px;background:#fffdf9;box-shadow:0 2px 8px rgba(17,26,46,.025)}
.card{padding:16px}
.input-admin{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--ui-border);border-radius:8px;background:#fff;color:var(--ui-dark);outline:none;font-size:11px;transition:border-color .15s ease,box-shadow .15s ease}
.input-admin:focus{border-color:var(--ui-dark);box-shadow:0 0 0 3px rgba(17,26,46,.06)}
textarea.input-admin{line-height:1.5;resize:vertical}
.btn-sm{min-height:35px;padding:7px 12px;border-radius:8px;font-size:10px;font-weight:700}
.badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:8.5px;font-weight:750;text-transform:uppercase;letter-spacing:.025em}
.badge-green{background:#e2f4e4;color:#216422}.badge-red{background:#fde8e8;color:#9f3434}.badge-yellow{background:#fff2d8;color:#925d00}.badge-gray{background:#eef0f3;color:#566174}
.admin-table-wrap{overflow:auto}
.admin-table, .admin-body table{width:100%;border-collapse:collapse}
.admin-table th,.admin-body th{padding:9px 10px;border-bottom:1px solid var(--ui-border);color:#768196;text-align:left;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap}
.admin-table td,.admin-body td{padding:9px 10px;border-bottom:1px solid #efede8;color:#465269;font-size:10px;vertical-align:middle}
.admin-body tbody tr:last-child td{border-bottom:0}
.admin-body tbody tr:hover td{background:#fbfaf7}
.admin-table-primary{display:block;color:var(--ui-dark);font-size:10.5px}
.admin-table-secondary{display:block;margin-top:2px;color:var(--ui-muted);font-size:8.5px}
.admin-muted-cell{color:var(--ui-muted)!important;white-space:nowrap}
.admin-empty-cell{padding:28px!important;color:var(--ui-muted)!important;text-align:center!important}
.admin-item-link{color:var(--ui-dark);font-weight:650;text-decoration:none}.admin-item-link:hover{text-decoration:underline}
.admin-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.admin-stat-card{min-height:78px;padding:13px;display:flex;align-items:center;gap:11px;border:1px solid var(--ui-border);border-radius:12px;background:#fffdf9}
.admin-stat-card__icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eef0f5;color:#53627c;flex:none}
.admin-stat-card>div{display:flex;flex-direction:column}
.admin-stat-card strong{color:var(--ui-dark);font-size:20px;line-height:1;font-weight:850;letter-spacing:-.03em}
.admin-stat-card span:last-child{margin-top:5px;color:var(--ui-muted);font-size:8.5px}
.admin-stat-card--green .admin-stat-card__icon{background:#e5f4e5;color:#2f7130}.admin-stat-card--red .admin-stat-card__icon{background:#fde9e9;color:#b94646}.admin-stat-card--orange .admin-stat-card__icon{background:#fff1dd;color:#ad6a14}.admin-stat-card--purple .admin-stat-card__icon{background:#f0eaf8;color:#6f4a96}.admin-stat-card--teal .admin-stat-card__icon{background:#e3f3f1;color:#28766e}.admin-stat-card--yellow .admin-stat-card__icon{background:#fff5d9;color:#9d7200}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-panel-card{overflow:hidden}
.admin-panel-card__header{padding:13px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-border-soft)}
.admin-panel-card__eyebrow{display:block;color:var(--ui-muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.admin-panel-card__header h2{margin-top:2px;color:var(--ui-dark);font-size:12px;font-weight:800}
.admin-text-link{display:flex;align-items:center;gap:4px;color:#52617a;text-decoration:none;font-size:9px;font-weight:650}.admin-text-link:hover{color:var(--ui-dark)}
.admin-page-heading{margin-bottom:15px;padding:0 2px;display:flex;align-items:center;justify-content:space-between}
.admin-page-heading__eyebrow{display:block;color:var(--ui-muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.admin-page-heading h2{margin-top:2px;color:var(--ui-dark);font-size:18px;font-weight:850;letter-spacing:-.025em}
.admin-page-heading p{max-width:660px;margin-top:4px;color:var(--ui-muted);font-size:10px;line-height:1.5}
.admin-page-heading__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--ui-dark);color:#fff}
.ai-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ai-provider-card{padding:15px;border:1px solid var(--ui-border);border-radius:13px;background:#fffdf9}
.ai-provider-card__header{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--ui-border-soft)}
.ai-provider-card__mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eff0f3;color:var(--ui-dark)}
.ai-provider-card__header>div:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column}
.ai-provider-card__header h3{overflow:hidden;color:var(--ui-dark);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.ai-provider-card__header>div:nth-child(2)>span{margin-top:2px;color:var(--ui-muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.ai-provider-status{display:flex;align-items:center;gap:5px;color:var(--ui-muted);font-size:8.5px;font-weight:700}
.ai-provider-status>span{width:7px;height:7px;border-radius:999px;background:#aab1bd}.ai-provider-status.is-enabled>span{background:#35a554}.ai-provider-status.is-enabled{color:#2d7c42}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-field{display:flex;flex-direction:column;gap:5px}.admin-field--wide{grid-column:1/-1}
.admin-field>span{color:#566174;font-size:9px;font-weight:700}.admin-field small{color:var(--ui-muted);font-size:8px;line-height:1.4}
.admin-code-field{min-height:92px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px!important}
.admin-input-with-icon{position:relative}.admin-input-with-icon__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ui-muted)}.admin-input-with-icon .input-admin{padding-left:34px}
.ai-provider-card__options{margin-top:12px;display:flex;gap:18px}
.admin-switch{display:flex;align-items:center;gap:7px;cursor:pointer;color:#47536a;font-size:9.5px;font-weight:650}.admin-switch input{position:absolute;opacity:0;pointer-events:none}.admin-switch__track{width:31px;height:18px;padding:2px;display:flex;border-radius:999px;background:#d6d8dc;transition:background .15s ease}.admin-switch__track:after{content:"";width:14px;height:14px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .15s ease}.admin-switch input:checked+.admin-switch__track{background:var(--ui-dark)}.admin-switch input:checked+.admin-switch__track:after{transform:translateX(13px)}
.ai-provider-card__footer{margin-top:13px;padding-top:12px;display:flex;gap:8px;border-top:1px solid var(--ui-border-soft)}
.admin-button{min-height:34px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--ui-border);border-radius:8px;cursor:pointer;font-size:9.5px;font-weight:750}.admin-button--primary{border-color:var(--ui-dark);background:var(--ui-dark);color:#fff}.admin-button--secondary{background:#fff;color:var(--ui-dark)}.admin-button:disabled{cursor:not-allowed;opacity:.55}
.admin-notice{margin-top:14px;padding:12px 13px;display:flex;align-items:flex-start;gap:10px;border:1px solid;border-radius:11px;font-size:9.5px}.admin-notice strong{display:block;margin-bottom:3px}.admin-notice p{line-height:1.5}.admin-notice--warning{border-color:#ead4a5;background:#fff9eb;color:#765313}
.admin-login-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:radial-gradient(circle at top right,#fff 0,transparent 32%),var(--ui-bg);color:var(--ui-dark);font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.admin-login-card{width:min(100%,390px);padding:24px;border:1px solid var(--ui-border);border-radius:17px;background:#fffdf9;box-shadow:var(--ui-shadow)}
.admin-login-brand{display:flex;align-items:center;gap:10px}.admin-login-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--ui-dark);color:#fff}.admin-login-brand>div{display:flex;flex-direction:column}.admin-login-brand strong{font-size:13px}.admin-login-brand small{margin-top:3px;color:var(--ui-muted);font-size:9px}
.admin-login-heading{margin:25px 0 17px}.admin-login-heading h1{font-size:20px;font-weight:850;letter-spacing:-.03em}.admin-login-heading p{margin-top:5px;color:var(--ui-muted);font-size:10px;line-height:1.5}
.admin-login-error{width:100%;margin:0 0 13px}
.admin-login-form{display:grid;gap:13px}.admin-login-form label{display:grid;gap:6px}.admin-login-form label>span{color:#566174;font-size:9.5px;font-weight:700}.admin-login-form input{height:41px;padding:0 11px;border:1px solid var(--ui-border);border-radius:9px;background:#fff;outline:none;font-size:11px}.admin-login-form input:focus{border-color:var(--ui-dark);box-shadow:0 0 0 3px rgba(17,26,46,.06)}.admin-login-form .action-button{margin-top:3px}

/* ---------- Responsividade ---------- */
@media (max-width:900px){
  .selection-layout,.result-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px}
  .surface-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .admin-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .public-header__inner{width:min(100% - 24px,920px)}
  .public-brand{font-size:15px}
  .upload-page,.selection-page,.result-page,.loading-page{width:min(100% - 24px,720px);padding-top:26px}
  .public-title{font-size:21px}
  .wizard{width:min(100%,390px);margin-top:22px;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto}
  .wizard__item{width:66px}.wizard__circle{width:34px;height:34px}.wizard__line{margin-top:17px}
  .selection-layout,.result-layout{grid-template-columns:1fr}
  .selection-preview{order:-1;width:min(100%,520px);margin:0 auto}
  .selection-preview__sticky{position:static}.selection-preview img{max-height:280px;object-fit:contain}
  .surface-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-toolbar{align-items:stretch;flex-direction:column}.project-toolbar__actions{width:100%}.compact-button{flex:1}
  .modal-shell{padding:0;align-items:end}.catalog-modal{max-height:92vh;border-radius:16px 16px 0 0}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}
  .admin-shell{display:block}.admin-sidebar{display:none}.admin-topbar{height:60px;padding:0 14px}.admin-preview-link span{display:none}.admin-content{width:min(100% - 24px,1320px);padding-top:15px}.admin-mobile-nav{padding:8px 12px;display:flex;gap:7px;overflow-x:auto;border-bottom:1px solid var(--ui-border);background:#fffdf9}.admin-mobile-nav a{min-width:max-content;padding:7px 10px;display:flex;align-items:center;gap:6px;border:1px solid var(--ui-border);border-radius:8px;color:var(--ui-dark);text-decoration:none;font-size:9px;font-weight:650}.admin-mobile-nav a.is-active{border-color:var(--ui-dark);background:var(--ui-dark);color:#fff}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid,.ai-provider-grid{grid-template-columns:1fr}.admin-flash{width:min(100% - 24px,1320px)}
}
@media (max-width:520px){
  .public-header{height:54px}.public-header__inner{width:calc(100% - 20px)}.public-brand{font-size:14px;gap:6px}.public-brand__mark{width:24px;height:24px}.public-badge{font-size:9px}
  .upload-page,.selection-page,.result-page,.loading-page{width:calc(100% - 20px);padding-top:22px}
  .public-title{font-size:19px}.public-section-title{font-size:16px}
  .upload-core{margin-top:22px}.upload-dropzone{min-height:155px;padding:22px 15px}.upload-icon{width:45px;height:45px}.upload-copy{font-size:12px}.upload-formats{font-size:9px}
  .wizard__item{width:58px}.wizard__label{font-size:9px}
  .selection-page__title,.result-page__title{margin-top:21px}
  .surface-form-card{padding:13px}.surface-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.surface-card{min-height:66px}.surface-card__label{font-size:9px}
  .catalog-modal__header{padding:0 15px}.catalog-filters{padding:13px 15px 10px}.catalog-grid{padding:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-product__image{width:82px;height:82px}
  .project-toolbar__actions{flex-direction:column}.compact-button{width:100%}.result-sidebar{gap:8px}
  .admin-stats-grid{grid-template-columns:1fr 1fr;gap:8px}.admin-stat-card{min-height:70px;padding:10px}.admin-stat-card__icon{width:32px;height:32px}.admin-stat-card strong{font-size:17px}.admin-form-grid{grid-template-columns:1fr}.admin-field--wide{grid-column:auto}.ai-provider-card__footer{flex-direction:column}.admin-button{width:100%}.admin-page-heading__icon{display:none}
  .admin-body table{min-width:620px}
}
