/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
:root, :host {
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
    monospace;
  --color-amber-50: oklch(98.7% 0.022 95.277);
  --color-amber-100: oklch(96.2% 0.059 95.617);
  --color-amber-500: oklch(76.9% 0.188 70.08);
  --color-amber-600: oklch(66.6% 0.179 58.318);
  --color-amber-700: oklch(55.5% 0.163 48.998);
  --color-amber-800: oklch(47.3% 0.137 46.201);
  --color-green-100: oklch(96.2% 0.044 156.743);
  --color-emerald-50: oklch(97.9% 0.021 166.113);
  --color-emerald-100: oklch(95% 0.052 163.051);
  --color-emerald-500: oklch(69.6% 0.17 162.48);
  --color-emerald-600: oklch(59.6% 0.145 163.225);
  --color-emerald-700: oklch(50.8% 0.118 165.612);
  --color-emerald-800: oklch(43.2% 0.095 166.913);
  --color-teal-50: oklch(98.4% 0.014 180.72);
  --color-teal-100: oklch(95.3% 0.051 180.801);
  --color-teal-700: oklch(51.1% 0.096 186.391);
  --color-blue-50: oklch(97% 0.014 254.604);
  --color-blue-100: oklch(93.2% 0.032 255.585);
  --color-blue-200: oklch(88.2% 0.059 254.128);
  --color-blue-500: oklch(62.3% 0.214 259.815);
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-blue-700: oklch(48.8% 0.243 264.376);
  --color-blue-800: oklch(42.4% 0.199 265.638);
  --color-blue-900: oklch(37.9% 0.146 265.522);
  --color-indigo-50: oklch(96.2% 0.018 272.314);
  --color-indigo-100: oklch(93% 0.034 272.788);
  --color-indigo-500: oklch(58.5% 0.233 277.117);
  --color-indigo-600: oklch(51.1% 0.262 276.966);
  --color-indigo-700: oklch(45.7% 0.24 277.023);
  --color-indigo-800: oklch(39.8% 0.195 277.366);
  --color-indigo-900: oklch(35.9% 0.144 278.697);
  --color-violet-50: oklch(96.9% 0.016 293.756);
  --color-violet-100: oklch(94.3% 0.029 294.588);
  --color-violet-700: oklch(49.1% 0.27 292.581);
  --color-purple-50: oklch(97.7% 0.014 308.299);
  --color-purple-100: oklch(94.6% 0.033 307.174);
  --color-purple-700: oklch(49.6% 0.265 301.924);
  --color-rose-50: oklch(96.9% 0.015 12.422);
  --color-rose-100: oklch(94.1% 0.03 12.58);
  --color-rose-300: oklch(81% 0.117 11.638);
  --color-rose-400: oklch(71.2% 0.194 13.428);
  --color-rose-500: oklch(64.5% 0.246 16.439);
  --color-rose-600: oklch(58.6% 0.253 17.585);
  --color-rose-700: oklch(51.4% 0.222 16.935);
  --color-rose-950: oklch(27.1% 0.105 12.094);
  --color-slate-100: oklch(96.8% 0.007 247.896);
  --color-slate-500: oklch(55.4% 0.046 257.417);
  --color-slate-900: oklch(20.8% 0.042 265.755);
  --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-gray-800: oklch(27.8% 0.033 256.848);
  --color-black: #000;
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-xs: 20rem;
  --container-md: 28rem;
  --container-lg: 32rem;
  --container-2xl: 42rem;
  --container-4xl: 56rem;
  --container-5xl: 64rem;
  --container-6xl: 72rem;
  --container-7xl: 80rem;
  --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);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
  --radius-3xl: 1.5rem;
  --animate-spin: spin 1s linear infinite;
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  --animate-bounce: bounce 1s infinite;
  --blur-sm: 8px;
  --blur-md: 12px;
  --blur-lg: 16px;
  --blur-xl: 24px;
  --blur-2xl: 40px;
  --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-bg: rgba(255, 255, 255, 0.2);
  --color-brand-surface: rgba(255, 255, 255, 0.4);
  --color-brand-primary: #2563EB;
  --color-brand-text: #1F2937;
  --color-brand-muted: #4B5563;
  --color-brand-border: rgba(255, 255, 255, 0.4);
  --color-status-available: #10B981;
  --color-status-sold: #EF4444;
  --color-status-process: #F59E0B;
}
*, ::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;
}
@layer base {
  html, body, #root {
    height: 100%;
    height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  body {
    color: var(--color-brand-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #f3f4f6;
    background-image: radial-gradient(circle at 10% 20%, rgba(37, 99, 235, 0.15) 0%, transparent 40%), radial-gradient(circle at 90% 10%, rgba(16, 185, 129, 0.15) 0%, transparent 40%), radial-gradient(circle at 80% 80%, rgba(139, 92, 246, 0.15) 0%, transparent 50%), radial-gradient(circle at 20% 90%, rgba(236, 72, 153, 0.15) 0%, transparent 50%);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.pill-button {
  cursor: pointer;
  border-radius: calc(infinity * 1px);
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: var(--color-brand-border);
  background-color: var(--color-brand-surface);
  padding-inline: calc(var(--spacing) * 4);
  padding-block: calc(var(--spacing) * 1.5);
  font-size: 13px;
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  --tw-backdrop-blur: blur(var(--blur-md));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  transition-property: all;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #fff 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
      }
    }
  }
}
.pill-button.active {
  border-color: color-mix(in srgb, #2563EB 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand-primary) 50%, transparent);
  }
  background-color: color-mix(in srgb, #2563EB 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-primary) 90%, transparent);
  }
  color: var(--color-white);
  --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);
  --tw-shadow-color: color-mix(in srgb, #2563EB 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
  --tw-backdrop-blur: blur(var(--blur-lg));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.clean-card {
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 3);
  border-radius: 16px;
  border-style: var(--tw-border-style);
  border-width: 1px;
  border-color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
  background-color: color-mix(in srgb, #fff 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 40%, transparent);
  }
  padding: calc(var(--spacing) * 4);
  --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(31,38,135,0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  --tw-backdrop-blur: blur(var(--blur-xl));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  transition-property: box-shadow;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(31,38,135,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);
    }
  }
}
.map-container {
  height: 400px;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  z-index: 10;
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.05);
}
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
}
::-webkit-scrollbar-thumb {
  border-radius: calc(infinity * 1px);
  background-color: color-mix(in srgb, #1F2937 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-text) 20%, transparent);
  }
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #1F2937 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-text) 30%, transparent);
      }
    }
  }
}
.pointer-events-auto {
  pointer-events: auto;
}
.pointer-events-none {
  pointer-events: none;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: calc(var(--spacing) * 0);
}
.top-0 {
  top: calc(var(--spacing) * 0);
}
.top-1\/2 {
  top: calc(1/2 * 100%);
}
.top-2 {
  top: calc(var(--spacing) * 2);
}
.top-3 {
  top: calc(var(--spacing) * 3);
}
.top-4 {
  top: calc(var(--spacing) * 4);
}
.top-full {
  top: 100%;
}
.right-0 {
  right: calc(var(--spacing) * 0);
}
.right-2 {
  right: calc(var(--spacing) * 2);
}
.right-3 {
  right: calc(var(--spacing) * 3);
}
.right-4 {
  right: calc(var(--spacing) * 4);
}
.bottom-0 {
  bottom: calc(var(--spacing) * 0);
}
.bottom-1\.5 {
  bottom: calc(var(--spacing) * 1.5);
}
.bottom-2 {
  bottom: calc(var(--spacing) * 2);
}
.bottom-3 {
  bottom: calc(var(--spacing) * 3);
}
.bottom-24 {
  bottom: calc(var(--spacing) * 24);
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: calc(var(--spacing) * 0);
}
.left-1\/2 {
  left: calc(1/2 * 100%);
}
.left-2 {
  left: calc(var(--spacing) * 2);
}
.left-3 {
  left: calc(var(--spacing) * 3);
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[50\] {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[110\] {
  z-index: 110;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[1100\] {
  z-index: 1100;
}
.z-\[2000\] {
  z-index: 2000;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.container {
  width: 100%;
  @media (width >= 40rem) {
    max-width: 40rem;
  }
  @media (width >= 48rem) {
    max-width: 48rem;
  }
  @media (width >= 64rem) {
    max-width: 64rem;
  }
  @media (width >= 80rem) {
    max-width: 80rem;
  }
  @media (width >= 96rem) {
    max-width: 96rem;
  }
}
.-mx-4 {
  margin-inline: calc(var(--spacing) * -4);
}
.mx-1 {
  margin-inline: calc(var(--spacing) * 1);
}
.mx-auto {
  margin-inline: auto;
}
.my-8 {
  margin-block: calc(var(--spacing) * 8);
}
.mt-0\.5 {
  margin-top: calc(var(--spacing) * 0.5);
}
.mt-1 {
  margin-top: calc(var(--spacing) * 1);
}
.mt-1\.5 {
  margin-top: calc(var(--spacing) * 1.5);
}
.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-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-10 {
  margin-top: calc(var(--spacing) * 10);
}
.mr-1 {
  margin-right: calc(var(--spacing) * 1);
}
.mb-0\.5 {
  margin-bottom: calc(var(--spacing) * 0.5);
}
.mb-1 {
  margin-bottom: calc(var(--spacing) * 1);
}
.mb-1\.5 {
  margin-bottom: calc(var(--spacing) * 1.5);
}
.mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.mb-2\.5 {
  margin-bottom: calc(var(--spacing) * 2.5);
}
.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);
}
.mb-10 {
  margin-bottom: calc(var(--spacing) * 10);
}
.-ml-2 {
  margin-left: calc(var(--spacing) * -2);
}
.ml-1 {
  margin-left: calc(var(--spacing) * 1);
}
.ml-1\.5 {
  margin-left: calc(var(--spacing) * 1.5);
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.h-1 {
  height: calc(var(--spacing) * 1);
}
.h-1\.5 {
  height: calc(var(--spacing) * 1.5);
}
.h-2 {
  height: calc(var(--spacing) * 2);
}
.h-3 {
  height: calc(var(--spacing) * 3);
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-5 {
  height: calc(var(--spacing) * 5);
}
.h-6 {
  height: calc(var(--spacing) * 6);
}
.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-12 {
  height: calc(var(--spacing) * 12);
}
.h-16 {
  height: calc(var(--spacing) * 16);
}
.h-20 {
  height: calc(var(--spacing) * 20);
}
.h-32 {
  height: calc(var(--spacing) * 32);
}
.h-36 {
  height: calc(var(--spacing) * 36);
}
.h-64 {
  height: calc(var(--spacing) * 64);
}
.h-\[90vh\] {
  height: 90vh;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-fit {
  height: fit-content;
}
.h-full {
  height: 100%;
}
.h-max {
  height: max-content;
}
.h-px {
  height: 1px;
}
.max-h-24 {
  max-height: calc(var(--spacing) * 24);
}
.max-h-48 {
  max-height: calc(var(--spacing) * 48);
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[92vh\] {
  max-height: 92vh;
}
.min-h-0 {
  min-height: calc(var(--spacing) * 0);
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-\[500px\] {
  min-height: 500px;
}
.min-h-screen {
  min-height: 100vh;
}
.w-1 {
  width: calc(var(--spacing) * 1);
}
.w-1\.5 {
  width: calc(var(--spacing) * 1.5);
}
.w-2 {
  width: calc(var(--spacing) * 2);
}
.w-3 {
  width: calc(var(--spacing) * 3);
}
.w-4 {
  width: calc(var(--spacing) * 4);
}
.w-5 {
  width: calc(var(--spacing) * 5);
}
.w-6 {
  width: calc(var(--spacing) * 6);
}
.w-7 {
  width: calc(var(--spacing) * 7);
}
.w-8 {
  width: calc(var(--spacing) * 8);
}
.w-10 {
  width: calc(var(--spacing) * 10);
}
.w-12 {
  width: calc(var(--spacing) * 12);
}
.w-16 {
  width: calc(var(--spacing) * 16);
}
.w-18 {
  width: calc(var(--spacing) * 18);
}
.w-20 {
  width: calc(var(--spacing) * 20);
}
.w-32 {
  width: calc(var(--spacing) * 32);
}
.w-36 {
  width: calc(var(--spacing) * 36);
}
.w-40 {
  width: calc(var(--spacing) * 40);
}
.w-64 {
  width: calc(var(--spacing) * 64);
}
.w-\[1px\] {
  width: 1px;
}
.w-\[380px\] {
  width: 380px;
}
.w-full {
  width: 100%;
}
.max-w-2xl {
  max-width: var(--container-2xl);
}
.max-w-4xl {
  max-width: var(--container-4xl);
}
.max-w-5xl {
  max-width: var(--container-5xl);
}
.max-w-6xl {
  max-width: var(--container-6xl);
}
.max-w-7xl {
  max-width: var(--container-7xl);
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-lg {
  max-width: var(--container-lg);
}
.max-w-md {
  max-width: var(--container-md);
}
.max-w-xs {
  max-width: var(--container-xs);
}
.min-w-0 {
  min-width: calc(var(--spacing) * 0);
}
.min-w-\[12px\] {
  min-width: 12px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.flex-1 {
  flex: 1;
}
.flex-\[2\.5\] {
  flex: 2.5;
}
.flex-\[2\] {
  flex: 2;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.-translate-x-1\/2 {
  --tw-translate-x: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.translate-x-1\/2 {
  --tw-translate-x: calc(1/2 * 100%);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.-translate-y-1\/2 {
  --tw-translate-y: calc(calc(1/2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.scale-90 {
  --tw-scale-x: 90%;
  --tw-scale-y: 90%;
  --tw-scale-z: 90%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
}
.scale-105 {
  --tw-scale-x: 105%;
  --tw-scale-y: 105%;
  --tw-scale-z: 105%;
  scale: var(--tw-scale-x) var(--tw-scale-y);
}
.scale-\[0\.98\] {
  scale: 0.98;
}
.scale-\[0\.99\] {
  scale: 0.99;
}
.rotate-90 {
  rotate: 90deg;
}
.animate-bounce {
  animation: var(--animate-bounce);
}
.animate-pulse {
  animation: var(--animate-pulse);
}
.animate-spin {
  animation: var(--animate-spin);
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-pointer {
  cursor: pointer;
}
.resize-none {
  resize: none;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-center {
  scroll-snap-align: center;
}
.appearance-none {
  appearance: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, 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;
}
.justify-end {
  justify-content: flex-end;
}
.justify-start {
  justify-content: flex-start;
}
.gap-0 {
  gap: calc(var(--spacing) * 0);
}
.gap-0\.5 {
  gap: calc(var(--spacing) * 0.5);
}
.gap-1 {
  gap: calc(var(--spacing) * 1);
}
.gap-1\.5 {
  gap: calc(var(--spacing) * 1.5);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-2\.5 {
  gap: calc(var(--spacing) * 2.5);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-3\.5 {
  gap: calc(var(--spacing) * 3.5);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.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-1\.5 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1.5) * 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)));
  }
}
.space-y-5 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-6 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.space-y-8 {
  :where(& > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
}
.self-start {
  align-self: flex-start;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.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-3xl {
  border-radius: var(--radius-3xl);
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[32px\] {
  border-radius: 32px;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-none {
  border-radius: 0;
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.rounded-t-\[32px\] {
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}
.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-amber-100 {
  border-color: var(--color-amber-100);
}
.border-blue-100 {
  border-color: var(--color-blue-100);
}
.border-blue-100\/40 {
  border-color: color-mix(in srgb, oklch(93.2% 0.032 255.585) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-blue-100) 40%, transparent);
  }
}
.border-blue-200 {
  border-color: var(--color-blue-200);
}
.border-blue-500\/10 {
  border-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
  }
}
.border-blue-500\/20 {
  border-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
  }
}
.border-blue-600 {
  border-color: var(--color-blue-600);
}
.border-brand-bg {
  border-color: var(--color-brand-bg);
}
.border-brand-border {
  border-color: var(--color-brand-border);
}
.border-brand-border\/40 {
  border-color: color-mix(in srgb, rgba(255, 255, 255, 0.4) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand-border) 40%, transparent);
  }
}
.border-brand-primary {
  border-color: var(--color-brand-primary);
}
.border-brand-primary\/10 {
  border-color: color-mix(in srgb, #2563EB 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand-primary) 10%, transparent);
  }
}
.border-brand-primary\/20 {
  border-color: color-mix(in srgb, #2563EB 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-brand-primary) 20%, transparent);
  }
}
.border-emerald-100 {
  border-color: var(--color-emerald-100);
}
.border-emerald-100\/40 {
  border-color: color-mix(in srgb, oklch(95% 0.052 163.051) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-emerald-100) 40%, transparent);
  }
}
.border-emerald-500\/10 {
  border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
  }
}
.border-emerald-500\/20 {
  border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
  }
}
.border-emerald-600 {
  border-color: var(--color-emerald-600);
}
.border-gray-50 {
  border-color: var(--color-gray-50);
}
.border-gray-50\/60 {
  border-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-gray-50) 60%, transparent);
  }
}
.border-gray-100 {
  border-color: var(--color-gray-100);
}
.border-gray-100\/40 {
  border-color: color-mix(in srgb, oklch(96.7% 0.003 264.542) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-gray-100) 40%, transparent);
  }
}
.border-gray-100\/50 {
  border-color: color-mix(in srgb, oklch(96.7% 0.003 264.542) 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);
  }
}
.border-gray-200 {
  border-color: var(--color-gray-200);
}
.border-gray-300 {
  border-color: var(--color-gray-300);
}
.border-green-100 {
  border-color: var(--color-green-100);
}
.border-indigo-100 {
  border-color: var(--color-indigo-100);
}
.border-indigo-100\/30 {
  border-color: color-mix(in srgb, oklch(93% 0.034 272.788) 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-indigo-100) 30%, transparent);
  }
}
.border-indigo-100\/40 {
  border-color: color-mix(in srgb, oklch(93% 0.034 272.788) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-indigo-100) 40%, transparent);
  }
}
.border-indigo-500\/10 {
  border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);
  }
}
.border-indigo-500\/20 {
  border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-indigo-500) 20%, transparent);
  }
}
.border-purple-100 {
  border-color: var(--color-purple-100);
}
.border-rose-100 {
  border-color: var(--color-rose-100);
}
.border-rose-500 {
  border-color: var(--color-rose-500);
}
.border-teal-100 {
  border-color: var(--color-teal-100);
}
.border-violet-100 {
  border-color: var(--color-violet-100);
}
.border-white\/20 {
  border-color: color-mix(in srgb, #fff 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}
.border-white\/30 {
  border-color: color-mix(in srgb, #fff 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
  }
}
.border-white\/40 {
  border-color: color-mix(in srgb, #fff 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
  }
}
.border-white\/50 {
  border-color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.border-white\/60 {
  border-color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 60%, transparent);
  }
}
.border-t-white {
  border-top-color: var(--color-white);
}
.bg-\[\#25D366\] {
  background-color: #25D366;
}
.bg-\[\#F3F4F6\] {
  background-color: #F3F4F6;
}
.bg-amber-50 {
  background-color: var(--color-amber-50);
}
.bg-amber-100 {
  background-color: var(--color-amber-100);
}
.bg-amber-500 {
  background-color: var(--color-amber-500);
}
.bg-black\/5 {
  background-color: color-mix(in srgb, #000 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 5%, transparent);
  }
}
.bg-black\/40 {
  background-color: color-mix(in srgb, #000 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
  }
}
.bg-black\/45 {
  background-color: color-mix(in srgb, #000 45%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 45%, transparent);
  }
}
.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-black\/60 {
  background-color: color-mix(in srgb, #000 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
  }
}
.bg-blue-50 {
  background-color: var(--color-blue-50);
}
.bg-blue-50\/25 {
  background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-blue-50) 25%, transparent);
  }
}
.bg-blue-50\/65 {
  background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-blue-50) 65%, transparent);
  }
}
.bg-blue-100 {
  background-color: var(--color-blue-100);
}
.bg-blue-500 {
  background-color: var(--color-blue-500);
}
.bg-blue-500\/10 {
  background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
  }
}
.bg-blue-600 {
  background-color: var(--color-blue-600);
}
.bg-brand-bg {
  background-color: var(--color-brand-bg);
}
.bg-brand-border {
  background-color: var(--color-brand-border);
}
.bg-brand-primary {
  background-color: var(--color-brand-primary);
}
.bg-brand-primary\/5 {
  background-color: color-mix(in srgb, #2563EB 5%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-primary) 5%, transparent);
  }
}
.bg-brand-primary\/10 {
  background-color: color-mix(in srgb, #2563EB 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-primary) 10%, transparent);
  }
}
.bg-brand-surface {
  background-color: var(--color-brand-surface);
}
.bg-brand-text\/40 {
  background-color: color-mix(in srgb, #1F2937 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-brand-text) 40%, transparent);
  }
}
.bg-emerald-50 {
  background-color: var(--color-emerald-50);
}
.bg-emerald-50\/25 {
  background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-emerald-50) 25%, transparent);
  }
}
.bg-emerald-50\/65 {
  background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-emerald-50) 65%, transparent);
  }
}
.bg-emerald-100 {
  background-color: var(--color-emerald-100);
}
.bg-emerald-500 {
  background-color: var(--color-emerald-500);
}
.bg-emerald-500\/10 {
  background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
  }
}
.bg-emerald-600 {
  background-color: var(--color-emerald-600);
}
.bg-gray-50 {
  background-color: var(--color-gray-50);
}
.bg-gray-50\/30 {
  background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-50) 30%, transparent);
  }
}
.bg-gray-50\/40 {
  background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-50) 40%, transparent);
  }
}
.bg-gray-50\/50 {
  background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-50) 50%, transparent);
  }
}
.bg-gray-50\/70 {
  background-color: color-mix(in srgb, oklch(98.5% 0.002 247.839) 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-gray-50) 70%, transparent);
  }
}
.bg-gray-100 {
  background-color: var(--color-gray-100);
}
.bg-gray-200 {
  background-color: var(--color-gray-200);
}
.bg-gray-400 {
  background-color: var(--color-gray-400);
}
.bg-gray-500 {
  background-color: var(--color-gray-500);
}
.bg-gray-800 {
  background-color: var(--color-gray-800);
}
.bg-indigo-50 {
  background-color: var(--color-indigo-50);
}
.bg-indigo-50\/25 {
  background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-indigo-50) 25%, transparent);
  }
}
.bg-indigo-50\/65 {
  background-color: color-mix(in srgb, oklch(96.2% 0.018 272.314) 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-indigo-50) 65%, transparent);
  }
}
.bg-indigo-500 {
  background-color: var(--color-indigo-500);
}
.bg-indigo-500\/10 {
  background-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-indigo-500) 10%, transparent);
  }
}
.bg-purple-50 {
  background-color: var(--color-purple-50);
}
.bg-rose-50 {
  background-color: var(--color-rose-50);
}
.bg-rose-50\/10 {
  background-color: color-mix(in srgb, oklch(96.9% 0.015 12.422) 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-rose-50) 10%, transparent);
  }
}
.bg-rose-100 {
  background-color: var(--color-rose-100);
}
.bg-rose-500 {
  background-color: var(--color-rose-500);
}
.bg-slate-100 {
  background-color: var(--color-slate-100);
}
.bg-slate-900 {
  background-color: var(--color-slate-900);
}
.bg-status-available {
  background-color: var(--color-status-available);
}
.bg-status-sold {
  background-color: var(--color-status-sold);
}
.bg-teal-50 {
  background-color: var(--color-teal-50);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-50 {
  background-color: var(--color-violet-50);
}
.bg-white {
  background-color: var(--color-white);
}
.bg-white\/20 {
  background-color: color-mix(in srgb, #fff 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}
.bg-white\/40 {
  background-color: color-mix(in srgb, #fff 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 40%, transparent);
  }
}
.bg-white\/50 {
  background-color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.bg-white\/60 {
  background-color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 60%, transparent);
  }
}
.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);
  }
}
.bg-white\/90 {
  background-color: color-mix(in srgb, #fff 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
  }
}
.object-cover {
  object-fit: cover;
}
.p-0 {
  padding: calc(var(--spacing) * 0);
}
.p-1 {
  padding: calc(var(--spacing) * 1);
}
.p-1\.5 {
  padding: calc(var(--spacing) * 1.5);
}
.p-2 {
  padding: calc(var(--spacing) * 2);
}
.p-2\.5 {
  padding: calc(var(--spacing) * 2.5);
}
.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-0\.5 {
  padding-inline: calc(var(--spacing) * 0.5);
}
.px-1 {
  padding-inline: calc(var(--spacing) * 1);
}
.px-1\.5 {
  padding-inline: calc(var(--spacing) * 1.5);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-2\.5 {
  padding-inline: calc(var(--spacing) * 2.5);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-3\.5 {
  padding-inline: calc(var(--spacing) * 3.5);
}
.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);
}
.px-10 {
  padding-inline: calc(var(--spacing) * 10);
}
.py-0\.5 {
  padding-block: calc(var(--spacing) * 0.5);
}
.py-1 {
  padding-block: calc(var(--spacing) * 1);
}
.py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.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-3\.5 {
  padding-block: calc(var(--spacing) * 3.5);
}
.py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.py-20 {
  padding-block: calc(var(--spacing) * 20);
}
.pt-0 {
  padding-top: calc(var(--spacing) * 0);
}
.pt-0\.5 {
  padding-top: calc(var(--spacing) * 0.5);
}
.pt-1 {
  padding-top: calc(var(--spacing) * 1);
}
.pt-2 {
  padding-top: calc(var(--spacing) * 2);
}
.pt-3 {
  padding-top: calc(var(--spacing) * 3);
}
.pt-4 {
  padding-top: calc(var(--spacing) * 4);
}
.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.pt-8 {
  padding-top: calc(var(--spacing) * 8);
}
.pr-2 {
  padding-right: calc(var(--spacing) * 2);
}
.pr-4 {
  padding-right: calc(var(--spacing) * 4);
}
.pr-8 {
  padding-right: calc(var(--spacing) * 8);
}
.pb-1 {
  padding-bottom: calc(var(--spacing) * 1);
}
.pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}
.pb-2\.5 {
  padding-bottom: calc(var(--spacing) * 2.5);
}
.pb-4 {
  padding-bottom: calc(var(--spacing) * 4);
}
.pb-6 {
  padding-bottom: calc(var(--spacing) * 6);
}
.pb-20 {
  padding-bottom: calc(var(--spacing) * 20);
}
.pb-24 {
  padding-bottom: calc(var(--spacing) * 24);
}
.pb-32 {
  padding-bottom: calc(var(--spacing) * 32);
}
.pb-40 {
  padding-bottom: calc(var(--spacing) * 40);
}
.pl-1 {
  padding-left: calc(var(--spacing) * 1);
}
.pl-2 {
  padding-left: calc(var(--spacing) * 2);
}
.pl-10 {
  padding-left: calc(var(--spacing) * 10);
}
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.font-mono {
  font-family: var(--font-mono);
}
.font-sans {
  font-family: var(--font-sans);
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}
.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));
}
.text-\[7\.5px\] {
  font-size: 7.5px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[17px\] {
  font-size: 17px;
}
.leading-none {
  --tw-leading: 1;
  line-height: 1;
}
.leading-normal {
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}
.leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}
.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-extrabold {
  --tw-font-weight: var(--font-weight-extrabold);
  font-weight: var(--font-weight-extrabold);
}
.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-\[0\.2em\] {
  --tw-tracking: 0.2em;
  letter-spacing: 0.2em;
}
.tracking-\[0\.15em\] {
  --tw-tracking: 0.15em;
  letter-spacing: 0.15em;
}
.tracking-tight {
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
}
.tracking-tighter {
  --tw-tracking: var(--tracking-tighter);
  letter-spacing: var(--tracking-tighter);
}
.tracking-wide {
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}
.tracking-wider {
  --tw-tracking: var(--tracking-wider);
  letter-spacing: var(--tracking-wider);
}
.tracking-widest {
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-amber-700 {
  color: var(--color-amber-700);
}
.text-amber-800 {
  color: var(--color-amber-800);
}
.text-blue-500 {
  color: var(--color-blue-500);
}
.text-blue-600 {
  color: var(--color-blue-600);
}
.text-blue-700 {
  color: var(--color-blue-700);
}
.text-blue-800 {
  color: var(--color-blue-800);
}
.text-blue-900 {
  color: var(--color-blue-900);
}
.text-brand-muted {
  color: var(--color-brand-muted);
}
.text-brand-muted\/40 {
  color: color-mix(in srgb, #4B5563 40%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-brand-muted) 40%, transparent);
  }
}
.text-brand-muted\/70 {
  color: color-mix(in srgb, #4B5563 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-brand-muted) 70%, transparent);
  }
}
.text-brand-primary {
  color: var(--color-brand-primary);
}
.text-brand-text {
  color: var(--color-brand-text);
}
.text-brand-text\/90 {
  color: color-mix(in srgb, #1F2937 90%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-brand-text) 90%, transparent);
  }
}
.text-emerald-500 {
  color: var(--color-emerald-500);
}
.text-emerald-600 {
  color: var(--color-emerald-600);
}
.text-emerald-700 {
  color: var(--color-emerald-700);
}
.text-emerald-800 {
  color: var(--color-emerald-800);
}
.text-gray-300 {
  color: var(--color-gray-300);
}
.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-gray-700 {
  color: var(--color-gray-700);
}
.text-indigo-600 {
  color: var(--color-indigo-600);
}
.text-indigo-700 {
  color: var(--color-indigo-700);
}
.text-indigo-800 {
  color: var(--color-indigo-800);
}
.text-indigo-900 {
  color: var(--color-indigo-900);
}
.text-purple-700 {
  color: var(--color-purple-700);
}
.text-rose-400 {
  color: var(--color-rose-400);
}
.text-rose-500 {
  color: var(--color-rose-500);
}
.text-rose-600 {
  color: var(--color-rose-600);
}
.text-rose-700 {
  color: var(--color-rose-700);
}
.text-rose-950 {
  color: var(--color-rose-950);
}
.text-slate-500 {
  color: var(--color-slate-500);
}
.text-slate-900 {
  color: var(--color-slate-900);
}
.text-status-available {
  color: var(--color-status-available);
}
.text-status-process {
  color: var(--color-status-process);
}
.text-status-sold {
  color: var(--color-status-sold);
}
.text-teal-700 {
  color: var(--color-teal-700);
}
.text-violet-700 {
  color: var(--color-violet-700);
}
.text-white {
  color: var(--color-white);
}
.text-white\/50 {
  color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.text-white\/70 {
  color: color-mix(in srgb, #fff 70%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 70%, transparent);
  }
}
.text-white\/80 {
  color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.placeholder-brand-muted\/60 {
  &::placeholder {
    color: color-mix(in srgb, #4B5563 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-brand-muted) 60%, transparent);
    }
  }
}
.opacity-0 {
  opacity: 0%;
}
.opacity-10 {
  opacity: 10%;
}
.opacity-40 {
  opacity: 40%;
}
.opacity-50 {
  opacity: 50%;
}
.opacity-70 {
  opacity: 70%;
}
.opacity-80 {
  opacity: 80%;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_-8px_32px_rgba\(0\,0\,0\,0\.05\)\] {
  --tw-shadow: 0 -8px 32px var(--tw-shadow-color, rgba(0,0,0,0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_-10px_30px_rgba\(0\,0\,0\,0\.02\)\] {
  --tw-shadow: 0 -10px 30px var(--tw-shadow-color, rgba(0,0,0,0.02));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_-20px_60px_rgba\(0\,0\,0\,0\.2\)\] {
  --tw-shadow: 0 -20px 60px var(--tw-shadow-color, rgba(0,0,0,0.2));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.1\)\] {
  --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(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-\[0_8px_32px_rgba\(31\,38\,135\,0\.1\)\] {
  --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(31,38,135,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-\[0_8px_32px_rgba\(31\,38\,135\,0\.05\)\] {
  --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(31,38,135,0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_8px_32px_rgba\(31\,38\,135\,0\.15\)\] {
  --tw-shadow: 0 8px 32px var(--tw-shadow-color, rgba(31,38,135,0.15));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_16px_40px_rgba\(31\,38\,135\,0\.08\)\] {
  --tw-shadow: 0 16px 40px var(--tw-shadow-color, rgba(31,38,135,0.08));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_20px_40px_rgba\(37\,99\,235\,0\.2\)\] {
  --tw-shadow: 0 20px 40px var(--tw-shadow-color, rgba(37,99,235,0.2));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[0_20px_50px_rgba\(37\,99\,235\,0\.3\)\] {
  --tw-shadow: 0 20px 50px var(--tw-shadow-color, rgba(37,99,235,0.3));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.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-md {
  --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px 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);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px 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);
}
.ring-1 {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring-2 {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ring-4 {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.shadow-\[\#25D366\]\/20 {
  --tw-shadow-color: color-mix(in srgb, #25D366 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, #25D366 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-amber-500\/20 {
  --tw-shadow-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-blue-100 {
  --tw-shadow-color: oklch(93.2% 0.032 255.585);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, var(--color-blue-100) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-blue-500\/20 {
  --tw-shadow-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-brand-primary\/10 {
  --tw-shadow-color: color-mix(in srgb, #2563EB 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 10%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-brand-primary\/20 {
  --tw-shadow-color: color-mix(in srgb, #2563EB 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-brand-primary\/25 {
  --tw-shadow-color: color-mix(in srgb, #2563EB 25%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 25%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-brand-primary\/30 {
  --tw-shadow-color: color-mix(in srgb, #2563EB 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 30%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-emerald-100 {
  --tw-shadow-color: oklch(95% 0.052 163.051);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, var(--color-emerald-100) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-emerald-500\/20 {
  --tw-shadow-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-emerald-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-gray-100\/50 {
  --tw-shadow-color: color-mix(in srgb, oklch(96.7% 0.003 264.542) 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-100) 50%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.shadow-gray-800\/30 {
  --tw-shadow-color: color-mix(in srgb, oklch(27.8% 0.033 256.848) 30%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-800) 30%, transparent) var(--tw-shadow-alpha), transparent);
  }
}
.ring-brand-primary\/20 {
  --tw-ring-color: color-mix(in srgb, #2563EB 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-ring-color: color-mix(in oklab, var(--color-brand-primary) 20%, transparent);
  }
}
.ring-white\/20 {
  --tw-ring-color: color-mix(in srgb, #fff 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    --tw-ring-color: color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}
.brightness-95 {
  --tw-brightness: brightness(95%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.drop-shadow-\[0_0_12px_rgba\(59\,130\,246\,0\.4\)\] {
  --tw-drop-shadow-size: drop-shadow(0 0 12px var(--tw-drop-shadow-color, rgba(59,130,246,0.4)));
  --tw-drop-shadow: var(--tw-drop-shadow-size);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.backdrop-blur-2xl {
  --tw-backdrop-blur: blur(var(--blur-2xl));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.backdrop-blur-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(var(--blur-md));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(var(--blur-sm));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(var(--blur-xl));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
}
.transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.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-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.duration-300 {
  --tw-duration: 300ms;
  transition-duration: 300ms;
}
.duration-500 {
  --tw-duration: 500ms;
  transition-duration: 500ms;
}
.duration-700 {
  --tw-duration: 700ms;
  transition-duration: 700ms;
}
.duration-1000 {
  --tw-duration: 1000ms;
  transition-duration: 1000ms;
}
.group-hover\:translate-x-1 {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      --tw-translate-x: calc(var(--spacing) * 1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.group-hover\:scale-105 {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.group-hover\:text-brand-primary {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      color: var(--color-brand-primary);
    }
  }
}
.group-hover\:text-brand-text {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      color: var(--color-brand-text);
    }
  }
}
.group-hover\:text-status-available {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      color: var(--color-status-available);
    }
  }
}
.group-hover\:opacity-100 {
  &:is(:where(.group):hover *) {
    @media (hover: hover) {
      opacity: 100%;
    }
  }
}
.group-hover\/btn\:translate-x-0\.5 {
  &:is(:where(.group\/btn):hover *) {
    @media (hover: hover) {
      --tw-translate-x: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.group-hover\/btn\:-translate-y-0\.5 {
  &:is(:where(.group\/btn):hover *) {
    @media (hover: hover) {
      --tw-translate-y: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
}
.group-hover\/btn\:text-brand-primary {
  &:is(:where(.group\/btn):hover *) {
    @media (hover: hover) {
      color: var(--color-brand-primary);
    }
  }
}
.group-hover\/heading\:text-blue-500 {
  &:is(:where(.group\/heading):hover *) {
    @media (hover: hover) {
      color: var(--color-blue-500);
    }
  }
}
.group-hover\/heading\:drop-shadow-\[0_0_16px_rgba\(59\,130\,246\,0\.8\)\] {
  &:is(:where(.group\/heading):hover *) {
    @media (hover: hover) {
      --tw-drop-shadow-size: drop-shadow(0 0 16px var(--tw-drop-shadow-color, rgba(59,130,246,0.8)));
      --tw-drop-shadow: var(--tw-drop-shadow-size);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
  }
}
.last\:border-0 {
  &:last-child {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
}
.focus-within\:border-brand-primary\/40 {
  &:focus-within {
    border-color: color-mix(in srgb, #2563EB 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-primary) 40%, transparent);
    }
  }
}
.focus-within\:bg-white\/80 {
  &:focus-within {
    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);
    }
  }
}
.focus-within\:shadow-\[0_4px_24px_rgba\(59\,130\,246\,0\.15\)\] {
  &:focus-within {
    --tw-shadow: 0 4px 24px var(--tw-shadow-color, rgba(59,130,246,0.15));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus-within\:shadow-\[0_16px_60px_rgba\(31\,38\,135\,0\.2\)\] {
  &:focus-within {
    --tw-shadow: 0 16px 60px var(--tw-shadow-color, rgba(31,38,135,0.2));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.hover\:scale-105 {
  &:hover {
    @media (hover: hover) {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
.hover\:scale-\[1\.02\] {
  &:hover {
    @media (hover: hover) {
      scale: 1.02;
    }
  }
}
.hover\:border-brand-primary {
  &:hover {
    @media (hover: hover) {
      border-color: var(--color-brand-primary);
    }
  }
}
.hover\:border-brand-primary\/30 {
  &:hover {
    @media (hover: hover) {
      border-color: color-mix(in srgb, #2563EB 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-brand-primary) 30%, transparent);
      }
    }
  }
}
.hover\:border-gray-200 {
  &:hover {
    @media (hover: hover) {
      border-color: var(--color-gray-200);
    }
  }
}
.hover\:bg-\[\#20ba59\] {
  &:hover {
    @media (hover: hover) {
      background-color: #20ba59;
    }
  }
}
.hover\:bg-amber-600 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-amber-600);
    }
  }
}
.hover\:bg-blue-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-blue-50);
    }
  }
}
.hover\:bg-blue-600 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-blue-600);
    }
  }
}
.hover\:bg-blue-700 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-blue-700);
    }
  }
}
.hover\:bg-brand-primary {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-brand-primary);
    }
  }
}
.hover\:bg-brand-primary\/5 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #2563EB 5%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-primary) 5%, transparent);
      }
    }
  }
}
.hover\:bg-brand-primary\/10 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #2563EB 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-primary) 10%, transparent);
      }
    }
  }
}
.hover\:bg-brand-primary\/20 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #2563EB 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-brand-primary) 20%, transparent);
      }
    }
  }
}
.hover\:bg-emerald-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-emerald-50);
    }
  }
}
.hover\:bg-emerald-600 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-emerald-600);
    }
  }
}
.hover\:bg-emerald-700 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-emerald-700);
    }
  }
}
.hover\:bg-gray-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-gray-50);
    }
  }
}
.hover\:bg-gray-100 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-gray-100);
    }
  }
}
.hover\:bg-gray-100\/70 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, oklch(96.7% 0.003 264.542) 70%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-gray-100) 70%, transparent);
      }
    }
  }
}
.hover\:bg-gray-200 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-gray-200);
    }
  }
}
.hover\:bg-rose-50 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-rose-50);
    }
  }
}
.hover\:bg-rose-100 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-rose-100);
    }
  }
}
.hover\:bg-rose-500\/20 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
      }
    }
  }
}
.hover\:bg-rose-600 {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-rose-600);
    }
  }
}
.hover\:bg-white {
  &:hover {
    @media (hover: hover) {
      background-color: var(--color-white);
    }
  }
}
.hover\:bg-white\/10 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #fff 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
      }
    }
  }
}
.hover\:bg-white\/40 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #fff 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-white) 40%, transparent);
      }
    }
  }
}
.hover\:bg-white\/95 {
  &:hover {
    @media (hover: hover) {
      background-color: color-mix(in srgb, #fff 95%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
      }
    }
  }
}
.hover\:text-blue-700 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-blue-700);
    }
  }
}
.hover\:text-brand-primary {
  &:hover {
    @media (hover: hover) {
      color: var(--color-brand-primary);
    }
  }
}
.hover\:text-brand-text {
  &:hover {
    @media (hover: hover) {
      color: var(--color-brand-text);
    }
  }
}
.hover\:text-gray-600 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-gray-600);
    }
  }
}
.hover\:text-rose-300 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-rose-300);
    }
  }
}
.hover\:text-rose-500 {
  &:hover {
    @media (hover: hover) {
      color: var(--color-rose-500);
    }
  }
}
.hover\:text-status-available {
  &:hover {
    @media (hover: hover) {
      color: var(--color-status-available);
    }
  }
}
.hover\:text-status-sold {
  &:hover {
    @media (hover: hover) {
      color: var(--color-status-sold);
    }
  }
}
.hover\:text-white {
  &:hover {
    @media (hover: hover) {
      color: var(--color-white);
    }
  }
}
.hover\:underline {
  &:hover {
    @media (hover: hover) {
      text-decoration-line: underline;
    }
  }
}
.hover\:opacity-80 {
  &:hover {
    @media (hover: hover) {
      opacity: 80%;
    }
  }
}
.hover\:shadow-\[0_16px_40px_rgba\(31\,38\,135\,0\.12\)\] {
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 16px 40px var(--tw-shadow-color, rgba(31,38,135,0.12));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
.hover\:shadow-lg {
  &:hover {
    @media (hover: hover) {
      --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);
    }
  }
}
.hover\:shadow-md {
  &:hover {
    @media (hover: hover) {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px 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);
    }
  }
}
.hover\:shadow-sm {
  &:hover {
    @media (hover: hover) {
      --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);
    }
  }
}
.hover\:shadow-brand-primary\/50 {
  &:hover {
    @media (hover: hover) {
      --tw-shadow-color: color-mix(in srgb, #2563EB 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-brand-primary) 50%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }
}
.focus\:border-blue-500\/40 {
  &:focus {
    border-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-blue-500) 40%, transparent);
    }
  }
}
.focus\:border-brand-primary {
  &:focus {
    border-color: var(--color-brand-primary);
  }
}
.focus\:border-brand-primary\/30 {
  &:focus {
    border-color: color-mix(in srgb, #2563EB 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-primary) 30%, transparent);
    }
  }
}
.focus\:border-brand-primary\/40 {
  &:focus {
    border-color: color-mix(in srgb, #2563EB 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-brand-primary) 40%, transparent);
    }
  }
}
.focus\:border-emerald-500\/40 {
  &:focus {
    border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-emerald-500) 40%, transparent);
    }
  }
}
.focus\:border-indigo-500\/40 {
  &:focus {
    border-color: color-mix(in srgb, oklch(58.5% 0.233 277.117) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-indigo-500) 40%, transparent);
    }
  }
}
.focus\:border-rose-500 {
  &:focus {
    border-color: var(--color-rose-500);
  }
}
.focus\:ring-1 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus\:ring-2 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus\:ring-4 {
  &:focus {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
.focus\:ring-brand-primary {
  &:focus {
    --tw-ring-color: var(--color-brand-primary);
  }
}
.focus\:ring-brand-primary\/5 {
  &:focus {
    --tw-ring-color: color-mix(in srgb, #2563EB 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-primary) 5%, transparent);
    }
  }
}
.focus\:ring-brand-primary\/10 {
  &:focus {
    --tw-ring-color: color-mix(in srgb, #2563EB 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-primary) 10%, transparent);
    }
  }
}
.focus\:ring-brand-primary\/20 {
  &:focus {
    --tw-ring-color: color-mix(in srgb, #2563EB 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-primary) 20%, transparent);
    }
  }
}
.focus\:ring-brand-primary\/30 {
  &:focus {
    --tw-ring-color: color-mix(in srgb, #2563EB 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-brand-primary) 30%, transparent);
    }
  }
}
.focus\:ring-rose-500\/20 {
  &:focus {
    --tw-ring-color: color-mix(in srgb, oklch(64.5% 0.246 16.439) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-rose-500) 20%, transparent);
    }
  }
}
.focus\:outline-none {
  &:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
}
.active\:scale-95 {
  &:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}
.active\:cursor-grabbing {
  &:active {
    cursor: grabbing;
  }
}
.disabled\:cursor-not-allowed {
  &:disabled {
    cursor: not-allowed;
  }
}
.disabled\:opacity-30 {
  &:disabled {
    opacity: 30%;
  }
}
.disabled\:opacity-50 {
  &:disabled {
    opacity: 50%;
  }
}
.sm\:col-span-3 {
  @media (width >= 40rem) {
    grid-column: span 3 / span 3;
  }
}
.sm\:col-span-4 {
  @media (width >= 40rem) {
    grid-column: span 4 / span 4;
  }
}
.sm\:col-span-5 {
  @media (width >= 40rem) {
    grid-column: span 5 / span 5;
  }
}
.sm\:mx-0 {
  @media (width >= 40rem) {
    margin-inline: calc(var(--spacing) * 0);
  }
}
.sm\:block {
  @media (width >= 40rem) {
    display: block;
  }
}
.sm\:inline {
  @media (width >= 40rem) {
    display: inline;
  }
}
.sm\:grid-cols-2 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.sm\:grid-cols-12 {
  @media (width >= 40rem) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.sm\:flex-row {
  @media (width >= 40rem) {
    flex-direction: row;
  }
}
.sm\:flex-nowrap {
  @media (width >= 40rem) {
    flex-wrap: nowrap;
  }
}
.sm\:items-center {
  @media (width >= 40rem) {
    align-items: center;
  }
}
.sm\:justify-between {
  @media (width >= 40rem) {
    justify-content: space-between;
  }
}
.sm\:justify-start {
  @media (width >= 40rem) {
    justify-content: flex-start;
  }
}
.sm\:gap-4 {
  @media (width >= 40rem) {
    gap: calc(var(--spacing) * 4);
  }
}
.sm\:gap-6 {
  @media (width >= 40rem) {
    gap: calc(var(--spacing) * 6);
  }
}
.sm\:rounded-\[32px\] {
  @media (width >= 40rem) {
    border-radius: 32px;
  }
}
.sm\:p-4 {
  @media (width >= 40rem) {
    padding: calc(var(--spacing) * 4);
  }
}
.sm\:px-0 {
  @media (width >= 40rem) {
    padding-inline: calc(var(--spacing) * 0);
  }
}
.sm\:text-base {
  @media (width >= 40rem) {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}
.sm\:text-sm {
  @media (width >= 40rem) {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
.sm\:text-\[9px\] {
  @media (width >= 40rem) {
    font-size: 9px;
  }
}
.sm\:text-\[11px\] {
  @media (width >= 40rem) {
    font-size: 11px;
  }
}
.md\:col-span-5 {
  @media (width >= 48rem) {
    grid-column: span 5 / span 5;
  }
}
.md\:col-span-7 {
  @media (width >= 48rem) {
    grid-column: span 7 / span 7;
  }
}
.md\:mx-8 {
  @media (width >= 48rem) {
    margin-inline: calc(var(--spacing) * 8);
  }
}
.md\:mt-12 {
  @media (width >= 48rem) {
    margin-top: calc(var(--spacing) * 12);
  }
}
.md\:mb-3 {
  @media (width >= 48rem) {
    margin-bottom: calc(var(--spacing) * 3);
  }
}
.md\:mb-12 {
  @media (width >= 48rem) {
    margin-bottom: calc(var(--spacing) * 12);
  }
}
.md\:block {
  @media (width >= 48rem) {
    display: block;
  }
}
.md\:flex {
  @media (width >= 48rem) {
    display: flex;
  }
}
.md\:hidden {
  @media (width >= 48rem) {
    display: none;
  }
}
.md\:h-14 {
  @media (width >= 48rem) {
    height: calc(var(--spacing) * 14);
  }
}
.md\:h-44 {
  @media (width >= 48rem) {
    height: calc(var(--spacing) * 44);
  }
}
.md\:h-\[85vh\] {
  @media (width >= 48rem) {
    height: 85vh;
  }
}
.md\:h-\[90vh\] {
  @media (width >= 48rem) {
    height: 90vh;
  }
}
.md\:w-14 {
  @media (width >= 48rem) {
    width: calc(var(--spacing) * 14);
  }
}
.md\:w-auto {
  @media (width >= 48rem) {
    width: auto;
  }
}
.md\:max-w-6xl {
  @media (width >= 48rem) {
    max-width: var(--container-6xl);
  }
}
.md\:max-w-md {
  @media (width >= 48rem) {
    max-width: var(--container-md);
  }
}
.md\:flex-1 {
  @media (width >= 48rem) {
    flex: 1;
  }
}
.md\:scale-100 {
  @media (width >= 48rem) {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
}
.md\:grid-cols-2 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.md\:grid-cols-3 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.md\:grid-cols-4 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.md\:grid-cols-5 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.md\:grid-cols-12 {
  @media (width >= 48rem) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
.md\:flex-row {
  @media (width >= 48rem) {
    flex-direction: row;
  }
}
.md\:items-center {
  @media (width >= 48rem) {
    align-items: center;
  }
}
.md\:items-end {
  @media (width >= 48rem) {
    align-items: flex-end;
  }
}
.md\:gap-3 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 3);
  }
}
.md\:gap-6 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 6);
  }
}
.md\:gap-8 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 8);
  }
}
.md\:gap-10 {
  @media (width >= 48rem) {
    gap: calc(var(--spacing) * 10);
  }
}
.md\:rounded-\[32px\] {
  @media (width >= 48rem) {
    border-radius: 32px;
  }
}
.md\:p-2 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 2);
  }
}
.md\:p-5 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 5);
  }
}
.md\:p-6 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 6);
  }
}
.md\:p-8 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 8);
  }
}
.md\:p-10 {
  @media (width >= 48rem) {
    padding: calc(var(--spacing) * 10);
  }
}
.md\:px-5 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 5);
  }
}
.md\:px-6 {
  @media (width >= 48rem) {
    padding-inline: calc(var(--spacing) * 6);
  }
}
.md\:py-2\.5 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 2.5);
  }
}
.md\:py-4 {
  @media (width >= 48rem) {
    padding-block: calc(var(--spacing) * 4);
  }
}
.md\:pt-16 {
  @media (width >= 48rem) {
    padding-top: calc(var(--spacing) * 16);
  }
}
.md\:pb-0 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 0);
  }
}
.md\:pb-6 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 6);
  }
}
.md\:pb-8 {
  @media (width >= 48rem) {
    padding-bottom: calc(var(--spacing) * 8);
  }
}
.md\:text-3xl {
  @media (width >= 48rem) {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
}
.md\:text-5xl {
  @media (width >= 48rem) {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
.md\:text-6xl {
  @media (width >= 48rem) {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
}
.md\:text-lg {
  @media (width >= 48rem) {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
}
.md\:text-sm {
  @media (width >= 48rem) {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
.md\:text-xl {
  @media (width >= 48rem) {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
}
.md\:text-xs {
  @media (width >= 48rem) {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
}
.md\:text-\[17px\] {
  @media (width >= 48rem) {
    font-size: 17px;
  }
}
.lg\:col-span-1 {
  @media (width >= 64rem) {
    grid-column: span 1 / span 1;
  }
}
.lg\:col-span-2 {
  @media (width >= 64rem) {
    grid-column: span 2 / span 2;
  }
}
.lg\:flex {
  @media (width >= 64rem) {
    display: flex;
  }
}
.lg\:inline {
  @media (width >= 64rem) {
    display: inline;
  }
}
.lg\:grid-cols-3 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.lg\:grid-cols-6 {
  @media (width >= 64rem) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
.lg\:flex-row {
  @media (width >= 64rem) {
    flex-direction: row;
  }
}
.xl\:grid-cols-4 {
  @media (width >= 80rem) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  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-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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;
}
@property --tw-scroll-snap-strictness {
  syntax: "*";
  inherits: false;
  initial-value: proximity;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0, 0, 0.2, 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-border-style: solid;
      --tw-font-weight: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: 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-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-scroll-snap-strictness: proximity;
      --tw-space-y-reverse: 0;
      --tw-leading: initial;
      --tw-tracking: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
    }
  }
}
/* EstateHub WhatsApp batch import v6 */
.wa-home-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}
.wa-home-action {
  min-height: 66px;
  padding: 11px 10px;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
  text-align: center;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.wa-home-action:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(15, 23, 42, .07); }
.wa-home-action-whatsapp { background: rgba(236, 253, 245, .85); border-color: #a7f3d0; color: #047857; }
.wa-home-action-paste { background: rgba(239, 246, 255, .88); border-color: #bfdbfe; color: #1d4ed8; }
.wa-home-action-screenshot { background: rgba(245, 243, 255, .88); border-color: #ddd6fe; color: #6d28d9; }
.wa-home-action-manual { background: rgba(255, 255, 255, .78); color: #1f2937; }
.wa-home-batch-note {
  margin-top: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: rgba(75, 85, 99, .78);
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

.wa-import-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  overflow-y: auto;
  padding: 12px;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(8px);
}
.wa-import-panel {
  width: min(100%, 1040px);
  margin: 16px auto;
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(15, 23, 42, .3);
}
.wa-import-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid #eef2f7;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
}
.wa-import-title-wrap { display: flex; align-items: center; gap: 12px; min-width: 0; }
.wa-import-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #ecfdf5;
  color: #059669;
}
.wa-import-header h2 { margin: 0; color: #1f2937; font-size: 20px; line-height: 1.15; font-weight: 900; letter-spacing: -.02em; }
.wa-import-header p { margin: 4px 0 0; color: #6b7280; font-size: 12px; line-height: 1.4; font-weight: 600; }
.wa-icon-button {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #6b7280;
  background: transparent;
  cursor: pointer;
}
.wa-icon-button:hover { background: #f3f4f6; }
.wa-import-body { padding: 22px; display: flex; flex-direction: column; gap: 20px; }
.wa-share-help { padding: 14px 16px; border: 1px solid #a7f3d0; border-radius: 16px; background: #ecfdf5; color: #064e3b; font-size: 13px; line-height: 1.55; }
.wa-hidden { display: none !important; }
.wa-import-entry { display: grid; grid-template-columns: minmax(0, 1fr) 176px; gap: 12px; align-items: stretch; }
.wa-source-text {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  border: 1px solid #dbe1e8;
  border-radius: 18px;
  padding: 15px 16px;
  background: #f8fafc;
  color: #1f2937;
  font: 600 14px/1.55 inherit;
  outline: none;
  box-sizing: border-box;
}
.wa-source-text:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); background: #fff; }
.wa-entry-actions { display: flex; flex-direction: column; gap: 9px; }
.wa-primary-button, .wa-secondary-button, .wa-save-button, .wa-cancel-button {
  border: 0;
  border-radius: 13px;
  min-height: 46px;
  padding: 11px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}
.wa-primary-button { background: #2563eb; color: #fff; }
.wa-secondary-button { background: #f3f4f6; color: #1f2937; }
.wa-primary-button:hover, .wa-secondary-button:hover, .wa-save-button:hover { transform: translateY(-1px); filter: brightness(.98); }
.wa-primary-button:disabled, .wa-secondary-button:disabled, .wa-save-button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.wa-progress-card { padding: 13px; border: 1px solid #bfdbfe; border-radius: 14px; background: #eff6ff; }
.wa-progress-label { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: #1d4ed8; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .055em; }
.wa-progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: #fff; }
.wa-progress-bar { height: 100%; border-radius: inherit; background: #3b82f6; transition: width .2s ease; }
.wa-error { padding: 12px 14px; border: 1px solid #fecdd3; border-radius: 13px; background: #fff1f2; color: #be123c; font-size: 13px; font-weight: 700; }
.wa-drafts-section { display: flex; flex-direction: column; gap: 12px; }
.wa-drafts-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.wa-drafts-heading h3 { margin: 0; color: #1f2937; font-size: 16px; font-weight: 900; }
.wa-drafts-heading p { margin: 3px 0 0; color: #6b7280; font-size: 12px; font-weight: 600; }
.wa-drafts-heading button { border: 0; background: transparent; color: #2563eb; font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.wa-draft-card { padding: 15px; border: 1px solid #e5e7eb; border-radius: 18px; background: #f9fafb; transition: opacity .15s, border-color .15s, background .15s; opacity: .7; }
.wa-draft-card.is-selected { border-color: rgba(37, 99, 235, .35); background: rgba(239, 246, 255, .56); opacity: 1; }
.wa-draft-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.wa-draft-select { min-width: 0; flex: 1; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.wa-checkbox { width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; color: #fff; }
.wa-checkbox.is-checked { background: #2563eb; border-color: #2563eb; }
.wa-draft-copy { min-width: 0; display: block; }
.wa-draft-copy b { display: block; color: #2563eb; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.wa-draft-copy small { display: block; max-width: 720px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #6b7280; font-size: 11px; margin-top: 3px; }
.wa-delete-button { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 10px; background: transparent; color: #e11d48; cursor: pointer; }
.wa-delete-button:hover { background: #fff1f2; }
.wa-fields-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.wa-field {
  width: 100%;
  min-width: 0;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid #dbe1e8;
  border-radius: 11px;
  padding: 0 11px;
  background: #fff;
  color: #1f2937;
  font: 700 12px/1 inherit;
  outline: none;
}
.wa-field::placeholder { color: #9ca3af; font-weight: 600; }
.wa-field:focus { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37, 99, 235, .1); }
.wa-size-field { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
.wa-field-wide { grid-column: span 2; }
.wa-import-footer {
  position: sticky;
  bottom: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 22px;
  border-top: 1px solid #eef2f7;
  background: rgba(248, 250, 252, .97);
  backdrop-filter: blur(14px);
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
}
.wa-footer-actions { display: flex; align-items: center; gap: 8px; }
.wa-cancel-button { min-height: 42px; background: #fff; color: #374151; border: 1px solid #dbe1e8; }
.wa-save-button { min-height: 42px; background: #2563eb; color: #fff; }
.wa-spin { animation: wa-spin .8s linear infinite; }
@keyframes wa-spin { to { transform: rotate(360deg); } }

@media (min-width: 768px) {
  .wa-home-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wa-home-action { font-size: 11px; }
  .wa-import-overlay { padding: 24px; }
}
@media (max-width: 760px) {
  .wa-import-panel { margin: 0 auto; border-radius: 22px; }
  .wa-import-header { padding: 15px; }
  .wa-import-header h2 { font-size: 17px; }
  .wa-import-header p { font-size: 10px; }
  .wa-import-body { padding: 15px; gap: 15px; }
  .wa-import-entry { grid-template-columns: 1fr; }
  .wa-entry-actions { flex-direction: row; }
  .wa-entry-actions > button { flex: 1; }
  .wa-source-text { min-height: 150px; }
  .wa-fields-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wa-size-field, .wa-field-wide { grid-column: span 2; }
  .wa-import-footer { align-items: flex-start; flex-direction: column; padding: 12px 15px; }
  .wa-footer-actions { width: 100%; }
  .wa-footer-actions > button { flex: 1; }
}
@media (max-width: 420px) {
  .wa-home-action { min-height: 72px; font-size: 9px; }
  .wa-import-logo { width: 38px; height: 38px; }
  .wa-import-header p { display: none; }
  .wa-fields-grid { grid-template-columns: 1fr; }
  .wa-size-field, .wa-field-wide { grid-column: span 1; }
  .wa-size-field { grid-template-columns: minmax(0, 1fr) 105px; }
}

/* EstateHub v7 AI agent, admin controls and install prompt */
.ai-blob-wrap {
  position: fixed;
  z-index: 9996;
  width: 70px;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
  touch-action: none;
}
.ai-blob-status {
  position: absolute;
  bottom: 78px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 112px;
  max-width: min(280px, 78vw);
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(15,23,42,.92);
  color: #fff;
  font-size: 10px;
  line-height: 1.35;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 10px 28px rgba(15,23,42,.24);
  backdrop-filter: blur(14px);
  pointer-events: none;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ai-blob {
  --ai-color: #2563eb;
  position: relative;
  width: 68px;
  height: 68px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 44% 56% 57% 43% / 52% 44% 56% 48%;
  color: #fff;
  background:
    radial-gradient(circle at 33% 28%, rgba(255,255,255,.72), transparent 18%),
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--ai-color) 75%, white 25%), var(--ai-color) 62%, #0f172a 125%);
  box-shadow: 0 14px 38px color-mix(in srgb, var(--ai-color) 42%, transparent), inset 0 0 20px rgba(255,255,255,.28);
  cursor: grab;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  animation: ai-blob-morph 6s ease-in-out infinite, ai-blob-float 3.8s ease-in-out infinite;
}
.ai-blob:active { cursor: grabbing; transform: scale(.96); }
.ai-blob-listening { animation-duration: 1.6s, 1.1s; }
.ai-blob-thinking .ai-blob-core { animation: ai-spin 1.4s linear infinite; }
.ai-blob-reminder { animation: ai-blob-morph 4s ease-in-out infinite, ai-reminder-pulse 1.25s ease-in-out infinite; }
.ai-blob-error { filter: saturate(1.25); }
.ai-blob-core {
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(15,23,42,.28);
  border: 1px solid rgba(255,255,255,.42);
  backdrop-filter: blur(10px);
}
.ai-blob-orbit {
  position: absolute;
  inset: -5px;
  border: 1px solid color-mix(in srgb, var(--ai-color) 72%, white 28%);
  border-radius: 50%;
  opacity: .58;
  pointer-events: none;
}
.ai-blob-orbit-one { transform: rotate(32deg) scaleX(1.25) scaleY(.72); animation: ai-orbit 5s linear infinite; }
.ai-blob-orbit-two { transform: rotate(-22deg) scaleX(.78) scaleY(1.18); animation: ai-orbit-reverse 7s linear infinite; }
.ai-blob-grip {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #0f172a;
  color: #cbd5e1;
  border: 2px solid #fff;
}
@keyframes ai-blob-morph {
  0%,100% { border-radius: 44% 56% 57% 43% / 52% 44% 56% 48%; }
  33% { border-radius: 58% 42% 45% 55% / 43% 58% 42% 57%; }
  66% { border-radius: 48% 52% 62% 38% / 58% 39% 61% 42%; }
}
@keyframes ai-blob-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -4px; } }
@keyframes ai-reminder-pulse { 0%,100% { box-shadow: 0 12px 34px color-mix(in srgb, var(--ai-color) 44%, transparent); } 50% { box-shadow: 0 0 0 12px color-mix(in srgb, var(--ai-color) 12%, transparent), 0 14px 40px color-mix(in srgb, var(--ai-color) 68%, transparent); } }
@keyframes ai-orbit { to { rotate: 360deg; } }
@keyframes ai-orbit-reverse { to { rotate: -360deg; } }
@keyframes ai-spin { to { transform: rotate(360deg); } }

.ai-panel-backdrop,
.ai-admin-backdrop,
.pwa-install-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(2,6,23,.58);
  backdrop-filter: blur(12px);
}
.ai-panel {
  width: min(520px, 100%);
  max-height: min(760px, calc(100dvh - 36px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: 0 28px 90px rgba(2,6,23,.35);
}
.ai-panel-header,
.ai-admin-header,
.ai-admin-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.ai-panel-header { padding: 16px 18px; border-bottom: 1px solid #e2e8f0; background: linear-gradient(135deg,#f8fafc,#eff6ff); }
.ai-panel-title { display: flex; align-items: center; gap: 11px; min-width: 0; }
.ai-panel-title strong { display: block; color: #0f172a; font-size: 15px; font-weight: 900; }
.ai-panel-title small { display: block; color: #64748b; margin-top: 2px; font-size: 10px; font-weight: 700; }
.ai-panel-icon { width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center; color: #fff; box-shadow: 0 8px 20px rgba(37,99,235,.24); }
.ai-panel-actions { display: flex; align-items: center; gap: 6px; }
.ai-panel-actions button,
.ai-admin-header button,
.pwa-install-close {
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 11px;
  color: #475569;
  background: rgba(255,255,255,.82);
  cursor: pointer;
}
.ai-panel-actions button:hover,
.ai-admin-header button:hover { background: #e2e8f0; color: #0f172a; }
.ai-panel-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  color: #475569;
  font-size: 10px;
  font-weight: 800;
}
.ai-chat-list { flex: 1; min-height: 220px; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: linear-gradient(180deg,#fff,#f8fafc); }
.ai-chat-empty { min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; color: #64748b; padding: 20px; }
.ai-chat-empty strong { color: #0f172a; font-size: 15px; }
.ai-chat-empty span { max-width: 390px; font-size: 11px; line-height: 1.5; }
.ai-chat-message { max-width: 86%; border-radius: 16px; padding: 10px 12px; font-size: 13px; line-height: 1.5; box-shadow: 0 4px 14px rgba(15,23,42,.05); }
.ai-chat-user { align-self: flex-end; background: #2563eb; color: #fff; border-bottom-right-radius: 5px; }
.ai-chat-assistant { align-self: flex-start; background: #fff; color: #1e293b; border: 1px solid #e2e8f0; border-bottom-left-radius: 5px; }
.ai-chat-form { padding: 12px; display: grid; grid-template-columns: 1fr 44px; gap: 8px; border-top: 1px solid #e2e8f0; background: #fff; }
.ai-chat-form input { min-width: 0; height: 44px; border: 1px solid #cbd5e1; border-radius: 13px; padding: 0 13px; outline: none; color: #0f172a; background: #f8fafc; }
.ai-chat-form input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); background: #fff; }
.ai-chat-form button { border: 0; border-radius: 13px; background: #2563eb; color: #fff; display: grid; place-items: center; cursor: pointer; }
.ai-chat-form button:disabled { opacity: .45; cursor: not-allowed; }
.ai-resource-area { padding: 12px 15px 15px; border-top: 1px solid #e2e8f0; background: #f8fafc; }
.ai-resource-heading { display: flex; align-items: center; gap: 6px; color: #475569; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.ai-resource-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.ai-resource-links a { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; background: #fff; border: 1px solid #dbeafe; color: #1d4ed8; font-size: 10px; font-weight: 800; text-decoration: none; }
.ai-resource-area > small { display: block; margin-top: 8px; color: #64748b; font-size: 9px; font-weight: 700; }

.ai-admin-modal {
  width: min(1080px, 100%);
  max-height: calc(100dvh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 26px;
  background: #f8fafc;
  box-shadow: 0 28px 90px rgba(2,6,23,.38);
}
.ai-admin-header { padding: 16px 20px; background: linear-gradient(135deg,#0f172a,#1e3a8a); color: #fff; }
.ai-admin-header > div { display: flex; align-items: center; gap: 11px; }
.ai-admin-header > div > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,255,255,.12); }
.ai-admin-header h2 { margin: 0; font-size: 18px; font-weight: 900; }
.ai-admin-header p { margin: 2px 0 0; color: #bfdbfe; font-size: 10px; font-weight: 700; }
.ai-admin-loading { min-height: 260px; display: grid; place-items: center; color: #64748b; font-weight: 800; }
.ai-admin-content { flex: 1; overflow-y: auto; padding: 17px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.ai-settings-card { min-width: 0; padding: 16px; border: 1px solid #e2e8f0; border-radius: 18px; background: #fff; box-shadow: 0 5px 18px rgba(15,23,42,.04); }
.ai-settings-wide { grid-column: 1 / -1; }
.ai-settings-card-title { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; color: #1d4ed8; }
.ai-settings-card-title strong { display: block; color: #0f172a; font-size: 13px; font-weight: 900; }
.ai-settings-card-title small { display: block; margin-top: 2px; color: #64748b; font-size: 9px; font-weight: 700; }
.ai-settings-card > label:not(.ai-switch-row),
.ai-settings-grid > label { display: flex; flex-direction: column; gap: 6px; color: #475569; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; margin-top: 10px; }
.ai-settings-card input[type="text"],
.ai-settings-card input[type="password"],
.ai-settings-card input[type="number"],
.ai-settings-card input:not([type]),
.ai-settings-card select,
.ai-settings-card textarea,
.ai-resource-editor input,
.ai-knowledge-create input,
.ai-knowledge-create textarea,
.ai-knowledge-item input,
.ai-knowledge-item textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  padding: 10px 11px;
  background: #f8fafc;
  color: #0f172a;
  font: 700 12px/1.4 inherit;
  outline: none;
}
.ai-settings-card textarea,
.ai-knowledge-create textarea,
.ai-knowledge-item textarea { min-height: 92px; resize: vertical; }
.ai-switch-row { min-height: 54px; display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 14px; margin: 8px 0 0 !important; padding: 10px 11px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; text-transform: none !important; letter-spacing: normal !important; cursor: pointer; }
.ai-switch-row div { min-width: 0; }
.ai-switch-row strong { display: block; color: #0f172a; font-size: 11px; font-weight: 900; }
.ai-switch-row span { display: block; color: #64748b; font-size: 9px; font-weight: 700; margin-top: 2px; }
.ai-switch-row input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 auto; accent-color: #2563eb; }
.ai-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ai-secret-input { display: flex; align-items: center; gap: 8px; border: 1px solid #cbd5e1; border-radius: 11px; padding: 0 10px; background: #f8fafc; }
.ai-secret-input input { border: 0 !important; background: transparent !important; padding-left: 0 !important; }
.ai-admin-note { margin: 9px 0 0; color: #64748b; font-size: 9px; font-weight: 700; line-height: 1.5; }
.ai-settings-card em { display: inline-flex; align-items: center; gap: 3px; color: #15803d; font-style: normal; }
.ai-color-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.ai-color-grid > label { padding: 10px; border-radius: 12px; border: 1px solid #e2e8f0; background: #f8fafc; color: #475569; font-size: 9px; font-weight: 900; }
.ai-color-grid > label > div { display: flex; align-items: center; gap: 8px; margin-top: 7px; }
.ai-color-grid input[type="color"] { width: 34px; height: 28px; padding: 0; border: 0; background: transparent; }
.ai-color-grid code { color: #334155; font-size: 9px; }
.ai-resource-editor,
.ai-knowledge-list { display: flex; flex-direction: column; gap: 8px; }
.ai-resource-editor-row { display: grid; grid-template-columns: 1fr 1.4fr 1.4fr auto 36px; gap: 7px; align-items: center; }
.ai-resource-editor-row label { display: flex; align-items: center; gap: 4px; color: #475569; font-size: 9px; font-weight: 800; white-space: nowrap; }
.ai-resource-editor-row button,
.ai-knowledge-item button { width: 34px; height: 34px; border: 0; border-radius: 9px; display: grid; place-items: center; cursor: pointer; color: #475569; background: #e2e8f0; }
.ai-add-row,
.ai-knowledge-create button { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 10px; padding: 9px 12px; color: #fff; background: #2563eb; font-size: 10px; font-weight: 900; cursor: pointer; }
.ai-knowledge-create { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; margin-bottom: 12px; }
.ai-knowledge-create textarea { grid-column: 1 / -1; }
.ai-knowledge-create button { grid-column: 1 / -1; }
.ai-knowledge-item { padding: 11px; border: 1px solid #e2e8f0; border-radius: 13px; background: #f8fafc; display: grid; gap: 7px; }
.ai-knowledge-item > div { display: flex; align-items: center; gap: 6px; }
.ai-knowledge-item > div > input { flex: 1; }
.ai-knowledge-item > div > label { display: flex; align-items: center; gap: 4px; color: #475569; font-size: 9px; font-weight: 800; }
.ai-admin-footer { padding: 12px 17px; border-top: 1px solid #e2e8f0; background: #fff; }
.ai-admin-footer > span { color: #475569; font-size: 10px; font-weight: 800; }
.ai-admin-footer > div { display: flex; gap: 8px; }
.ai-admin-footer button { border: 1px solid #cbd5e1; border-radius: 10px; padding: 9px 13px; background: #fff; color: #334155; font-weight: 800; cursor: pointer; }
.ai-admin-footer .ai-save-settings { display: inline-flex; align-items: center; gap: 6px; border-color: #2563eb; background: #2563eb; color: #fff; }

.pwa-install-card { position: relative; width: min(420px,100%); padding: 28px 24px 22px; border-radius: 26px; background: linear-gradient(155deg,#fff,#eff6ff); border: 1px solid rgba(255,255,255,.8); box-shadow: 0 28px 90px rgba(2,6,23,.38); text-align: center; }
.pwa-install-close { position: absolute; right: 12px; top: 12px; }
.pwa-install-icon { width: 70px; height: 70px; margin: 0 auto 13px; display: grid; place-items: center; border-radius: 23px; color: #fff; background: linear-gradient(135deg,#2563eb,#06b6d4); box-shadow: 0 16px 35px rgba(37,99,235,.28); }
.pwa-install-card h2 { margin: 0; color: #0f172a; font-size: 24px; font-weight: 950; }
.pwa-install-card > p { margin: 8px auto 16px; max-width: 330px; color: #64748b; font-size: 12px; line-height: 1.55; font-weight: 700; }
.pwa-ios-steps { display: flex; flex-direction: column; gap: 8px; text-align: left; margin: 12px 0; }
.pwa-ios-steps > div { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #dbeafe; color: #334155; font-size: 11px; font-weight: 700; }
.pwa-install-primary { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 14px; color: #fff; background: #2563eb; font-weight: 900; cursor: pointer; }
.pwa-install-later { margin-top: 8px; border: 0; background: transparent; color: #64748b; font-size: 11px; font-weight: 800; cursor: pointer; }

/* EstateHub v7 device notification states */
.ai-push-state { margin-left: auto; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .02em; white-space: nowrap; }
.ai-push-subscribed { background: #dcfce7; color: #166534; }
.ai-push-blocked { background: #fee2e2; color: #991b1b; }
.ai-push-available { background: #e0f2fe; color: #075985; }
.ai-push-unsupported { background: #f1f5f9; color: #64748b; }
.ai-panel-actions button:disabled { opacity: .45; cursor: not-allowed; }
.ai-push-admin-status { min-height: 42px; border: 1px solid #dbe4f0; border-radius: 11px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #f8fafc; }
.ai-push-admin-status strong { color: #0f766e; }
.ai-push-admin-status small { color: #64748b; font-weight: 700; }
.ai-secret-input button { border: 0; background: transparent; color: #475569; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ai-notification-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
.ai-notification-actions button { display: inline-flex; align-items: center; gap: 7px; border: 0; border-radius: 11px; padding: 10px 14px; color: white; background: #0f766e; font-weight: 800; cursor: pointer; }
.ai-notification-actions small { color: #64748b; max-width: 680px; line-height: 1.45; }

@media (max-width: 760px) {
  .ai-panel-backdrop,.ai-admin-backdrop,.pwa-install-backdrop { padding: 9px; align-items: end; }
  .ai-panel { max-height: calc(100dvh - 18px); border-radius: 22px 22px 12px 12px; }
  .ai-admin-modal { max-height: calc(100dvh - 18px); border-radius: 22px 22px 12px 12px; }
  .ai-admin-content { grid-template-columns: 1fr; padding: 11px; }
  .ai-settings-wide { grid-column: auto; }
  .ai-settings-grid,.ai-color-grid { grid-template-columns: 1fr; }
  .ai-resource-editor-row { grid-template-columns: 1fr; padding: 10px; border-radius: 12px; border: 1px solid #e2e8f0; }
  .ai-knowledge-create { grid-template-columns: 1fr; }
  .ai-knowledge-create textarea,.ai-knowledge-create button { grid-column: auto; }
  .ai-admin-footer { align-items: flex-start; flex-direction: column; }
  .ai-admin-footer > div { width: 100%; }
  .ai-admin-footer button { flex: 1; }
  .ai-panel-hint { align-items: flex-start; flex-wrap: wrap; }
  .ai-push-state { margin-left: 0; }
  .pwa-install-card { border-radius: 24px 24px 12px 12px; }
}

/* EstateHub v8 AI blob: full organic blob with white AI wordmark */
.ai-blob-core {
  inset: 0;
  border-radius: inherit;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  color: #fff;
  text-shadow: 0 2px 10px rgba(2,6,23,.34);
  pointer-events: none;
}
.ai-blob-wordmark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.06em;
  color: #fff;
  transform: translateX(-1px);
}
.ai-blob-thinking .ai-blob-core { animation: none; }
.ai-blob-thinking .ai-blob-wordmark { animation: ai-wordmark-thinking 1.15s ease-in-out infinite; }
.ai-blob-listening .ai-blob-wordmark { animation: ai-wordmark-listening .85s ease-in-out infinite; }
@keyframes ai-wordmark-thinking {
  0%,100% { opacity: .72; transform: translateX(-1px) scale(.94); }
  50% { opacity: 1; transform: translateX(-1px) scale(1.08); }
}
@keyframes ai-wordmark-listening {
  0%,100% { transform: translateX(-1px) scale(1); }
  50% { transform: translateX(-1px) scale(1.13); }
}

/* EstateHub v16 — responsive AI talking wave, interface themes, permission onboarding, cost guard */
.ai-home-voice {
  --wave-a:#7c3aed; --wave-b:#38bdf8; --wave-c:#2dd4bf;
  position: relative; width: 100%; margin: 2px 0 14px; padding: 12px 14px 10px;
  border-radius: 20px; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(125,211,252,.28);
  background: linear-gradient(145deg,rgba(255,255,255,.76),rgba(239,246,255,.7));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 28px rgba(59,130,246,.08);
}
.ai-home-voice::before { content:""; position:absolute; inset:-50%; z-index:-1; opacity:.18; filter:blur(26px); background:conic-gradient(from 90deg,var(--wave-a),var(--wave-b),var(--wave-c),var(--wave-a)); animation:ai-home-ambient 8s linear infinite; }
.ai-home-voice-spectrum { --wave-a:#8b5cf6; --wave-b:#06b6d4; --wave-c:#ec4899; background:linear-gradient(145deg,rgba(248,250,252,.88),rgba(238,242,255,.78)); }
.ai-home-voice-soft { --wave-a:#a78bfa; --wave-b:#7dd3fc; --wave-c:#67e8f9; background:rgba(255,255,255,.54); backdrop-filter:blur(18px); }
.ai-home-voice-minimal { --wave-a:#2563eb; --wave-b:#0ea5e9; --wave-c:#14b8a6; background:rgba(255,255,255,.72); box-shadow:none; }
.ai-home-voice-copy { text-align:center; display:flex; flex-direction:column; gap:1px; margin-bottom:3px; pointer-events:none; }
.ai-home-voice-copy strong { font-size:12px; font-weight:900; letter-spacing:.01em; background:linear-gradient(90deg,var(--wave-a),var(--wave-b)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ai-home-voice-copy span { color:#94a3b8; font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ai-home-wave-button { position:relative; width:100%; min-height:76px; padding:8px 6px; border:0; background:transparent; cursor:pointer; touch-action:none; user-select:none; -webkit-user-select:none; display:grid; place-items:center; }
.ai-home-wave-line { position:absolute; left:3%; right:3%; top:50%; height:1px; background:linear-gradient(90deg,transparent,rgba(125,211,252,.8),rgba(167,139,250,.8),transparent); }
.ai-waveform { width:min(100%,560px); height:58px; display:flex; align-items:center; justify-content:center; gap:2px; filter:drop-shadow(0 7px 12px rgba(59,130,246,.13)); }
.ai-waveform span { display:block; width:clamp(4px,1.3vw,12px); height:var(--wave-height); min-height:8px; border-radius:999px; transform-origin:center; background:linear-gradient(180deg,var(--wave-a,#8b5cf6),var(--wave-b,#38bdf8) 60%,var(--wave-c,#2dd4bf)); opacity:.78; transition:height 70ms linear,opacity 120ms ease,transform 120ms ease; animation:ai-wave-breathe 1.65s ease-in-out infinite; animation-delay:var(--wave-delay); }
.ai-home-voice-listening .ai-waveform span { opacity:.96; animation-duration:.55s; }
.ai-home-voice-thinking .ai-waveform span { animation-duration:.8s; }
.ai-waveform-compact { width:40px; height:26px; gap:1.5px; filter:none; }
.ai-waveform-compact span { width:2.4px; min-height:4px; }
@keyframes ai-wave-breathe { 0%,100%{transform:scaleY(.68);opacity:.55} 50%{transform:scaleY(1.12);opacity:1} }
@keyframes ai-home-ambient { to{transform:rotate(360deg)} }

.ai-blob-style-wave-orb { background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.42),transparent 26%),linear-gradient(145deg,var(--ai-color),#4338ca 62%,#06b6d4); }
.ai-blob-style-glass { background:linear-gradient(145deg,color-mix(in srgb,var(--ai-color) 62%,transparent),rgba(30,41,59,.66)); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.55); }
.ai-blob-style-neon { background:#07111f; border:2px solid var(--ai-color); box-shadow:0 0 12px color-mix(in srgb,var(--ai-color) 80%,transparent),0 0 30px color-mix(in srgb,var(--ai-color) 45%,transparent); }
.ai-blob-style-minimal { background:var(--ai-color); box-shadow:0 8px 24px rgba(15,23,42,.2); }
.ai-blob-style-minimal .ai-blob-orbit { display:none; }
.ai-blob .ai-waveform { --wave-a:#fff; --wave-b:#dbeafe; --wave-c:#fff; }

.permission-onboarding-backdrop { position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(15,23,42,.46); backdrop-filter:blur(8px); }
.permission-onboarding { position:relative; width:min(430px,100%); padding:26px; border-radius:28px; background:linear-gradient(150deg,#fff,#eff6ff); border:1px solid rgba(255,255,255,.9); box-shadow:0 28px 90px rgba(15,23,42,.3); text-align:center; }
.permission-onboarding-close { position:absolute; right:12px; top:12px; width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:10px; background:#f1f5f9; color:#64748b; cursor:pointer; }
.permission-onboarding-icon { width:62px; height:62px; margin:0 auto 12px; display:grid; place-items:center; border-radius:21px; color:#fff; background:linear-gradient(135deg,#2563eb,#06b6d4); box-shadow:0 14px 34px rgba(37,99,235,.24); }
.permission-onboarding h2 { margin:0; color:#0f172a; font-size:22px; font-weight:950; }
.permission-onboarding>p { margin:8px auto 15px; color:#64748b; font-size:11px; line-height:1.6; font-weight:700; max-width:355px; }
.permission-onboarding-list { display:grid; gap:8px; text-align:left; }
.permission-onboarding-list>div { display:flex; gap:10px; align-items:center; padding:11px 12px; border-radius:14px; background:#fff; border:1px solid #dbeafe; color:#2563eb; }
.permission-onboarding-list span { display:flex; flex-direction:column; color:#0f172a; }
.permission-onboarding-list strong { font-size:11px; font-weight:900; }
.permission-onboarding-list small { color:#64748b; font-size:9px; line-height:1.35; font-weight:700; }
.permission-onboarding-message { margin-top:10px; padding:9px; border-radius:10px; background:#ecfeff; color:#0f766e; font-size:10px; font-weight:800; }
.permission-onboarding-actions { display:flex; gap:8px; margin-top:15px; }
.permission-onboarding-actions button { flex:1; min-height:44px; border-radius:13px; font-size:10px; font-weight:900; cursor:pointer; }
.permission-onboarding-actions .secondary { border:1px solid #cbd5e1; background:#fff; color:#64748b; }
.permission-onboarding-actions .primary { border:0; background:linear-gradient(135deg,#2563eb,#06b6d4); color:#fff; }

.ai-cost-card { background:linear-gradient(145deg,#f8fafc,#eff6ff); border-color:#bfdbfe; }
.ai-cost-status-row { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-bottom:12px; }
.ai-cost-badge { display:inline-flex; align-items:center; gap:5px; padding:6px 9px; border-radius:999px; background:#e0f2fe; color:#075985; font-size:9px; font-weight:900; }
.ai-cost-badge.safe { background:#dcfce7; color:#166534; }
.ai-inline-button { margin-left:auto; display:inline-flex; align-items:center; gap:5px; border:1px solid #bfdbfe; background:#fff; color:#1d4ed8; padding:6px 9px; border-radius:9px; font-size:9px; font-weight:900; cursor:pointer; }
.ai-usage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.ai-usage-grid>div { padding:10px; border-radius:12px; background:#fff; border:1px solid #dbeafe; min-width:0; }
.ai-usage-grid small { display:block; color:#64748b; font-size:8px; font-weight:800; line-height:1.3; }
.ai-usage-grid strong { display:block; margin-top:4px; color:#0f172a; font-size:15px; font-weight:950; overflow-wrap:anywhere; }
.ai-chirp-meter { margin-top:11px; padding:11px; border-radius:13px; background:#fff; border:1px solid #dbeafe; }
.ai-chirp-meter-head { display:flex; justify-content:space-between; gap:10px; color:#334155; font-size:9px; font-weight:800; }
.ai-chirp-meter-head strong { color:#0f172a; }
.ai-chirp-meter-track { height:8px; margin:7px 0; border-radius:999px; background:#e2e8f0; overflow:hidden; }
.ai-chirp-meter-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#10b981,#06b6d4,#f59e0b); }
.ai-chirp-meter small { color:#64748b; font-size:8px; font-weight:700; }
.ai-cost-warning { border-left:3px solid #f59e0b; padding-left:9px; }
.ai-switch-disabled { opacity:.68; cursor:not-allowed; }
.ai-json-upload-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:10px 0; }
.ai-json-file-button { display:inline-flex !important; width:auto !important; align-items:center; justify-content:center; padding:9px 12px; border-radius:10px; background:#0f766e; color:#fff !important; font-size:9px !important; font-weight:900 !important; cursor:pointer; }
.ai-json-file-button input { display:none !important; }
.ai-json-upload-row>span { color:#64748b; font-size:9px; font-weight:700; }

@media (max-width:760px) {
  .ai-home-voice { margin-bottom:10px; padding:10px 8px 7px; border-radius:17px; }
  .ai-home-wave-button { min-height:62px; }
  .ai-waveform { height:48px; gap:1.5px; }
  .ai-home-voice-copy strong { font-size:11px; }
  .ai-home-voice-copy span { font-size:7px; }
  .ai-usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ai-inline-button { margin-left:0; }
  .permission-onboarding-backdrop { align-items:end; padding:8px; }
  .permission-onboarding { border-radius:24px 24px 12px 12px; padding:23px 17px 18px; }
  .permission-onboarding-actions { flex-direction:column-reverse; }
}
.ai-zero-cost { color:#15803d !important; }
