/* [project]/src/app/globals.css [app-client] (css) */
@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: 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-outline-style: solid;
      --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-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-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: .25rem;
    --ease-in: cubic-bezier(.4, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    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;
    -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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.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 {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :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)) {
      ::placeholder {
        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 {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .\!start {
    inset-inline-start: var(--spacing) !important;
  }

  .-start {
    inset-inline-start: calc(var(--spacing) * -1);
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .-end {
    inset-inline-end: calc(var(--spacing) * -1);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .isolate {
    isolation: isolate;
  }

  .col-6 {
    grid-column: 6;
  }

  .col-auto {
    grid-column: auto;
  }

  .float-right {
    float: right;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-3 {
    margin: calc(var(--spacing) * 3);
  }

  .m-4 {
    margin: calc(var(--spacing) * 4);
  }

  .m-6 {
    margin: calc(var(--spacing) * 6);
  }

  .m-6\.5 {
    margin: calc(var(--spacing) * 6.5);
  }

  .m-8\.5 {
    margin: calc(var(--spacing) * 8.5);
  }

  .m-33\.5 {
    margin: calc(var(--spacing) * 33.5);
  }

  .m-47\.5 {
    margin: calc(var(--spacing) * 47.5);
  }

  .m-52\.5 {
    margin: calc(var(--spacing) * 52.5);
  }

  .m-61\.5 {
    margin: calc(var(--spacing) * 61.5);
  }

  .m-71\.5 {
    margin: calc(var(--spacing) * 71.5);
  }

  .m-97\.5 {
    margin: calc(var(--spacing) * 97.5);
  }

  .m-98 {
    margin: calc(var(--spacing) * 98);
  }

  .m-99\.5 {
    margin: calc(var(--spacing) * 99.5);
  }

  .m-136\.5 {
    margin: calc(var(--spacing) * 136.5);
  }

  .m-167\.5 {
    margin: calc(var(--spacing) * 167.5);
  }

  .m-359\.5 {
    margin: calc(var(--spacing) * 359.5);
  }

  .mx-0 {
    margin-inline: calc(var(--spacing) * 0);
  }

  .mx-1 {
    margin-inline: calc(var(--spacing) * 1);
  }

  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }

  .my-1 {
    margin-block: calc(var(--spacing) * 1);
  }

  .my-2 {
    margin-block: calc(var(--spacing) * 2);
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }

  .ms-1 {
    margin-inline-start: calc(var(--spacing) * 1);
  }

  .ms-2 {
    margin-inline-start: calc(var(--spacing) * 2);
  }

  .ms-4 {
    margin-inline-start: calc(var(--spacing) * 4);
  }

  .ms-auto {
    margin-inline-start: auto;
  }

  .me-2 {
    margin-inline-end: calc(var(--spacing) * 2);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mb-0 {
    margin-bottom: calc(var(--spacing) * 0);
  }

  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .\!inline {
    display: inline !important;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-100 {
    height: calc(var(--spacing) * 100);
  }

  .h-full {
    height: 100%;
  }

  .min-h-full {
    min-height: 100%;
  }

  .w-100 {
    width: calc(var(--spacing) * 100);
  }

  .w-auto {
    width: auto;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink, .shrink {
    flex-shrink: 1;
  }

  .flex-grow, .grow {
    flex-grow: 1;
  }

  .table-auto {
    table-layout: auto;
  }

  .table-fixed {
    table-layout: fixed;
  }

  .caption-top {
    caption-side: top;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-x-scroll {
    overflow-x: scroll;
  }

  .overflow-y-scroll {
    overflow-y: scroll;
  }

  .rounded {
    border-radius: .25rem;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .bg-fixed {
    background-attachment: fixed;
  }

  .bg-local {
    background-attachment: local;
  }

  .bg-scroll {
    background-attachment: scroll;
  }

  .p-0 {
    padding: calc(var(--spacing) * 0);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .py-0 {
    padding-block: calc(var(--spacing) * 0);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .ps-0 {
    padding-inline-start: calc(var(--spacing) * 0);
  }

  .ps-3 {
    padding-inline-start: calc(var(--spacing) * 3);
  }

  .ps-4 {
    padding-inline-start: calc(var(--spacing) * 4);
  }

  .pe-1 {
    padding-inline-end: calc(var(--spacing) * 1);
  }

  .pe-2 {
    padding-inline-end: calc(var(--spacing) * 2);
  }

  .pr-1 {
    padding-right: calc(var(--spacing) * 1);
  }

  .text-center {
    text-align: center;
  }

  .text-white {
    color: var(--color-white);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .diagonal-fractions {
    --tw-numeric-fraction: diagonal-fractions;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .ordinal {
    --tw-ordinal: ordinal;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --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);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    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, );
  }

  .invert {
    --tw-invert: invert(100%);
    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, );
  }

  .filter {
    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-filter {
    -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, 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));
  }

  .ease-in {
    --tw-ease: var(--ease-in);
    transition-timing-function: var(--ease-in);
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .select-all {
    -webkit-user-select: all;
    user-select: all;
  }
}

:root {
  --teal-dark: #081d24;
  --teal-mid: #0d5f74;
  --teal-accent: #22b1c2;
  --orange: #f79824;
  --white: #fff;
  --site-shell-max: 1760px;
  --content-shell-max: 1480px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  overflow-x: clip;
}

body {
  color: var(--teal-dark);
  -webkit-font-smoothing: antialiased;
  background: #fff;
  font-family: Segoe UI, Arial, sans-serif;
  overflow-x: clip;
}

.dashboard-quick-nav {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #03263038;
  border: 1px solid #fff3;
  border-radius: 14px;
  gap: 3px;
  width: fit-content;
  padding: 4px;
  display: inline-flex;
  box-shadow: inset 0 1px #ffffff1f, 0 10px 24px #081d241f;
}

.dashboard-quick-nav .nav-link {
  color: #fff;
  opacity: .9;
  background: none;
  border: 1px solid #0000;
  border-radius: 10px;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 820;
  line-height: 1;
  text-decoration: none;
  transition: background .16s, color .16s, border-color .16s, transform .16s, box-shadow .16s, opacity .16s;
  display: inline-flex;
}

.dashboard-quick-nav .nav-link:hover {
  color: #fff;
  opacity: 1;
  background: #ffffff21;
  border-color: #ffffff29;
  transform: translateY(-1px);
}

.dashboard-quick-nav .nav-link.active {
  background: var(--orange);
  color: #fff;
  opacity: 1;
  border-color: #f79824eb;
  font-weight: 900;
  box-shadow: 0 8px 18px #f7982447;
}

.dashboard-quick-nav .nav-link svg {
  flex: none;
}

.publication-quick-nav {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background: #fff;
  border-color: #dbe5e9;
  box-shadow: 0 2px 8px #081d240f;
}

.publication-quick-nav .nav-link {
  color: #334155;
  opacity: 1;
}

.publication-quick-nav .nav-link:hover {
  color: #9a5a08;
  background: #fff7ed;
  border-color: #fed7aa;
}

.publication-quick-nav .nav-link.active {
  border-color: var(--orange);
  background: var(--orange);
  color: #fff;
}

@media (max-width: 640px) {
  .dashboard-quick-nav {
    width: 100%;
  }

  .dashboard-quick-nav .nav-link {
    flex: 100%;
    justify-content: center;
  }
}

::-webkit-scrollbar {
  width: 6px;
  height: 4px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: #22b1c2;
  border-radius: 3px;
}

.emp-listing-page {
  color: #17242b;
  background: #f7f8fa;
  min-height: 100vh;
  overflow-x: hidden;
}

.emp-hero-band {
  color: #fff;
  background: linear-gradient(135deg, #081d24 0%, #0a3544 60%, #0a8fa3 100%);
  padding: 56px 20px 48px;
}

.emp-hero-inner {
  text-align: center;
  max-width: 780px;
  margin: 0 auto;
}

.emp-hero-inner h1 {
  letter-spacing: -.5px;
  margin-bottom: 10px;
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 900;
}

.emp-hero-inner > p {
  color: #ffffffc7;
  margin-bottom: 28px;
  font-size: 16px;
}

.emp-search-form {
  gap: 10px;
  max-width: 560px;
  margin: 0 auto;
  display: flex;
}

.emp-search-wrap {
  flex: 1;
  min-width: 0;
  position: relative;
}

.emp-search-icon {
  color: #8ba5b0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}

.emp-search-input {
  color: #fff;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  -webkit-appearance: none;
  background: #ffffff1f;
  border: 1px solid #ffffff2e;
  border-radius: 10px;
  outline: none;
  width: 100%;
  height: 48px;
  padding: 0 14px 0 42px;
  font-size: 16px;
  transition: border-color .18s, background .18s;
}

.emp-search-input::placeholder {
  color: #ffffff80;
}

.emp-search-input:focus {
  background: #ffffff2e;
  border-color: #22b1c2;
}

.emp-search-btn {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  touch-action: manipulation;
  -webkit-appearance: none;
  background: #22b1c2;
  border: none;
  border-radius: 10px;
  height: 48px;
  padding: 0 22px;
  font-size: 16px;
  font-weight: 700;
  transition: background .18s, transform .14s;
}

.emp-search-btn:hover {
  background: #0a8fa3;
  transform: translateY(-1px);
}

.emp-shell {
  max-width: 1220px;
  margin: 0 auto;
  padding: 32px 20px 64px;
}

.emp-result-count {
  color: #5e7a87;
  margin-bottom: 20px;
  font-size: 14px;
}

.emp-loading {
  color: #5e7a87;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 60px 0;
  font-size: 15px;
  display: flex;
}

.emp-spinner {
  border: 2px solid #dce8eb;
  border-top-color: #22b1c2;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  animation: .7s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.emp-error {
  text-align: center;
  color: #5e7a87;
  padding: 48px 0;
}

.emp-error button {
  color: #0a8fa3;
  cursor: pointer;
  font-size: inherit;
  background: none;
  border: none;
  text-decoration: underline;
}

.emp-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
  display: grid;
}

.emp-card {
  color: inherit;
  background: #fff;
  border: 1px solid #e4ecef;
  border-radius: 14px;
  flex-direction: column;
  text-decoration: none;
  transition: transform .18s, box-shadow .18s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 16px #081d240f;
}

.emp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px #081d241f;
}

.emp-card-image {
  aspect-ratio: 16 / 9;
  background: #e9f0f2;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.emp-card-fallback {
  color: #aabfc8;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
}

.emp-stage-badge {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 800;
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.emp-badge-proyecto {
  background: #64748b;
}

.emp-badge-en-pozo {
  background: #f79824;
}

.emp-badge-en-construccion {
  background: #0a8fa3;
}

.emp-badge-terminaciones {
  background: #16a34a;
}

.emp-badge-entrega {
  background: #22b1c2;
}

.emp-card-body {
  flex-direction: column;
  flex: 1;
  gap: 6px;
  padding: 16px 18px 18px;
  display: flex;
}

.emp-card-name {
  color: #081d24;
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

.emp-card-tagline {
  color: #4a6674;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  overflow: hidden;
}

.emp-card-location {
  color: #6a8694;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 13px;
  display: flex;
}

.emp-card-footer {
  border-top: 1px solid #f0f4f6;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  display: flex;
}

.emp-card-price {
  color: #081d24;
  font-size: 15px;
  font-weight: 800;
}

.emp-card-units {
  color: #0a8fa3;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 700;
}

.emp-pagination {
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  display: flex;
}

.emp-page-btn {
  cursor: pointer;
  color: #17242b;
  touch-action: manipulation;
  background: #fff;
  border: 1px solid #d4e2e8;
  border-radius: 8px;
  place-items: center;
  width: 44px;
  height: 44px;
  transition: border-color .16s, background .16s;
  display: grid;
}

.emp-page-btn:hover:not(:disabled) {
  background: #f0fafc;
  border-color: #22b1c2;
}

.emp-page-btn:disabled {
  opacity: .38;
  cursor: default;
}

.emp-page-info {
  color: #5e7a87;
  font-size: 14px;
}

@media (max-width: 680px) {
  .emp-hero-band {
    padding: 40px 16px 36px;
  }

  .emp-hero-inner h1 {
    font-size: clamp(22px, 6vw, 32px);
  }

  .emp-hero-inner > p {
    margin-bottom: 22px;
    font-size: 14px;
  }

  .emp-search-form {
    flex-direction: column;
    gap: 8px;
  }

  .emp-search-wrap {
    width: 100%;
  }

  .emp-search-btn {
    width: 100%;
    height: 46px;
  }

  .emp-search-input {
    height: 46px;
  }

  .emp-shell {
    padding: 18px 12px 48px;
  }

  .emp-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .emp-card-body {
    padding: 14px 14px 16px;
  }

  .emp-card-name {
    font-size: 16px;
  }
}

@media (max-width: 390px) {
  .emp-hero-band {
    padding: 28px 14px 26px;
  }

  .emp-hero-inner h1 {
    font-size: 20px;
  }

  .emp-shell {
    padding: 14px 10px 40px;
  }

  .emp-card-body {
    padding: 12px 12px 14px;
  }

  .emp-card-footer {
    flex-wrap: wrap;
    gap: 4px;
  }
}

.prop-listing-page, .prop-detail-page {
  color: #17242b;
  background: #f7f8fa;
  min-height: 100vh;
}

.prop-listing-page .location-input svg, .prop-listing-page .filter-select svg {
  color: #62707a;
}

.prop-listing-page .filter-select svg {
  pointer-events: none;
  position: absolute;
  right: 12px;
}

.prop-listing-page .listing-card, .prop-listing-page .grid-card, .prop-listing-page .side-promo {
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-listing-page .listing-card {
  grid-template-columns: minmax(340px, 430px) minmax(0, 1fr);
  min-height: 260px;
  display: grid;
  overflow: hidden;
}

.prop-listing-page .listing-image-link, .prop-listing-page .listing-main-link, .prop-listing-page .grid-link, .prop-listing-page .map-card, .prop-listing-page .mini-card {
  color: inherit;
  text-decoration: none;
}

@media (hover: none), (max-width: 860px) {
  .prop-listing-page .image-arrow {
    opacity: 1;
  }
}

.prop-listing-page .photo-count {
  color: #fff;
  background: #000000c7;
  border-radius: 5px;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  position: absolute;
  bottom: 12px;
  right: 12px;
}

.prop-listing-page .price {
  color: #17242b;
  margin: 0;
  padding-right: 48px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
}

.prop-listing-page .expenses {
  color: #6a7780;
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
}

.prop-listing-page .description {
  color: #5d6870;
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.45;
}

.prop-listing-page .agency-logo {
  object-fit: contain;
  max-width: 74px;
  max-height: 36px;
}

.prop-listing-page .agency-fallback, .prop-listing-page .owner-label {
  color: #007f68;
  background: #eef5f3;
  border-radius: 5px;
  font-weight: 800;
}

.prop-listing-page .agency-fallback {
  place-items: center;
  width: 46px;
  height: 36px;
  display: grid;
}

.prop-listing-page .owner-label {
  align-items: center;
  height: 30px;
  padding: 0 9px;
  display: inline-flex;
}

.prop-listing-page .listing-contact-modal, .prop-listing-page .contact-sent-modal {
  z-index: 180;
  place-items: center;
  padding: 24px;
  display: grid;
  position: fixed;
  inset: 0;
}

.prop-listing-page .listing-contact-backdrop, .prop-listing-page .contact-sent-backdrop {
  cursor: pointer;
  background: #09141b94;
  border: 0;
  position: absolute;
  inset: 0;
}

.prop-listing-page .listing-contact-panel, .prop-listing-page .contact-sent-panel {
  background: #fff;
  border: 1px solid #d8e3e8;
  border-radius: 14px;
  width: min(560px, 100%);
  max-height: calc(100vh - 48px);
  position: relative;
  overflow: auto;
  box-shadow: 0 26px 60px #09141b38;
}

.prop-listing-page .listing-contact-panel {
  padding: 24px;
}

.prop-listing-page .listing-contact-close, .prop-listing-page .contact-sent-close {
  color: #13242d;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 50%;
  place-items: center;
  width: 38px;
  height: 38px;
  display: grid;
  position: absolute;
  top: 16px;
  right: 16px;
}

.prop-listing-page .modal-kicker {
  color: #0b8aa0;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 48px 6px 0;
  font-size: 12px;
  font-weight: 950;
}

.prop-listing-page .listing-contact-panel h2, .prop-listing-page .contact-sent-panel h2 {
  color: #10232c;
  margin: 0;
  font-size: 26px;
  font-weight: 950;
  line-height: 1.1;
}

.prop-listing-page .modal-property {
  background: #f7fbfc;
  border: 1px solid #dce7ec;
  border-radius: 9px;
  gap: 5px;
  margin-top: 16px;
  padding: 14px;
  display: grid;
}

.prop-listing-page .modal-property strong {
  color: #10232c;
  font-size: 15px;
  line-height: 1.35;
}

.prop-listing-page .modal-property span, .prop-listing-page .modal-property small {
  color: #60717b;
  font-size: 13px;
  line-height: 1.35;
}

.prop-listing-page .listing-contact-form {
  gap: 14px;
  margin-top: 18px;
  display: grid;
}

.prop-listing-page .listing-contact-form label {
  color: #4f6270;
  gap: 7px;
  font-size: 13px;
  font-weight: 850;
  display: grid;
}

.prop-listing-page .listing-contact-form input, .prop-listing-page .listing-contact-form textarea {
  color: #10232c;
  width: 100%;
  font: inherit;
  background: #fff;
  border: 1px solid #d5e1e8;
  border-radius: 9px;
  outline: none;
  font-weight: 750;
}

.prop-listing-page .listing-contact-form input {
  height: 44px;
  padding: 0 13px;
}

.prop-listing-page .listing-contact-form textarea {
  resize: vertical;
  min-height: 112px;
  padding: 12px 13px;
}

.prop-listing-page .listing-contact-form input:focus, .prop-listing-page .listing-contact-form textarea:focus {
  border-color: #35b3c7;
  box-shadow: 0 0 0 3px #35b3c726;
}

.prop-listing-page .field-error {
  color: #c24d1e;
  font-size: 12px;
  font-weight: 850;
}

.prop-listing-page .listing-contact-submit, .prop-listing-page .contact-sent-action {
  cursor: pointer;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 46px;
  padding: 0 18px;
  font-size: 15px;
  font-weight: 950;
  display: inline-flex;
}

.prop-listing-page .contact-sent-panel {
  text-align: center;
  padding: 34px 28px 28px;
}

.prop-listing-page .contact-sent-icon {
  color: #007f68;
  background: #e9fbf6;
  border-radius: 18px;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  display: grid;
}

.prop-listing-page .contact-sent-panel p {
  color: #5b6c76;
  max-width: 330px;
  margin: 12px auto 22px;
  line-height: 1.45;
}

.prop-listing-page .side-column {
  flex-direction: column;
  gap: 18px;
  width: 320px;
  display: flex;
  position: sticky;
  top: 96px;
}

.prop-listing-page .side-promo {
  padding: 14px;
}

.prop-listing-page .side-promo p {
  color: #17242b;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 800;
}

.prop-listing-page .mini-card {
  border: 1px solid #dce3e8;
  border-radius: 7px;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 8px;
  display: grid;
}

.prop-listing-page .mini-card img, .prop-listing-page .mini-card span {
  object-fit: cover;
  background: #d7e7d2;
  border-radius: 5px;
  width: 64px;
  height: 48px;
}

.prop-listing-page .mini-card strong, .prop-listing-page .mini-card small {
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
}

.prop-listing-page .empty-state {
  text-align: center;
  color: #64737c;
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  place-items: center;
  gap: 10px;
  min-height: 260px;
  padding: 40px;
  display: grid;
}

.prop-detail-page .shell {
  max-width: 1220px;
  margin: 0 auto;
  padding: 24px 24px 64px;
}

.prop-detail-page .back {
  color: #5f6d75;
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  font-weight: 800;
  display: inline-flex;
}

.prop-detail-page .hero {
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: start;
  gap: 20px;
  display: grid;
}

.prop-detail-page .photo {
  background: #d7e7d2;
  border-radius: 8px;
  height: 520px;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-detail-page .placeholder {
  color: #94a3b8;
  background: #f1f5f9;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: 700;
  display: flex;
}

.prop-detail-page .badge, .prop-detail-page .featured, .prop-detail-page .count {
  border-radius: 5px;
  font-weight: 900;
  position: absolute;
}

.prop-detail-page .badge {
  color: #17242b;
  background: #fff;
  padding: 8px 12px;
  top: 16px;
  left: 16px;
}

.prop-detail-page .featured {
  color: #fff;
  background: #ff6426;
  padding: 8px 12px;
  top: 16px;
  right: 16px;
}

.prop-detail-page .commercial-status-ribbon {
  z-index: 4;
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 950;
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 12px 28px #081d2438;
}

.prop-detail-page .commercial-status-ribbon.reservada {
  color: #9a5a08;
  background: #fff8e7;
  border: 1px solid #f5d6ad;
}

.prop-detail-page .commercial-status-ribbon.vendida {
  color: #4f46e5;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
}

.prop-detail-page .count {
  color: #fff;
  background: #000000c7;
  align-items: center;
  gap: 6px;
  padding: 8px 11px;
  display: inline-flex;
  bottom: 16px;
  right: 16px;
}

.prop-detail-page .arrow {
  cursor: pointer;
  background: #ffffffeb;
  border: 0;
  border-radius: 999px;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.prop-detail-page .left {
  left: 16px;
}

.prop-detail-page .right {
  right: 16px;
}

.prop-detail-page .contact-card, .prop-detail-page .description, .prop-detail-page .stat-card {
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .contact-card {
  border-top: 5px solid #0a8fa3;
  flex-direction: column;
  align-self: start;
  gap: 14px;
  padding: 24px;
  display: flex;
  position: sticky;
  top: 88px;
  box-shadow: 0 18px 36px #0f172a17;
}

.owner-dashboard {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 48px 56px;
}

.owner-dashboard .metric-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
  display: grid;
}

.owner-dashboard .metric-card {
  background: #fff;
  border: 1px solid #edf1f3;
  border-radius: 16px;
  min-width: 0;
  padding: 20px 22px;
  text-decoration: none;
  transition: border-color .16s, box-shadow .16s, transform .16s;
  display: block;
  box-shadow: 0 2px 8px #0000000f;
}

.owner-dashboard .metric-card.actionable:hover {
  border-color: #0f8f74;
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px #0f8f741f, 0 8px 18px #081d2414;
}

.owner-dashboard .metric-icon {
  margin-bottom: 10px;
}

.owner-dashboard .metric-value {
  color: #081d24;
  margin: 0 0 4px;
  font-size: 25px;
  font-weight: 900;
}

.owner-dashboard .metric-label {
  color: #73838b;
  margin: 0;
  font-size: 12px;
  font-weight: 750;
}

.owner-dashboard .metric-cta {
  color: #0d6677;
  align-items: center;
  gap: 5px;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 850;
  display: inline-flex;
}

.owner-dashboard .active-limit {
  background: #eefbfc;
  border: 1px solid #bdeef4;
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  padding: 18px;
  display: grid;
}

.owner-dashboard .active-limit-warning {
  background: linear-gradient(90deg, #0a4b5d 0%, #176e80 100%);
  border-color: #ffffff1f;
  box-shadow: 0 10px 28px #081d2429;
}

.owner-dashboard .active-limit-title {
  color: #081d24;
  margin: 0 0 5px;
  font-size: 14px;
  font-weight: 900;
}

.owner-dashboard .active-limit-copy {
  color: #64748b;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.owner-dashboard .active-limit-warning .active-limit-title {
  color: #fff;
}

.owner-dashboard .active-limit-warning .active-limit-copy {
  color: #ffffffd1;
}

.owner-dashboard .primary-link, .owner-dashboard .panel-action, .owner-dashboard .summary-action, .owner-dashboard .publish-link {
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  display: inline-flex;
}

.owner-dashboard .primary-link, .owner-dashboard .panel-action, .owner-dashboard .summary-action {
  color: #fff;
  background: #22b1c2;
  border: 1px solid #0000;
  padding: 10px 16px;
  box-shadow: 0 8px 18px #22b1c233;
}

.owner-dashboard .primary-link-warning {
  background: #f79824;
  box-shadow: 0 8px 18px #f7982438;
}

.owner-dashboard .dashboard-layout {
  grid-template-columns: minmax(0, 2fr) minmax(300px, .85fr);
  gap: 20px;
  display: grid;
}

.owner-dashboard .main-column, .owner-dashboard .side-column {
  align-content: start;
  gap: 18px;
  display: grid;
}

.owner-dashboard .panel, .owner-dashboard .profile-card, .owner-dashboard .status-card {
  background: #fff;
  border: 1px solid #edf1f3;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 8px #0000000f;
}

.owner-dashboard .panel-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  display: flex;
}

.owner-dashboard .panel h2, .owner-dashboard .profile-card h2 {
  color: #081d24;
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 900;
}

.owner-dashboard .panel p {
  color: #71808a;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.owner-dashboard .dashboard-focus .panel {
  border-color: #dbe5e9;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 14px 32px #081d2412;
}

.owner-dashboard .dashboard-focus .panel-head {
  border-bottom: 1px solid #edf2f5;
  align-items: center;
  margin: 0;
  padding: 22px 24px 16px;
}

.owner-dashboard .dashboard-focus .panel-head > div {
  max-width: 820px;
}

.owner-dashboard .dashboard-focus .panel h2 {
  margin-bottom: 5px;
  font-size: 18px;
}

.owner-dashboard .dashboard-focus .panel-action {
  background: #22b1c2;
  border-radius: 10px;
  min-height: 44px;
  padding: 0 18px;
  box-shadow: 0 12px 22px #22b1c238;
}

.owner-dashboard .dashboard-focus .smart-next-steps {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
  padding: 18px 24px 24px;
  display: grid;
}

.owner-dashboard .dashboard-focus .smart-step {
  color: #081d24;
  background: linear-gradient(#fff 0%, #fbfdfe 100%);
  border: 1.5px solid #dbe5e9;
  border-radius: 14px;
  grid-template-columns: 46px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 14px;
  min-height: 118px;
  padding: 18px;
  text-decoration: none;
  transition: border-color .16s, box-shadow .16s, transform .16s;
  display: grid;
  box-shadow: 0 8px 18px #081d240b;
}

.owner-dashboard .dashboard-focus .smart-step:hover {
  border-color: #22b1c2;
  transform: translateY(-2px);
  box-shadow: 0 0 0 3px #22b1c21f, 0 14px 26px #081d2414;
}

.owner-dashboard .dashboard-focus .smart-step-icon {
  color: #fff;
  background: #22b1c2;
  border-radius: 12px;
  place-items: center;
  width: 44px;
  height: 44px;
  display: grid;
}

.owner-dashboard .dashboard-focus .smart-step.green .smart-step-icon {
  background: #0f8f74;
}

.owner-dashboard .dashboard-focus .smart-step.warning .smart-step-icon {
  background: #f79824;
}

.owner-dashboard .dashboard-focus .smart-step.danger .smart-step-icon {
  background: #b91c1c;
}

.owner-dashboard .dashboard-focus .smart-step > span:nth-child(2) {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.owner-dashboard .dashboard-focus .smart-step strong {
  color: #081d24;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  display: block;
}

.owner-dashboard .dashboard-focus .smart-step small {
  color: #60717a;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
  display: block;
}

.owner-dashboard .dashboard-focus .smart-step > svg {
  color: #22b1c2;
  justify-self: end;
}

.owner-dashboard .recommended-step-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.owner-dashboard a.recommended-step-card {
  min-height: 132px;
  color: inherit;
  background: #fbfcfd;
  border: 1.5px solid #edf1f3;
  border-radius: 14px;
  align-content: start;
  gap: 8px;
  padding: 16px;
  text-decoration: none;
  transition: border-color .16s, box-shadow .16s, transform .16s, background .16s;
  display: grid;
}

.owner-dashboard a.recommended-step-card:hover {
  background: #fff;
  border-color: #22b1c2;
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px #22b1c21f, 0 8px 18px #081d2412;
}

.owner-dashboard .recommended-step-icon {
  color: #0d6677;
  background: #eefbfc;
  border-radius: 12px;
  place-items: center;
  width: 40px;
  height: 40px;
  display: grid;
}

.owner-dashboard a.recommended-step-card strong {
  color: #081d24;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
  display: block;
}

.owner-dashboard a.recommended-step-card small {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
  display: block;
}

.owner-dashboard .feature-grid, .owner-dashboard .action-queue, .owner-dashboard .product-switch, .owner-dashboard .duration-grid {
  gap: 12px;
  display: grid;
}

.owner-dashboard .feature-grid, .owner-dashboard .action-queue, .owner-dashboard .duration-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.owner-dashboard .product-switch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
}

.owner-dashboard .queue-card, .owner-dashboard .feature-tile, .owner-dashboard .product-card, .owner-dashboard .duration-card {
  background: #fff;
  border: 1.5px solid #dbe5e9;
  border-radius: 13px;
  text-decoration: none;
  transition: border-color .16s, box-shadow .16s, transform .16s, background .16s;
}

.owner-dashboard .queue-card:hover, .owner-dashboard .feature-tile:hover, .owner-dashboard .product-card:hover, .owner-dashboard .duration-card:hover {
  background: #fff;
  border-color: #0f8f74;
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px #0f8f741a, 0 8px 18px #081d2412;
}

.owner-dashboard .queue-card {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-height: 112px;
  padding: 16px;
  display: grid;
}

.owner-dashboard .queue-value {
  color: #fff;
  background: #22b1c2;
  border-radius: 12px;
  place-items: center;
  width: 42px;
  height: 42px;
  font-size: 18px;
  font-weight: 900;
  display: grid;
}

.owner-dashboard .queue-card.green .queue-value {
  background: #0f8f74;
}

.owner-dashboard .queue-card.warning .queue-value {
  background: #f79824;
}

.owner-dashboard .queue-card.danger .queue-value {
  background: #b91c1c;
}

.owner-dashboard .queue-text {
  gap: 5px;
  display: grid;
}

.owner-dashboard .queue-text strong, .owner-dashboard .feature-title, .owner-dashboard .product-card strong {
  color: #081d24;
  font-size: 13px;
  font-weight: 900;
}

.owner-dashboard .queue-text small, .owner-dashboard .feature-copy, .owner-dashboard .product-card small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.owner-dashboard .feature-tile {
  background: #fbfcfd;
  flex-direction: column;
  min-height: 130px;
  padding: 16px;
  display: flex;
}

.owner-dashboard .feature-icon {
  color: #22b1c2;
  margin-bottom: 10px;
}

.owner-dashboard .tile-action {
  color: #0d6677;
  align-items: center;
  gap: 5px;
  margin-top: 12px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.owner-dashboard .impulse-board {
  background: #f7fafb;
  border: 1px solid #e7edf0;
  border-radius: 16px;
  grid-template-columns: minmax(0, 1fr) 270px;
  display: grid;
  overflow: hidden;
}

.owner-dashboard .impulse-main, .owner-dashboard .impulse-summary {
  padding: 20px;
}

.owner-dashboard .impulse-main {
  background: #fff;
}

.owner-dashboard .impulse-summary {
  background: #f7fafb;
  border-left: 1px solid #e7edf0;
}

.owner-dashboard .product-card {
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 14px;
  display: grid;
}

.owner-dashboard .duration-card {
  text-align: left;
  cursor: pointer;
  min-height: 138px;
  padding: 14px;
}

.owner-dashboard .product-card.selected, .owner-dashboard .duration-card.selected {
  border-color: var(--accent);
  background: #f0fbfd;
  box-shadow: 0 8px 24px #22b1c226;
}

.owner-dashboard .product-icon {
  width: 34px;
  height: 34px;
  color: var(--accent);
  background: var(--accent);
  border-radius: 10px;
  place-items: center;
  display: grid;
}

@supports (color: color-mix(in lab, red, red)) {
  .owner-dashboard .product-icon {
    background: color-mix(in srgb, var(--accent) 12%, white);
  }
}

.owner-dashboard .duration-header {
  margin-bottom: 10px;
}

.owner-dashboard .duration-header p, .owner-dashboard .summary-title {
  color: #081d24;
  margin: 0 0 6px;
  font-size: 13px;
  font-weight: 900;
}

.owner-dashboard .duration-header span, .owner-dashboard .duration-copy, .owner-dashboard .payment-note {
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.owner-dashboard .duration-top, .owner-dashboard .summary-total, .owner-dashboard .line-item {
  justify-content: space-between;
  gap: 12px;
  display: flex;
}

.owner-dashboard .duration-price {
  color: var(--accent);
  margin: 8px 0;
  font-size: 18px;
  font-weight: 900;
  display: block;
}

.owner-dashboard .summary-total {
  border-top: 1px solid #e7edf0;
  align-items: baseline;
  margin-top: 12px;
  padding-top: 12px;
}

.owner-dashboard .summary-total strong {
  color: #081d24;
  font-size: 24px;
  font-weight: 900;
}

.owner-dashboard .placement-list {
  gap: 8px;
  margin: 16px 0;
  display: grid;
}

.owner-dashboard .placement-list span, .owner-dashboard .next-step {
  color: #64748b;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  display: flex;
}

.owner-dashboard .profile-row {
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.owner-dashboard .avatar {
  color: #fff;
  background: linear-gradient(135deg, #22b1c2, #0d5f74);
  border-radius: 50%;
  place-items: center;
  width: 48px;
  height: 48px;
  font-size: 20px;
  font-weight: 900;
  display: grid;
}

.owner-dashboard .profile-name {
  color: #081d24;
  margin: 0;
  font-size: 14px;
  font-weight: 850;
}

.owner-dashboard .profile-role {
  color: #22b1c2;
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 750;
}

.owner-dashboard .outline-link, .owner-dashboard .status-action {
  box-sizing: border-box;
  color: #0d6677;
  background: #eefbfc;
  border: 1px solid #bdeef4;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  display: inline-flex;
}

.owner-dashboard .publish-card {
  background: linear-gradient(135deg, #0a5566, #0d6677);
  border: 1px solid #ffffff24;
  border-radius: 16px;
  padding: 24px;
}

.owner-dashboard .publish-title {
  color: #fff;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 850;
}

.owner-dashboard .publish-copy {
  color: #ffffffbf;
  margin: 0 0 16px;
  font-size: 12px;
  line-height: 1.5;
}

.owner-dashboard .publish-link {
  color: #fff;
  background: #f79824;
  padding: 10px 18px;
  box-shadow: 0 8px 18px #f798243d;
}

.owner-dashboard .status-card h3 {
  color: #081d24;
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 850;
}

.owner-dashboard .status-card p {
  color: #64748b;
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .owner-dashboard {
    padding: 28px 24px 48px;
  }

  .owner-dashboard .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-dashboard .dashboard-layout, .owner-dashboard .impulse-board {
    grid-template-columns: 1fr;
  }

  .owner-dashboard .impulse-summary {
    border-top: 1px solid #e7edf0;
    border-left: 0;
  }
}

@media (max-width: 680px) {
  .owner-dashboard {
    padding: 20px 14px 40px;
  }

  .owner-dashboard .metric-grid, .owner-dashboard .feature-grid, .owner-dashboard .action-queue, .owner-dashboard .product-switch, .owner-dashboard .duration-grid, .owner-dashboard .active-limit {
    grid-template-columns: 1fr;
  }
}

.favorite-button {
  transition: color .16s, background .16s, border-color .16s, transform .16s;
}

.favorite-button.is-favorite {
  color: #f79824;
}

.favorite-button:hover {
  transform: translateY(-1px);
}

.heart-button.favorite-button {
  color: #111f27;
  cursor: pointer;
  z-index: 3;
  background: none;
  border: 0;
  border-radius: 999px;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
  position: absolute;
  top: 20px;
  right: 18px;
}

.heart-button.favorite-button.is-favorite {
  color: #f79824;
  background: #fff4e6;
}

.grid-heart.favorite-button {
  background: #ffffffeb;
  top: 10px;
  right: 10px;
}

.featured-favorite-button.favorite-button {
  color: #081d24;
  cursor: pointer;
  background: #fff;
  border: 0;
  border-radius: 999px;
  flex: none;
  place-items: center;
  width: 34px;
  height: 34px;
  display: inline-grid;
}

.featured-favorite-button.favorite-button.is-favorite {
  color: #f79824;
  background: #fff4e6;
}

.detail-favorite-action.favorite-button {
  color: #4f5d66;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dce5ea;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 850;
  display: inline-flex;
}

.detail-favorite-action.favorite-button.is-favorite {
  color: #f79824;
  background: #fff8ee;
  border-color: #ffd49a;
}

.favorite-toast, .activity-toast {
  z-index: 2000;
  color: #0b5362;
  background: #fff;
  border: 1px solid #cbeff3;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 850;
  position: fixed;
  bottom: 24px;
  right: 24px;
  box-shadow: 0 18px 44px #081d242e;
}

.favorites-page {
  background: #f4f7f9;
  min-height: calc(100vh - 52px);
  padding: 34px 24px 56px;
}

.favorites-hero, .favorites-list, .favorites-empty, .favorites-warning {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.favorites-hero {
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 30px;
  display: flex;
  box-shadow: 0 16px 40px #081d2412;
}

.favorites-hero .eyebrow {
  color: #0b8494;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 950;
}

.favorites-hero h1 {
  color: #081d24;
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
}

.favorites-hero p {
  color: #526574;
  margin: 8px 0 0;
  font-size: 15px;
}

.favorites-counter {
  color: #f79824;
  background: #fff7ec;
  border: 1px solid #ffd7a2;
  border-radius: 10px;
  place-items: center;
  min-width: 176px;
  min-height: 86px;
  padding: 14px 18px;
  display: grid;
}

.favorites-counter strong {
  color: #081d24;
  font-size: 28px;
  line-height: 1;
}

.favorites-counter span {
  color: #6a7780;
  font-size: 12px;
  font-weight: 850;
}

.favorites-list {
  gap: 16px;
  margin-top: 18px;
  display: grid;
}

.favorite-listing-card {
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  grid-template-columns: 300px minmax(0, 1fr) 170px;
  gap: 20px;
  min-height: 218px;
  padding: 16px;
  display: grid;
  box-shadow: 0 14px 34px #081d2412;
}

.favorite-listing-photo {
  color: #60717c;
  background: #e9f0f3;
  border-radius: 9px;
  min-height: 186px;
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.favorite-listing-img, .favorite-photo-placeholder {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.favorite-photo-placeholder {
  color: #94a3b8;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.favorite-photo-count {
  color: #fff;
  background: #081d24d1;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
  position: absolute;
  bottom: 12px;
  left: 12px;
}

.favorite-listing-body {
  min-width: 0;
  padding: 4px 0;
}

.favorite-card-topline {
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 9px;
  display: flex;
}

.favorite-card-topline span {
  color: #435665;
  background: #eef5f7;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 850;
}

.favorite-card-title {
  color: #081d24;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.18;
  text-decoration: none;
  display: block;
}

.favorite-card-title:hover {
  color: #0b8494;
}

.favorite-card-price {
  color: #081d24;
  margin: 12px 0 2px;
  font-size: 22px;
  font-weight: 950;
}

.favorite-card-expenses, .favorite-card-zone {
  color: #627280;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.favorite-card-location {
  color: #253744;
  align-items: center;
  gap: 6px;
  margin: 12px 0 3px;
  font-size: 14px;
  font-weight: 900;
  display: flex;
}

.favorite-card-features {
  color: #334756;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 850;
  display: flex;
}

.favorite-card-features span {
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.favorite-listing-actions {
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.favorite-detail-link, .favorites-empty a {
  color: #fff;
  background: #22b1c2;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  height: 42px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

.favorites-empty {
  color: #60717c;
  text-align: center;
  background: #fff;
  border: 1px dashed #cbd9df;
  border-radius: 12px;
  align-content: center;
  place-items: center;
  gap: 10px;
  min-height: 280px;
  margin-top: 18px;
  padding: 36px;
  display: grid;
}

.favorites-empty h2 {
  color: #081d24;
  margin: 0;
}

.favorites-empty p {
  margin: 0;
}

.favorites-warning {
  color: #5f4b2d;
  background: #fff7ec;
  border: 1px solid #ffd7a2;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding: 15px 18px;
  display: flex;
}

.favorites-warning p {
  margin: 2px 0 0;
}

.favorites-warning button {
  color: #fff;
  cursor: pointer;
  background: #f79824;
  border: 0;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 13px;
  font-weight: 900;
  display: inline-flex;
}

.activity-page {
  background: #f4f7f9;
  min-height: calc(100vh - 52px);
  padding: 28px 24px 58px;
}

.activity-hero, .activity-breadcrumb, .activity-summary-grid, .activity-layout {
  width: min(var(--content-shell-max, 1480px), 100%);
  margin: 0 auto;
}

.activity-breadcrumb {
  color: #64748b;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 850;
  display: flex;
}

.activity-breadcrumb a {
  color: #0b6b7c;
  text-decoration: none;
}

.activity-breadcrumb a:hover {
  text-decoration: underline;
}

.activity-hero {
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  padding: 22px 26px;
  box-shadow: 0 10px 28px #081d240e;
}

.activity-page .eyebrow {
  color: #0b8494;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 780;
}

.activity-hero h1, .activity-card h2 {
  color: #081d24;
  margin: 0;
  font-weight: 760;
}

.activity-hero h1 {
  font-size: 30px;
  line-height: 1.15;
}

.activity-card h2 {
  font-size: 24px;
  line-height: 1.18;
}

.activity-hero p:not(.eyebrow) {
  color: #526574;
  margin: 8px 0 0;
}

.activity-hero-row {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  display: flex;
}

.activity-refresh, .activity-login-card button, .activity-error button {
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  background: #22b1c2;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  font-weight: 760;
  display: inline-flex;
}

.activity-refresh:disabled {
  cursor: not-allowed;
  opacity: .62;
}

.activity-refresh .spinning {
  animation: .8s linear infinite activity-spin;
}

@keyframes activity-spin {
  to {
    transform: rotate(360deg);
  }
}

.activity-login-card, .activity-error {
  width: min(var(--content-shell-max, 1480px), 100%);
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  margin: 14px auto 0;
  box-shadow: 0 12px 30px #081d240f;
}

.activity-login-card {
  gap: 10px;
  padding: 28px;
  display: grid;
}

.activity-login-card h2 {
  color: #081d24;
  margin: 0;
  font-size: 24px;
  font-weight: 950;
}

.activity-login-card p {
  color: #526574;
  max-width: 720px;
  margin: 0;
  line-height: 1.45;
}

.activity-login-card button {
  background: #f79824;
  width: fit-content;
  margin-top: 4px;
}

.activity-error {
  color: #6b4b12;
  background: #fff8ea;
  border-color: #ffdca8;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  display: flex;
}

.activity-error span {
  color: #7a6545;
  flex: 1;
  font-size: 13px;
}

.activity-error button {
  background: #f79824;
  min-height: 34px;
}

.activity-summary-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
  display: grid;
}

.activity-summary-grid article {
  background: linear-gradient(#fff 0%, #fbfdfe 100%);
  border: 1px solid #e1ebf0;
  border-radius: 10px;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 2px 10px;
  min-height: 82px;
  padding: 13px 14px;
  display: grid;
}

.activity-summary-grid svg {
  color: #22b1c2;
  grid-row: span 2;
  align-self: center;
}

.activity-summary-grid strong {
  color: #081d24;
  font-size: 22px;
  font-weight: 720;
  line-height: 1;
}

.activity-summary-grid span {
  color: #64737c;
  font-size: 12px;
  font-weight: 650;
}

.activity-layout {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.activity-card {
  background: #fff;
  border: 1px solid #dfeaf0;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 10px 26px #081d240b;
}

.activity-wide {
  grid-row: span 2;
}

.activity-card-head {
  border-bottom: 1px solid #eef4f7;
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  display: flex;
}

.activity-card-head svg {
  color: #22b1c2;
  box-sizing: content-box;
  background: #effbfc;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  padding: 7px;
}

.activity-list {
  gap: 9px;
  display: grid;
}

.activity-list.compact {
  gap: 8px;
}

.activity-item, .activity-mini-item {
  background: #fff;
  border: 1px solid #e4edf2;
  border-radius: 8px;
}

.activity-item {
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  gap: 14px;
  padding: 12px;
  display: grid;
}

.activity-item a, .activity-mini-item a {
  color: #081d24;
  font-weight: 620;
  text-decoration: none;
}

.activity-item-title {
  color: #102936;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.32;
  display: -webkit-box;
  overflow: hidden;
}

.activity-item a:hover, .activity-mini-item a:hover {
  color: #0a8fa3;
}

.activity-item p {
  color: #60717c;
  margin: 5px 0 0;
  font-size: 12px;
}

.activity-item blockquote {
  color: #334756;
  background: #f4fbfc;
  border-left: 2px solid #22b1c2;
  border-radius: 2px;
  margin: 9px 0 0;
  padding: 7px 10px;
  font-size: 12px;
  line-height: 1.45;
}

.activity-item aside {
  color: #64737c;
  text-align: right;
  align-content: start;
  gap: 4px;
  min-width: 150px;
  font-size: 12px;
  display: grid;
}

.activity-item aside span, .activity-item small, .activity-mini-item span {
  color: #64737c;
  font-size: 12px;
  font-weight: 550;
}

.activity-meta span {
  color: #365160;
  font-weight: 680;
}

.activity-item.alert {
  align-items: center;
}

.activity-item.alert button {
  color: #0a8395;
  cursor: pointer;
  background: #f1fbfd;
  border: 1px solid #ccecf1;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  font-weight: 730;
  display: inline-flex;
}

.activity-mini-item {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 10px 12px;
  display: grid;
}

.activity-mini-item a {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.activity-compact {
  text-align: center;
  border: 1px dashed #cbd9df;
  border-radius: 10px;
  align-content: center;
  place-items: center;
  gap: 8px;
  min-height: 140px;
  display: grid;
}

.activity-compact strong {
  color: #081d24;
  font-size: 34px;
  font-weight: 780;
  line-height: 1;
}

.activity-compact span, .activity-empty {
  color: #64737c;
  font-size: 14px;
}

.activity-compact a {
  color: #fff;
  background: #22b1c2;
  border-radius: 8px;
  align-items: center;
  height: 38px;
  padding: 0 14px;
  font-weight: 760;
  text-decoration: none;
  display: inline-flex;
}

.activity-empty {
  text-align: center;
  border: 1px dashed #cbd9df;
  border-radius: 10px;
  place-items: center;
  min-height: 112px;
  padding: 20px;
  display: grid;
}

@media (max-width: 980px) {
  .activity-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .activity-page {
    padding: 18px 14px 42px;
  }

  .activity-summary-grid, .activity-item, .activity-mini-item {
    grid-template-columns: 1fr;
  }

  .activity-item aside {
    text-align: left;
    min-width: 0;
  }

  .activity-hero-row, .activity-error {
    flex-direction: column;
    align-items: stretch;
  }

  .activity-refresh, .activity-login-card button, .activity-error button {
    width: 100%;
  }
}

@media (max-width: 980px) {
  .favorite-listing-card {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .favorite-listing-actions {
    flex-direction: row;
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .favorites-page {
    padding: 20px 14px 40px;
  }

  .favorites-hero, .favorites-warning, .favorite-listing-card {
    grid-template-columns: 1fr;
  }

  .favorites-hero, .favorites-warning {
    flex-direction: column;
    align-items: flex-start;
  }

  .favorite-listing-photo, .favorite-photo-placeholder {
    min-height: 220px;
  }
}

.prop-detail-page .price {
  margin: 0;
  font-size: 34px;
  font-weight: 950;
  line-height: 1.1;
}

.prop-detail-page .expenses {
  color: #6a7780;
  margin: -4px 0 6px;
  font-size: 15px;
}

.prop-detail-page .publisher {
  color: #5f6d75;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  font-weight: 800;
  display: flex;
}

.prop-detail-page .publisher img {
  object-fit: contain;
  max-width: 82px;
  max-height: 38px;
}

.prop-detail-page .contact-card button, .prop-detail-page .contact-card a, .prop-detail-page .top-actions button {
  box-sizing: border-box;
  cursor: pointer;
  border: 1px solid #dce3e8;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 44px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  display: inline-flex;
}

.prop-detail-page .contact-card button:hover, .prop-detail-page .contact-card a:hover, .prop-detail-page .top-actions button:hover {
  border-color: #0a8fa3;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px #0a8fa31f;
}

.prop-detail-page .contact-card button svg, .prop-detail-page .contact-card a svg, .prop-detail-page .top-actions button svg {
  flex: none;
  display: block;
}

.prop-detail-page .whatsapp {
  color: #fff;
  background: #00b85c;
  border: 0 !important;
}

.prop-detail-page .contact {
  color: #fff;
  background: #007f68;
  box-shadow: 0 10px 22px #007f6833;
  border: 0 !important;
}

.prop-detail-page .phone {
  color: #17242b;
  background: #fff;
}

.prop-detail-page .contact-form {
  gap: 11px;
  display: grid;
}

.prop-detail-page .contact-form label {
  color: #4d5f68;
  gap: 6px;
  font-size: 12px;
  font-weight: 850;
  display: grid;
}

.prop-detail-page .contact-form input, .prop-detail-page .contact-form textarea {
  color: #17242b;
  width: 100%;
  font: inherit;
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 8px;
  outline: none;
  font-size: 14px;
  font-weight: 650;
  transition: border-color .18s, box-shadow .18s;
}

.prop-detail-page .contact-form input {
  height: 42px;
  padding: 0 12px;
}

.prop-detail-page .contact-form textarea {
  resize: vertical;
  min-height: 94px;
  padding: 11px 12px;
  line-height: 1.45;
}

.prop-detail-page .contact-form input:focus, .prop-detail-page .contact-form textarea:focus {
  border-color: #22b1c2;
  box-shadow: 0 0 0 3px #22b1c224;
}

.prop-detail-page .contact-form input[aria-invalid="true"], .prop-detail-page .contact-form textarea[aria-invalid="true"] {
  border-color: #f79824;
  box-shadow: 0 0 0 3px #f7982424;
}

.prop-detail-page .contact-form small {
  color: #c05500;
  font-size: 12px;
  font-weight: 800;
}

.prop-detail-page .contact-form-error {
  color: #c05500;
  margin: 0;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.4;
}

.prop-detail-page .contact-card button:disabled {
  opacity: .72;
  cursor: wait;
  box-shadow: none;
  transform: none;
}

.prop-detail-page .contact-muted, .prop-detail-page .contact-schedule {
  color: #64737c;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.prop-detail-page .contact-schedule {
  background: #f7fafb;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  display: flex;
}

.prop-detail-page .listing-meta-card {
  background: #f8fbfc;
  border: 1px solid #e6edf1;
  border-radius: 8px;
  margin-top: 4px;
  padding: 14px;
}

.prop-detail-page .contact-sent-modal {
  z-index: 180;
  place-items: center;
  padding: 24px;
  display: grid;
  position: fixed;
  inset: 0;
}

.prop-detail-page .contact-sent-backdrop {
  cursor: pointer;
  background: #081d249e;
  border: 0;
  position: absolute;
  inset: 0;
}

.prop-detail-page .contact-sent-panel {
  text-align: center;
  background: #fff;
  border-radius: 16px;
  width: min(430px, 100%);
  padding: 34px 30px 28px;
  position: relative;
  box-shadow: 0 26px 70px #081d244d;
}

.prop-detail-page .contact-sent-close {
  color: #17242b;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 999px;
  place-items: center;
  width: 38px;
  height: 38px;
  display: grid;
  position: absolute;
  top: 14px;
  right: 14px;
}

.prop-detail-page .contact-sent-icon {
  color: #0a8fa3;
  background: #e8f7fa;
  border-radius: 999px;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  display: grid;
}

.prop-detail-page .contact-sent-panel h2 {
  color: #081d24;
  margin: 0;
  font-size: 26px;
  font-weight: 950;
}

.prop-detail-page .contact-sent-panel p {
  color: #52636b;
  margin: 10px auto 22px;
  line-height: 1.5;
}

.prop-detail-page .contact-sent-action {
  color: #fff;
  cursor: pointer;
  background: #22b1c2;
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 44px;
  font-weight: 900;
}

.prop-detail-page .listing-meta-card h3 {
  color: #17242b;
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 950;
}

.prop-detail-page .listing-meta-card dl {
  gap: 8px;
  margin: 0;
  display: grid;
}

.prop-detail-page .listing-meta-card div {
  justify-content: space-between;
  align-items: baseline;
  gap: 14px;
  display: flex;
}

.prop-detail-page .listing-meta-card dt, .prop-detail-page .listing-meta-card dd {
  margin: 0;
  font-size: 12px;
}

.prop-detail-page .listing-meta-card dt {
  color: #64737c;
  font-weight: 800;
}

.prop-detail-page .listing-meta-card dd {
  color: #17242b;
  text-align: right;
  font-weight: 900;
}

.prop-detail-page .title-row {
  justify-content: space-between;
  gap: 18px;
  margin: 28px 0 18px;
  display: flex;
}

.prop-detail-page .crumb {
  color: #007f68;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 900;
}

.prop-detail-page h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 950;
  line-height: 1.2;
}

.prop-detail-page .location {
  color: #5f6d75;
  align-items: center;
  gap: 7px;
  margin: 10px 0 0;
  display: flex;
}

.prop-detail-page .top-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
  display: grid;
}

.prop-detail-page .top-actions button {
  color: #5f6d75;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #fff;
  min-width: 0;
  padding: 0 10px;
  overflow: hidden;
}

.prop-detail-page .stats {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
  display: grid;
}

.prop-detail-page .stat-card {
  text-align: center;
  color: #007f68;
  place-items: center;
  min-height: 92px;
  padding: 14px;
  display: grid;
}

.prop-detail-page .stat-card span {
  color: #75828a;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}

.prop-detail-page .stat-card strong {
  color: #17242b;
  font-size: 17px;
}

.prop-detail-page .description {
  padding: 24px;
}

.prop-detail-page .description h2 {
  margin: 0 0 12px;
  font-size: 18px;
}

.prop-detail-page .description p {
  color: #33434c;
  white-space: pre-wrap;
  margin: 0;
  line-height: 1.75;
}

.prop-detail-page .description-content {
  position: relative;
}

.prop-detail-page .description.collapsed .description-content {
  max-height: 150px;
  overflow: hidden;
}

.prop-detail-page .description.collapsed .description-content:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#fff0, #fff 82%);
  height: 58px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.prop-detail-page .description-toggle {
  color: #00899a;
  cursor: pointer;
  background: #f2fcfd;
  border: 1px solid #c6edf3;
  border-radius: 8px;
  min-height: 38px;
  margin-top: 14px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 900;
}

.prop-detail-page .description-toggle:hover {
  background: #e7f8fb;
  border-color: #22b1c2;
}

.prop-detail-page .not-found {
  text-align: center;
  place-items: center;
  gap: 12px;
  min-height: 55vh;
  display: grid;
}

@media (max-width: 1100px) {
  .prop-listing-page .content {
    grid-template-columns: 1fr;
  }

  .prop-listing-page .side-column {
    display: none;
  }

  .prop-listing-page .search-shell {
    grid-template-columns: 1fr 1fr;
  }

  .prop-listing-page .side-column {
    width: auto;
  }
}

@media (max-width: 860px) {
  .prop-detail-page .hero {
    grid-template-columns: 1fr;
  }

  .prop-detail-page .photo {
    height: 360px;
  }

  .prop-detail-page .contact-card {
    position: static;
  }

  .prop-detail-page .title-row {
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .prop-listing-page .search-band {
    padding: 14px;
    position: static;
  }

  .prop-listing-page .search-shell {
    grid-template-columns: 1fr;
  }

  .prop-listing-page .content {
    padding: 18px 14px 48px;
  }

  .prop-listing-page .results-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .prop-listing-page .toolbar-actions {
    overflow-x: auto;
  }

  .prop-listing-page .listing-card {
    grid-template-columns: 1fr;
  }

  .prop-listing-page .property-image {
    min-height: 230px;
  }

  .prop-listing-page .listing-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .prop-listing-page .actions {
    width: 100%;
  }

  .prop-listing-page .actions button, .prop-listing-page .actions a {
    flex: 1;
  }

  .prop-listing-page .grid-stack {
    grid-template-columns: 1fr;
  }
}

.prop-listing-page {
  color: #16232a;
  background: #f7f8fa;
  min-height: 100vh;
}

.prop-listing-page .search-band {
  z-index: 20;
  background: #fff;
  border-bottom: 1px solid #e7ebef;
  padding: 20px 24px 22px;
  position: sticky;
  top: 0;
}

.prop-listing-page .search-shell {
  max-width: var(--site-shell-max);
  grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(160px, .7fr)) auto;
  gap: 12px;
  margin: 0 auto;
  display: grid;
}

.prop-listing-page .location-input, .prop-listing-page .filter-select, .prop-listing-page .more-filter, .prop-listing-page .alert-button, .prop-listing-page .view-toggle, .prop-listing-page .map-card {
  background: #fff;
  border: 1px solid #cfd7de;
  border-radius: 7px;
  height: 48px;
}

.prop-listing-page .location-input {
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  display: flex;
}

.prop-listing-page .location-input input {
  color: #16232a;
  border: 0;
  outline: 0;
  width: 100%;
  font-size: 15px;
}

.prop-listing-page .filter-select {
  align-items: center;
  display: flex;
  position: relative;
}

.prop-listing-page .filter-select select {
  appearance: none;
  color: #16232a;
  cursor: pointer;
  background: none;
  border: 0;
  outline: 0;
  width: 100%;
  height: 100%;
  padding: 0 38px 0 14px;
  font-size: 15px;
  font-weight: 700;
}

.prop-listing-page .filter-select svg {
  pointer-events: none;
  color: #62707a;
  position: absolute;
  right: 12px;
}

.prop-listing-page .more-filter {
  color: #16232a;
  cursor: pointer;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  font-weight: 800;
  display: flex;
}

.prop-listing-page .content {
  max-width: var(--site-shell-max);
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: start;
  gap: 32px;
  margin: 0 auto;
  padding: 10px 24px 64px;
  display: grid;
}

.prop-listing-page .results-toolbar {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  display: flex;
}

.prop-listing-page h1 {
  color: #17242b;
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.35;
}

.prop-listing-page .toolbar-actions {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.prop-listing-page .alert-button {
  color: #ff6b2b;
  cursor: pointer;
  border-color: #ff8a55;
  padding: 0 18px;
  font-weight: 800;
}

.prop-listing-page .view-toggle {
  display: flex;
  overflow: hidden;
}

.prop-listing-page .view-toggle button {
  color: #62707a;
  cursor: pointer;
  background: none;
  border: 0;
  place-items: center;
  width: 43px;
  display: grid;
}

.prop-listing-page .view-toggle button.active {
  color: #fff;
  background: #007f68;
}

.prop-listing-page .listing-stack {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.prop-listing-page .search-band .listing-breadcrumb {
  max-width: var(--site-shell-max, 1760px);
  color: #64737c;
  white-space: nowrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0 auto 24px;
  font-size: 13px;
  line-height: 1.2;
  display: flex;
  overflow: hidden;
}

.prop-listing-page .search-band .listing-breadcrumb .breadcrumb-item {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.prop-listing-page .search-band .listing-breadcrumb a {
  color: #33444d;
  text-overflow: ellipsis;
  min-width: 0;
  text-decoration: none;
  overflow: hidden;
}

.prop-listing-page .search-band .listing-breadcrumb a:hover {
  color: #0a8fa3;
}

.prop-listing-page .search-band .listing-breadcrumb a.current {
  color: #007f8f;
  font-weight: 800;
}

.prop-listing-page .search-band .listing-breadcrumb .breadcrumb-separator {
  color: #8b969c;
  flex: none;
  font-weight: 700;
}

.prop-listing-page .listing-card, .prop-listing-page .grid-card, .prop-listing-page .side-promo, .prop-listing-page .side-featured-carousel {
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-listing-page .listing-card {
  grid-template-columns: 380px minmax(0, 1fr);
  height: 300px;
  display: grid;
  overflow: hidden;
}

.prop-listing-page .listing-card.featured, .prop-listing-page .grid-card.featured {
  border-color: #ff7a30;
  box-shadow: inset 4px 0 #ff7a30, 0 1px 6px #ff7a302e;
}

.prop-listing-page .listing-image-link, .prop-listing-page .listing-main-link, .prop-listing-page .listing-detail-link, .prop-listing-page .grid-link, .prop-listing-page .map-card, .prop-listing-page .side-featured-card, .prop-listing-page .mini-card {
  color: inherit;
  text-decoration: none;
}

.prop-listing-page .listing-card > .listing-image-link {
  height: 300px;
  min-height: 0;
  display: block;
  overflow: hidden;
}

.prop-listing-page .listing-card > .listing-image-link .property-image {
  height: 300px;
  min-height: 0;
}

.prop-listing-page .property-image {
  background: #d8e5e2;
  height: 100%;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

.prop-listing-page .property-image-compact {
  height: 230px;
  min-height: 230px;
}

.prop-listing-page .property-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-listing-page .image-placeholder {
  color: #94a3b8;
  background: #f1f5f9;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 100%;
  font-weight: 700;
  display: flex;
}

.prop-listing-page .image-tag {
  color: #1b262c;
  background: #fff;
  border-radius: 5px;
  padding: 7px 10px;
  font-size: 13px;
  font-weight: 900;
  position: absolute;
  top: 12px;
  left: 12px;
  box-shadow: 0 2px 8px #0000001f;
}

.prop-listing-page .commercial-status-ribbon {
  z-index: 3;
  border-radius: 7px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 950;
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 8px 18px #081d242e;
}

.prop-listing-page .commercial-status-ribbon.reservada {
  color: #9a5a08;
  background: #fff8e7;
  border: 1px solid #f5d6ad;
}

.prop-listing-page .commercial-status-ribbon.vendida {
  color: #4f46e5;
  background: #eef2ff;
  border: 1px solid #c7d2fe;
}

.prop-listing-page .image-arrow {
  color: #1b262c;
  cursor: pointer;
  opacity: 0;
  background: #ffffffe6;
  border: 0;
  border-radius: 999px;
  place-items: center;
  width: 32px;
  height: 32px;
  transition: opacity .15s;
  display: grid;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.prop-listing-page .property-image:hover .image-arrow, .prop-listing-page .property-image:focus-within .image-arrow {
  opacity: 1;
}

.prop-listing-page .image-arrow-left {
  left: 12px;
}

.prop-listing-page .image-arrow-right {
  right: 12px;
}

@media (hover: none), (max-width: 860px) {
  .prop-listing-page .image-arrow {
    opacity: 1;
  }
}

.prop-listing-page .photo-count, .prop-listing-page .photo-total-count, .prop-listing-page .photo-position-count, .prop-listing-page .floorplan-count {
  z-index: 4;
  color: #fff;
  white-space: nowrap;
  background: #06181fc7;
  border-radius: 8px;
  align-items: center;
  gap: 5px;
  width: auto;
  height: auto;
  min-height: 30px;
  padding: 0 9px;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  bottom: 12px;
  box-shadow: 0 8px 18px #06181f2e;
}

.prop-listing-page .photo-count, .prop-listing-page .floorplan-count {
  right: 12px;
}

.prop-listing-page .photo-total-count {
  left: 12px;
}

.prop-listing-page .photo-position-count {
  left: 50%;
  transform: translateX(-50%);
}

.prop-listing-page .listing-body {
  flex-direction: column;
  min-width: 0;
  padding: 22px 20px 14px;
  display: flex;
  position: relative;
}

.prop-listing-page .heart-button {
  color: #111f27;
  cursor: pointer;
  background: none;
  border: 0;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
  position: absolute;
  top: 20px;
  right: 18px;
}

.prop-listing-page .price-line {
  align-items: baseline;
  gap: 10px;
  min-width: 0;
  padding-right: 272px;
  display: flex;
}

.prop-listing-page .price {
  color: #17242b;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 100%;
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
  overflow: hidden;
}

.prop-listing-page .expenses {
  color: #6a7780;
  white-space: nowrap;
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.prop-listing-page .type-row {
  color: #52636b;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 850;
  display: flex;
}

.prop-listing-page .type-row.compact {
  margin-top: 9px;
  font-size: 12px;
}

.prop-listing-page .type-pill, .prop-listing-page .operation-pill {
  white-space: nowrap;
  border-radius: 6px;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  line-height: 1;
  display: inline-flex;
}

.prop-listing-page .type-pill {
  color: #007f68;
  background: #eef8f7;
  font-weight: 950;
}

.prop-listing-page .operation-pill {
  color: #33424b;
  background: #f3f6f8;
  font-weight: 900;
}

.prop-listing-page .stats-row {
  color: #273640;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 11px;
  display: flex;
}

.prop-listing-page .stat {
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
}

.prop-listing-page h2 {
  color: #16232a;
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.prop-listing-page .listing-code {
  color: #22b1c2;
  margin: 6px 0 0;
  font-size: 12px;
  font-weight: 900;
}

.prop-listing-page .location {
  color: #5f6d75;
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.35;
}

.prop-listing-page .listing-title {
  color: #16232a;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  margin: 7px 0 0;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
}

.prop-listing-page .description {
  color: #5d6870;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  margin: 4px 0 0;
  font-size: 14px;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
}

.prop-listing-page .listing-footer {
  z-index: 5;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  position: relative;
}

.prop-listing-page .publisher {
  color: #687780;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  font-size: 13px;
  display: flex;
}

.prop-listing-page .agency-mark {
  color: #0f3f4a;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 250px;
  min-height: 32px;
  font-weight: 900;
  display: inline-flex;
}

.prop-listing-page .agency-mark-logo, .prop-listing-page .agency-mark-fallback {
  background: #fff;
  border: 1px solid #d6e6ec;
  border-radius: 7px;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  overflow: hidden;
}

.prop-listing-page .agency-mark-logo {
  position: relative;
}

.prop-listing-page .agency-mark-logo img {
  object-fit: contain;
  padding: 3px;
}

.prop-listing-page .agency-mark-fallback {
  color: #0a8fa3;
  background: #eef8fa;
  place-items: center;
  font-size: 12px;
  font-weight: 950;
  display: grid;
}

.prop-listing-page .agency-mark-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.prop-listing-page .owner-label {
  color: #007f68;
  background: #eef5f3;
  border-radius: 5px;
  align-items: center;
  height: 30px;
  padding: 0 9px;
  font-weight: 800;
  display: inline-flex;
}

.prop-listing-page .actions {
  z-index: 6;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
}

.prop-listing-page .actions button, .prop-listing-page .actions a {
  cursor: pointer;
  white-space: nowrap;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  font-size: 15px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

.prop-listing-page .icon-action {
  color: #16232a;
  background: #fff;
  border: 1px solid #ff6b2b;
  width: 44px;
}

.prop-listing-page .whatsapp-action {
  color: #fff;
  background: #00b85c;
  border: 0;
  min-width: 132px;
  padding: 0 16px;
}

.prop-listing-page .contact-action {
  color: #fff;
  background: #007f68;
  border: 0;
  min-width: 126px;
  padding: 0 16px;
}

.prop-listing-page .listing-contact-submit, .prop-listing-page .contact-sent-action {
  color: #fff;
  background: #007f68;
  border: 0;
}

.prop-listing-page .grid-stack {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.prop-listing-page .grid-card {
  position: relative;
  overflow: hidden;
}

.prop-listing-page .grid-content {
  padding: 16px;
}

.prop-listing-page .grid-heart {
  background: #ffffffeb;
  border-radius: 999px;
  top: 10px;
  right: 10px;
}

.prop-listing-page .listing-top-actions {
  z-index: 4;
  align-items: center;
  gap: 6px;
  display: flex;
  position: absolute;
  top: 20px;
  right: 18px;
}

.prop-listing-page .listing-code-top {
  color: #22b1c2;
  white-space: nowrap;
  margin: 0 4px 0 0;
  font-size: 12px;
  font-weight: 900;
}

.prop-listing-page .grid-top-actions {
  top: 10px;
  right: 10px;
}

.prop-listing-page .listing-top-actions .heart-button.favorite-button, .prop-listing-page .listing-top-actions .hide-listing-button {
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  place-items: center;
  width: 42px;
  height: 42px;
  display: grid;
  position: static;
  top: auto;
  right: auto;
}

.prop-listing-page .listing-top-actions .hide-listing-button {
  color: #53636d;
  background: none;
  transition: background .16s, color .16s, transform .16s;
}

.prop-listing-page .grid-top-actions .hide-listing-button, .prop-listing-page .grid-top-actions .heart-button.favorite-button {
  background: #ffffffeb;
}

.prop-listing-page .listing-top-actions .hide-listing-button:hover {
  color: #0a8395;
  background: #eef5f7;
  transform: translateY(-1px);
}

.prop-listing-page .listing-card .listing-body {
  height: 100%;
  padding-bottom: 76px;
  overflow: hidden;
}

.prop-listing-page .listing-main-link {
  min-height: 0;
  overflow: hidden;
}

.prop-listing-page .listing-card .listing-footer {
  z-index: 5;
  background: #fff;
  margin-top: 0;
  padding-top: 10px;
  position: absolute;
  bottom: 14px;
  left: 20px;
  right: 20px;
}

.prop-listing-page .listing-card .price {
  padding-right: 0;
}

.prop-listing-page .side-column {
  flex-direction: column;
  gap: 18px;
  display: flex;
  position: sticky;
  top: 96px;
}

.prop-listing-page .map-card {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  height: auto;
  min-height: 96px;
  padding: 0 16px;
  display: grid;
  overflow: hidden;
}

.prop-listing-page .map-card div {
  color: #007f68;
  background: linear-gradient(135deg, #b7dde6, #d7e7d2);
  grid-column: 1 / -1;
  place-items: center;
  height: 45px;
  margin: 0 -16px;
  display: grid;
}

.prop-listing-page .map-card strong {
  color: #16232a;
  font-size: 15px;
}

.prop-listing-page .side-featured-carousel {
  overflow: hidden;
}

.prop-listing-page .side-featured-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 12px 10px;
  display: flex;
}

.prop-listing-page .side-featured-head p {
  color: #17242b;
  margin: 0;
  font-size: 13px;
  font-weight: 900;
}

.prop-listing-page .side-featured-head div {
  gap: 5px;
  display: flex;
}

.prop-listing-page .side-featured-head button {
  color: #0d6677;
  cursor: pointer;
  background: #fff;
  border: 1px solid #cfe5e9;
  border-radius: 7px;
  place-items: center;
  width: 26px;
  height: 26px;
  display: grid;
}

.prop-listing-page .side-featured-card {
  background: #fff;
  border: 1px solid #d6e0e5;
  border-radius: 8px;
  padding: 6px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
  display: block;
  box-shadow: 0 1px 2px #0f172a0a;
}

.prop-listing-page .side-featured-card:hover {
  border-color: #9fcbd4;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px #0f172a14;
}

.prop-listing-page .side-featured-image {
  background: #e8f0f3;
  border-radius: 6px;
  height: 160px;
  position: relative;
  overflow: hidden;
}

.prop-listing-page .side-featured-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-listing-page .side-featured-image > span {
  color: #94a3b8;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.prop-listing-page .side-featured-image small {
  color: #fff;
  background: #081d24d6;
  border-radius: 6px;
  align-items: center;
  gap: 4px;
  padding: 5px 7px;
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.prop-listing-page .side-featured-body {
  gap: 3px;
  padding: 10px 2px 2px;
  display: grid;
}

.prop-listing-page .side-featured-body strong, .prop-listing-page .side-featured-body span, .prop-listing-page .side-featured-body small {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.prop-listing-page .side-featured-body strong {
  color: #17242b;
  font-size: 15px;
  font-weight: 900;
}

.prop-listing-page .side-featured-body span {
  color: #17242b;
  font-size: 12px;
  font-weight: 800;
}

.prop-listing-page .side-featured-body small {
  color: #66757e;
  font-size: 12px;
}

@media (max-width: 1460px) {
  .prop-listing-page .content, .prop-listing-page .search-shell {
    max-width: 1320px;
  }

  .prop-listing-page .listing-card {
    grid-template-columns: 350px minmax(0, 1fr);
  }
}

@media (max-width: 1100px) {
  .prop-listing-page .content {
    grid-template-columns: 1fr;
  }

  .prop-listing-page .side-column {
    display: none;
  }

  .prop-listing-page .search-shell {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  .prop-listing-page .listing-card {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
  }

  .prop-listing-page .listing-card .listing-body {
    height: auto;
    padding-bottom: 14px;
  }

  .prop-listing-page .property-image, .prop-listing-page .listing-card > .listing-image-link, .prop-listing-page .listing-card > .listing-image-link .property-image {
    height: 290px;
    min-height: 290px;
  }

  .prop-listing-page .listing-card .listing-footer {
    flex-direction: column;
    align-items: stretch;
    margin-top: 12px;
    padding-top: 12px;
    position: static;
  }

  .prop-listing-page .actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    display: grid;
  }

  .prop-listing-page .actions :is(button, a) {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .prop-listing-page .search-band {
    padding: 14px;
    position: static;
  }

  .prop-listing-page .search-shell {
    grid-template-columns: 1fr;
  }

  .prop-listing-page .content {
    padding: 18px 14px 48px;
  }

  .prop-listing-page .results-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .prop-listing-page .toolbar-actions {
    overflow-x: auto;
  }

  .prop-listing-page .listing-card {
    grid-template-columns: 1fr;
    height: auto;
  }

  .prop-listing-page .property-image {
    height: 230px;
    min-height: 230px;
  }

  .prop-listing-page .listing-card > .listing-image-link, .prop-listing-page .listing-card > .listing-image-link .property-image {
    height: 230px;
  }

  .prop-listing-page .listing-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .prop-listing-page .actions {
    width: 100%;
  }

  .prop-listing-page .actions button, .prop-listing-page .actions a {
    flex: 1;
  }

  .prop-listing-page .grid-stack {
    grid-template-columns: 1fr;
  }
}

.prop-detail-page {
  --detail-shell-max: var(--content-shell-max);
  overflow-x: hidden;
}

.prop-detail-page .detail-shell {
  max-width: var(--detail-shell-max);
  padding: 26px 36px 72px;
}

.prop-detail-page .detail-topbar {
  max-width: var(--detail-shell-max);
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 0 auto 14px;
  display: flex;
}

.prop-detail-page .detail-topbar nav {
  color: #64737c;
  white-space: nowrap;
  text-overflow: ellipsis;
  align-items: center;
  gap: 8px;
  min-width: 0;
  font-size: 13px;
  display: flex;
  overflow: hidden;
}

.prop-detail-page .detail-topbar nav .breadcrumb-item {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.prop-detail-page .detail-topbar nav a {
  color: #33444d;
  text-overflow: ellipsis;
  text-decoration: none;
  overflow: hidden;
}

.prop-detail-page .detail-topbar nav a:hover {
  color: #0a8fa3;
}

.prop-detail-page .detail-topbar nav a.current {
  color: #007f8f;
  font-weight: 800;
}

.prop-detail-page .detail-topbar nav .breadcrumb-separator {
  color: #8b969c;
  font-weight: 700;
}

.prop-detail-page .detail-utility-actions {
  flex: none;
  align-items: center;
  gap: 8px;
  display: flex;
}

.prop-detail-page .detail-utility-actions button {
  color: #17242b;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 850;
  transition: background .18s, border-color .18s, color .18s;
  display: inline-flex;
}

.prop-detail-page .detail-utility-actions button:hover {
  color: #0a8fa3;
  background: #e8f7fa;
  border-color: #c4e9ef;
}

.prop-detail-page .detail-heading {
  max-width: var(--detail-shell-max);
  justify-content: space-between;
  align-items: start;
  gap: 24px;
  margin: 0 auto 22px;
  display: flex;
}

.prop-detail-page .detail-heading h1 {
  letter-spacing: 0;
  max-width: 1180px;
  margin-bottom: 0;
  font-size: clamp(28px, 2.05vw, 38px);
  line-height: 1.12;
}

.prop-detail-page .detail-type-row {
  color: #52636b;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 14px;
  font-weight: 850;
  display: flex;
}

.prop-detail-page .detail-type-row span, .prop-detail-page .detail-type-row strong, .prop-detail-page .detail-type-row em {
  border-radius: 7px;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  font-style: normal;
  display: inline-flex;
}

.prop-detail-page .detail-type-row span {
  color: #007f68;
  background: #eef8f7;
  font-weight: 950;
}

.prop-detail-page .detail-type-row strong, .prop-detail-page .detail-type-row em {
  color: #334155;
  background: #f3f6f8;
}

.prop-detail-page .detail-heading > span {
  color: #0a8fa3;
  white-space: nowrap;
  background: #e8f7fa;
  border: 1px solid #c4e9ef;
  border-radius: 999px;
  margin-top: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 900;
  box-shadow: 0 8px 20px #0a8fa314;
}

.prop-detail-page .detail-badges {
  max-width: var(--detail-shell-max);
  flex-wrap: wrap;
  gap: 8px;
  margin: -10px auto 20px;
  display: flex;
}

.prop-detail-page .detail-badges span {
  color: #0a7182;
  background: #e8f7fa;
  border: 1px solid #c4e9ef;
  border-radius: 999px;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
}

.prop-detail-page .detail-layout {
  max-width: var(--detail-shell-max);
  grid-template-columns: minmax(0, 1fr) 430px;
  align-items: stretch;
  gap: 24px;
  margin: 0 auto;
  display: grid;
}

.prop-detail-page .detail-main {
  flex-direction: column;
  min-width: 0;
  height: 100%;
  display: flex;
}

.prop-detail-page .gallery-stage {
  grid-template-columns: minmax(0, 1fr) 98px;
  align-items: stretch;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.prop-detail-page .gallery-count {
  color: #5f6d75;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
}

.prop-detail-page .gallery-count:before {
  content: "";
  background: #0a8fa3;
  border-radius: 999px;
  width: 8px;
  height: 8px;
}

.prop-detail-page .detail-photo {
  background: #e8eef1;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  width: 100%;
  min-width: 0;
  height: clamp(380px, 29vw, 500px);
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 34px #0f172a1c;
}

.prop-detail-page .detail-photo:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#06181f1a, #0000 22% 66%, #06181f2e), linear-gradient(90deg, #06181f14, #0000 18% 82%, #06181f14);
  position: absolute;
  inset: 0;
}

.prop-detail-page .detail-photo img {
  object-fit: cover;
  cursor: zoom-in;
  background: #f8fafb;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-detail-page .detail-photo .placeholder, .prop-detail-page .gallery-fallback {
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
}

.prop-detail-page .gallery-fallback {
  color: #31534d;
  text-align: center;
  cursor: zoom-in;
  background: linear-gradient(135deg, #0a8fa329, #0000 34%), radial-gradient(circle at 76% 28%, #ffffffad, #0000 28%), linear-gradient(135deg, #e4f0ed, #b4d4cd);
  align-content: center;
  gap: 8px;
  padding: 32px;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .gallery-fallback:before {
  content: "";
  aspect-ratio: 1.7;
  opacity: .34;
  background: linear-gradient(135deg, #0000 48%, #0a8fa338 49% 53%, #0000 54%), linear-gradient(45deg, #0000 48%, #0a8fa32e 49% 53%, #0000 54%), linear-gradient(#ffffff9e, #fff3);
  border: 1px solid #0a8fa32e;
  border-radius: 10px 10px 4px 4px;
  width: min(520px, 68%);
  position: absolute;
  bottom: 14%;
  left: 50%;
  transform: translateX(-50%);
}

.prop-detail-page .gallery-fallback > * {
  z-index: 1;
  position: relative;
}

.prop-detail-page .gallery-fallback span {
  color: #0a8fa3;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 950;
}

.prop-detail-page .gallery-fallback strong {
  color: #17242b;
  font-size: 30px;
  line-height: 1.1;
}

.prop-detail-page .gallery-fallback small {
  color: #64737c;
  max-width: 360px;
  font-size: 14px;
  line-height: 1.4;
}

.prop-detail-page .detail-photo .arrow {
  color: #fff;
  z-index: 2;
  background: #0f172a94;
  border: 1px solid #ffffff38;
  width: 46px;
  height: 46px;
  transition: background .18s, transform .18s;
}

.prop-detail-page .detail-photo .arrow:hover {
  background: #0a8fa3eb;
  transform: translateY(-50%)scale(1.04);
}

.prop-detail-page .detail-photo .left {
  left: 18px;
}

.prop-detail-page .detail-photo .right {
  right: 18px;
}

.prop-detail-page .detail-photo .featured {
  z-index: 2;
  top: 14px;
  right: 14px;
}

.prop-detail-page .detail-photo-total, .prop-detail-page .detail-photo-position, .prop-detail-page .detail-floorplan-count {
  z-index: 2;
  color: #fff;
  background: #06181fc7;
  border: 0;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  bottom: 16px;
  box-shadow: 0 8px 18px #06181f2e;
}

.prop-detail-page .detail-photo-total {
  cursor: pointer;
  left: 16px;
}

.prop-detail-page .detail-photo-total:hover {
  background: #0a8fa3f0;
}

.prop-detail-page .detail-photo-position {
  left: 50%;
  transform: translateX(-50%);
}

.prop-detail-page .detail-floorplan-count {
  right: 16px;
}

.prop-detail-page .view-all-photos {
  z-index: 2;
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background: #06181fc7;
  border: 1px solid #ffffff47;
  border-radius: 8px;
  min-height: 42px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 900;
  transition: background .18s, transform .18s, border-color .18s;
  position: absolute;
  bottom: 16px;
  left: 16px;
}

.prop-detail-page .view-all-photos:hover {
  background: #0a8fa3f0;
  border-color: #ffffff80;
  transform: translateY(-1px);
}

.prop-detail-page .thumbnail-strip {
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  min-height: 0;
  padding: 2px;
  display: flex;
  overflow: hidden;
}

.prop-detail-page .thumbnail-rail {
  grid-template-rows: 34px minmax(0, 1fr) 34px;
  align-self: stretch;
  gap: 8px;
  min-width: 0;
  min-height: 0;
  max-height: clamp(380px, 29vw, 500px);
  display: grid;
}

.prop-detail-page .thumb-nav {
  color: #0a8fa3;
  cursor: pointer;
  background: #fff;
  border: 1px solid #c4e9ef;
  border-radius: 8px;
  place-items: center;
  width: 100%;
  height: 34px;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  display: grid;
}

.prop-detail-page .thumb-nav svg, .prop-detail-page .thumb-nav.down svg {
  transform: rotate(90deg);
}

.prop-detail-page .thumb-nav:hover {
  border-color: #0a8fa3;
  box-shadow: 0 8px 18px #0a8fa31f;
}

.prop-detail-page .thumbnail-strip button {
  cursor: pointer;
  opacity: .78;
  background: #fff;
  border: 2px solid #0000;
  border-radius: 8px;
  flex: 0 0 78px;
  width: 104px;
  height: 78px;
  padding: 0;
  transition: opacity .18s, transform .18s, border-color .18s, box-shadow .18s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 6px #0f172a14;
}

.prop-detail-page .thumbnail-strip button.active {
  opacity: 1;
  border-color: #0a8fa3;
  box-shadow: 0 0 0 3px #0a8fa324;
}

.prop-detail-page .thumbnail-strip button:hover {
  opacity: 1;
  border-color: #8ddae5;
  transform: translateY(-1px);
}

.prop-detail-page .thumbnail-strip img {
  object-fit: contain;
  background: #f8fafb;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-detail-page .gallery-thumb-fallback {
  color: #0a7182;
  background: linear-gradient(135deg, #ffffff57, #0000), linear-gradient(135deg, #cde4de, #7fb9b9);
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 18px;
  font-weight: 950;
  display: grid;
}

.prop-detail-page .gallery-thumb-fallback.active {
  color: #fff;
  background: linear-gradient(135deg, #0a8fa3, #22b1c2);
}

.prop-detail-page .summary-tiles {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr));
  gap: 10px;
  margin-top: 8px;
  display: grid;
}

.prop-detail-page .detail-tile {
  text-align: center;
  color: #0a8fa3;
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  place-items: center;
  min-height: 78px;
  padding: 14px;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  display: grid;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .detail-tile:hover {
  border-color: #0a8fa3;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px #0a8fa31f;
}

.prop-detail-page .detail-tile strong {
  color: #17242b;
  font-size: 17px;
  line-height: 1.15;
}

.prop-detail-page .detail-tile span {
  color: #64737c;
  font-size: 13px;
}

.prop-detail-page .operation-label {
  color: #6a7780;
  text-transform: uppercase;
  margin: 0;
  font-size: 13px;
  font-weight: 900;
}

.prop-detail-page .contact-location {
  background: #f7fbfc;
  border-top: 1px solid #e6ebef;
  border-bottom: 1px solid #e6ebef;
  border-radius: 8px;
  align-items: start;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.prop-detail-page .contact-location svg {
  color: #697780;
  margin-top: 3px;
}

.prop-detail-page .contact-location strong, .prop-detail-page .contact-location span {
  display: block;
}

.prop-detail-page .contact-location strong {
  color: #17242b;
  font-size: 15px;
}

.prop-detail-page .contact-location span {
  color: #64737c;
  margin-top: 4px;
}

.prop-detail-page .publisher-avatar {
  color: #0a8fa3;
  background: #e8f7fa;
  border-radius: 9px;
  flex: 0 0 66px;
  place-items: center;
  width: 66px;
  height: 58px;
  font-weight: 950;
  display: grid;
}

.prop-detail-page .publisher div strong, .prop-detail-page .publisher div span {
  display: block;
}

.prop-detail-page .publisher div {
  min-width: 0;
}

.prop-detail-page .publisher div strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.prop-detail-page .publisher div span {
  color: #64737c;
  margin-top: 3px;
  font-size: 13px;
}

.prop-detail-page .publisher-logo {
  background: #fff;
  border: 1px solid #e6edf1;
  border-radius: 9px;
  flex: 0 0 66px;
  width: 66px;
  height: 58px;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .publisher-logo img {
  object-fit: contain;
  padding: 4px;
}

.prop-detail-page .publisher {
  background: #fff;
  border: 1px solid #e6edf1;
  border-radius: 8px;
  padding: 14px;
}

.prop-detail-page .description {
  max-width: var(--detail-shell-max);
  margin-top: 24px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px;
}

.prop-detail-page .inline-description {
  flex-direction: column;
  flex: auto;
  max-width: none;
  margin: 16px 0 0;
  display: flex;
}

.prop-detail-page .inline-description.collapsed {
  padding-bottom: 12px;
}

.prop-detail-page .inline-description.collapsed .description-content {
  flex: none;
  max-height: 360px;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .inline-description.collapsed .description-content:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(#fff0, #fff);
  height: 80px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.prop-detail-page .inline-description.collapsed .description-toggle {
  margin-top: auto;
}

.prop-detail-page .inline-description:not(.collapsed) .description-toggle {
  margin-top: 14px;
}

.prop-detail-page .detail-location-section {
  max-width: var(--detail-shell-max);
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  margin: 24px auto 0;
  padding: 22px;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .detail-section-heading {
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 14px;
  display: flex;
}

.prop-detail-page .detail-section-heading h2 {
  color: #17242b;
  margin: 0;
  font-size: 20px;
  font-weight: 950;
}

.prop-detail-page .detail-section-heading p {
  color: #64737c;
  text-align: right;
  margin: 0;
  font-size: 14px;
}

.prop-detail-page .detail-tabs-card {
  max-width: var(--detail-shell-max);
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  margin-top: 22px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  overflow: hidden;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .detail-tabs {
  background: #f8fafc;
  border-bottom: 1.5px solid #e8f0f4;
  border-right: 0;
  flex-direction: row;
  gap: 0;
  padding: 0;
  display: flex;
  overflow-x: auto;
}

.prop-detail-page .detail-tabs button {
  color: #52677a;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  background: none;
  border: 0;
  border-bottom: 3px solid #0000;
  border-radius: 0;
  flex-shrink: 0;
  min-width: 150px;
  margin-bottom: -1.5px;
  padding: 14px 20px;
  font-size: 13px;
  font-weight: 800;
  transition: color .18s, background .18s, border-color .18s, box-shadow .18s;
}

.prop-detail-page .detail-tabs button:hover {
  color: #0a8fa3;
  background: #eef8fa;
  border-color: #0000;
}

.prop-detail-page .detail-tabs button.active {
  color: #0a8fa3;
  box-shadow: none;
  background: #fff;
  border-bottom-color: #0a8fa3;
}

.prop-detail-page .detail-tab-panel {
  padding: 24px;
}

.prop-detail-page .tab-heading h2 {
  margin: 0 0 6px;
  font-size: 18px;
}

.prop-detail-page .tab-heading p {
  color: #64737c;
  margin: 0 0 14px;
}

.prop-detail-page .detail-map {
  background: #eef2f4;
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 330px;
}

.prop-detail-page .detail-map-large {
  height: 400px;
}

.prop-detail-page .detail-map-empty {
  color: #64737c;
  background: #eef2f4;
  border-radius: 8px;
  place-items: center;
  height: 220px;
  font-weight: 800;
  display: grid;
}

.prop-detail-page .detail-data-grid {
  border-top: 1px solid #edf1f3;
  border-left: 1px solid #edf1f3;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  display: grid;
}

.prop-detail-page .detail-data-grid div {
  border-bottom: 1px solid #edf1f3;
  border-right: 1px solid #edf1f3;
  padding: 15px 16px;
}

.prop-detail-page .detail-data-grid span, .prop-detail-page .detail-data-grid strong {
  display: block;
}

.prop-detail-page .detail-data-grid span {
  color: #64737c;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}

.prop-detail-page .detail-data-grid strong {
  color: #17242b;
  margin-top: 5px;
}

.prop-detail-page .detail-muted {
  color: #64737c;
  margin: 0;
}

.prop-detail-page .detail-tag-group {
  margin-top: 20px;
}

.prop-detail-page .detail-tag-group h3 {
  color: #17242b;
  margin: 0 0 10px;
  font-size: 15px;
}

.prop-detail-page .detail-tag-group div {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.prop-detail-page .detail-tag-group span {
  color: #0a8fa3;
  background: #eef5f3;
  border: 1px solid #c4e9ef;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 13px;
  font-weight: 800;
}

.prop-detail-page .similar-properties-section {
  max-width: var(--detail-shell-max);
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  margin: 24px auto 0;
  padding: 22px;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .similar-properties-section .detail-section-heading {
  align-items: center;
}

.prop-detail-page .similar-properties-section .detail-section-heading p {
  text-align: left;
  margin-top: 4px;
}

.prop-detail-page .similar-controls {
  flex: none;
  gap: 8px;
  display: inline-flex;
}

.prop-detail-page .similar-controls button {
  color: #0a8fa3;
  cursor: pointer;
  background: #fff;
  border: 1px solid #c4e9ef;
  border-radius: 8px;
  place-items: center;
  width: 38px;
  height: 38px;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  display: grid;
}

.prop-detail-page .similar-controls button:hover:not(:disabled) {
  border-color: #0a8fa3;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px #0a8fa31f;
}

.prop-detail-page .similar-controls button:disabled {
  opacity: .42;
  cursor: default;
}

.prop-detail-page .similar-carousel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.prop-detail-page .similar-card {
  min-width: 0;
  color: inherit;
  background: #fff;
  border: 1px solid #dce3e8;
  border-radius: 8px;
  text-decoration: none;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  overflow: hidden;
  box-shadow: 0 1px 3px #0f172a0a;
}

.prop-detail-page .similar-card:hover {
  border-color: #0a8fa3;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px #0a8fa31f;
}

.prop-detail-page .similar-card-media {
  background: #f1f5f9;
  height: 170px;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .similar-card-media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.prop-detail-page .similar-card-fallback {
  color: #94a3b8;
  background: #f1f5f9;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.prop-detail-page .similar-photo-count {
  color: #fff;
  background: #0f172ad1;
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.prop-detail-page .similar-card-body {
  padding: 14px;
}

.prop-detail-page .similar-price {
  color: #17242b;
  margin-bottom: 8px;
  font-size: 19px;
  line-height: 1.2;
  display: block;
}

.prop-detail-page .similar-card h3 {
  color: #17242b;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0 0 7px;
  font-size: 15px;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
}

.prop-detail-page .similar-card p {
  color: #64737c;
  min-height: 34px;
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.3;
}

.prop-detail-page .similar-facts {
  color: #4d5d66;
  flex-wrap: wrap;
  gap: 8px 10px;
  min-height: 24px;
  font-size: 13px;
  font-weight: 800;
  display: flex;
}

.prop-detail-page .similar-facts span {
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.prop-detail-page .photo-modal {
  z-index: 80;
  padding: 0;
  display: block;
  position: fixed;
  inset: 0;
}

.prop-detail-page .photo-modal-backdrop {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: #000000e6;
  position: absolute;
  inset: 0;
}

.prop-detail-page .photo-modal-panel {
  z-index: 1;
  width: 100vw;
  height: 100vh;
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  grid-template-rows: 62px minmax(0, 1fr) 104px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .photo-modal-header {
  color: #fff;
  background: linear-gradient(#00000075, #0000);
  border-bottom: 0;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  min-height: 62px;
  padding: 10px 18px;
  display: flex;
}

.prop-detail-page .photo-modal-header strong, .prop-detail-page .photo-modal-header span {
  display: block;
}

.prop-detail-page .photo-modal-header strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 820px;
  font-size: 16px;
  overflow: hidden;
}

.prop-detail-page .photo-modal-header span {
  color: #b9c8cf;
  margin-top: 3px;
  font-size: 13px;
  font-weight: 800;
}

.prop-detail-page .photo-modal-close {
  z-index: 5;
  color: #081d24;
  cursor: pointer;
  background: #ffffffeb;
  border: 1px solid #ffffff47;
  border-radius: 999px;
  place-items: center;
  width: 48px;
  height: 48px;
  transition: transform .16s, background .16s;
  display: grid;
  position: fixed;
  top: 86px;
  right: 24px;
  box-shadow: 0 12px 28px #0000003d;
}

.prop-detail-page .photo-modal-close:hover {
  background: #fff;
  transform: translateY(-1px);
}

.prop-detail-page .photo-modal-body {
  background: none;
  place-items: center;
  height: calc(100vh - 190px);
  min-height: 0;
  max-height: none;
  padding: 0 86px;
  display: grid;
  position: relative;
}

.prop-detail-page .photo-modal-image-frame {
  place-items: center;
  width: min(74vw, 1180px);
  height: 100%;
  max-height: calc(100vh - 190px);
  display: grid;
  position: relative;
}

.prop-detail-page .photo-modal-image-frame img {
  object-fit: contain;
  cursor: default;
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.prop-detail-page .photo-modal-image-frame .gallery-fallback {
  cursor: default;
  width: 100%;
  min-height: min(58vh, 560px);
}

.prop-detail-page .photo-modal-arrow {
  z-index: 2;
  color: #fff;
  cursor: pointer;
  background: #0f172aad;
  border: 1px solid #ffffff38;
  border-radius: 999px;
  place-items: center;
  width: 48px;
  height: 48px;
  display: grid;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.prop-detail-page .photo-modal-arrow.left {
  left: 18px;
}

.prop-detail-page .photo-modal-arrow.right {
  right: 18px;
}

.prop-detail-page .photo-modal-arrow:hover {
  background: #0a8fa3eb;
}

.prop-detail-page .photo-modal-thumbs {
  scrollbar-width: thin;
  scrollbar-color: #ffffff70 transparent;
  background: linear-gradient(0deg, #000000a8, #0000);
  justify-content: center;
  gap: 10px;
  padding: 12px 56px 16px;
  display: flex;
  overflow-x: auto;
}

.prop-detail-page .photo-modal-thumbs button {
  cursor: pointer;
  opacity: .74;
  background: #21323a;
  border: 2px solid #0000;
  border-radius: 8px;
  flex: none;
  width: 118px;
  height: 78px;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.prop-detail-page .photo-modal-thumbs button.active {
  opacity: 1;
  border-color: #fff;
  box-shadow: 0 0 0 2px #22b1c2b8;
}

.prop-detail-page .photo-modal-thumbs img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 980px) {
  .prop-detail-page .detail-topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .prop-detail-page .detail-topbar nav {
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    padding-bottom: 4px;
    overflow: auto hidden;
  }

  .prop-detail-page .detail-topbar nav a {
    flex: none;
    max-width: 42vw;
  }

  .prop-detail-page .detail-topbar nav a.current {
    max-width: 54vw;
  }

  .prop-detail-page .detail-utility-actions {
    flex-wrap: wrap;
    gap: 6px;
  }

  .prop-detail-page .detail-utility-actions button {
    white-space: nowrap;
    justify-content: center;
    min-height: 32px;
    padding: 0 9px;
    font-size: 12px;
  }

  .prop-detail-page .detail-heading {
    gap: 16px;
  }

  .prop-detail-page .detail-heading h1 {
    overflow-wrap: anywhere;
    max-width: 100%;
    font-size: clamp(25px, 4.2vw, 34px);
  }

  .prop-detail-page .detail-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .prop-detail-page .detail-layout > * {
    min-width: 0;
  }

  .prop-detail-page .detail-shell {
    padding-left: 20px;
    padding-right: 20px;
  }

  .prop-detail-page .summary-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prop-detail-page .contact-card {
    position: static;
  }

  .prop-detail-page .similar-carousel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prop-detail-page .detail-tabs-card {
    display: block;
  }

  .prop-detail-page .detail-tabs {
    background: #f7fbfc;
    border-bottom: 1px solid #dce3e8;
    border-right: 0;
    flex-direction: row;
    gap: 0;
    padding: 0;
    overflow-x: auto;
  }

  .prop-detail-page .detail-tabs button {
    text-align: center;
    border: 0;
    border-bottom: 3px solid #0000;
    border-radius: 0;
    min-width: 150px;
    padding: 14px 18px;
  }

  .prop-detail-page .detail-tabs button.active {
    box-shadow: none;
    border-bottom-color: #0a8fa3;
  }
}

@media (max-width: 680px) {
  .prop-detail-page .detail-shell {
    padding: 16px 14px 56px;
  }

  .prop-detail-page .detail-topbar {
    margin-bottom: 10px;
  }

  .prop-detail-page .detail-topbar nav {
    gap: 6px;
    font-size: 12px;
  }

  .prop-detail-page .detail-topbar nav a {
    max-width: 46vw;
  }

  .prop-detail-page .detail-topbar nav .breadcrumb-item {
    gap: 6px;
  }

  .prop-detail-page .detail-utility-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid;
  }

  .prop-detail-page .detail-utility-actions button {
    text-overflow: ellipsis;
    background: #fff;
    border-color: #dce3e8;
    gap: 5px;
    width: 100%;
    min-width: 0;
    padding: 0 6px;
    overflow: hidden;
  }

  .prop-detail-page .detail-utility-actions button:last-child {
    display: none;
  }

  .prop-detail-page .detail-heading {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
  }

  .prop-detail-page .detail-heading h1 {
    font-size: clamp(21px, 6vw, 25px);
    line-height: 1.14;
  }

  .prop-detail-page .detail-type-row {
    gap: 6px;
    margin-top: 10px;
    font-size: 12px;
  }

  .prop-detail-page .detail-type-row span, .prop-detail-page .detail-type-row strong, .prop-detail-page .detail-type-row em {
    min-height: 28px;
    padding: 0 9px;
  }

  .prop-detail-page .detail-heading > span {
    border-radius: 8px;
    align-self: flex-start;
    margin-top: 0;
    padding: 8px 11px;
    font-size: 12px;
  }

  .prop-detail-page .detail-badges {
    gap: 6px;
    margin-top: -4px;
    margin-bottom: 14px;
  }

  .prop-detail-page .detail-badges span {
    min-height: 28px;
    padding: 0 9px;
    font-size: 12px;
  }

  .prop-detail-page .detail-photo {
    height: clamp(230px, 72vw, 340px);
  }

  .prop-detail-page .detail-photo .featured {
    border-radius: 7px;
    max-width: calc(100% - 20px);
    padding: 6px 9px;
    font-size: 12px;
    top: 10px;
    right: 10px;
  }

  .prop-detail-page .commercial-status-ribbon {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 112px);
    padding: 6px 9px;
    font-size: 12px;
    top: 10px;
    overflow: hidden;
  }

  .prop-detail-page .gallery-stage {
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: hidden;
  }

  .prop-detail-page .detail-layout {
    display: block;
  }

  .prop-detail-page .detail-main, .prop-detail-page .contact-card {
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
  }

  .prop-detail-page .contact-card {
    margin-top: 16px;
  }

  .prop-detail-page .thumbnail-rail {
    grid-template-rows: auto;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
  }

  .prop-detail-page .thumbnail-strip {
    flex-direction: row;
    overflow: auto hidden;
  }

  .prop-detail-page .thumb-nav svg, .prop-detail-page .thumb-nav.down svg {
    transform: none;
  }

  .prop-detail-page .similar-carousel {
    grid-template-columns: 1fr;
  }

  .prop-detail-page .similar-properties-section .detail-section-heading {
    align-items: start;
  }

  .prop-detail-page .summary-tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prop-detail-page .detail-data-grid {
    grid-template-columns: 1fr;
  }

  .prop-detail-page .view-all-photos {
    min-height: 38px;
    font-size: 12px;
    bottom: 12px;
    left: 12px;
  }

  .prop-detail-page .photo-modal {
    padding: 0;
  }

  .prop-detail-page .photo-modal-panel {
    grid-template-rows: 52px minmax(0, 1fr) 76px;
    height: 100dvh;
  }

  .prop-detail-page .photo-modal-header {
    gap: 8px;
    min-height: 52px;
    padding: 8px 52px 8px 14px;
  }

  .prop-detail-page .photo-modal-header strong {
    max-width: calc(100vw - 80px);
    font-size: 13px;
  }

  .prop-detail-page .photo-modal-close {
    width: 36px;
    height: 36px;
    position: absolute;
    top: 8px;
    right: 10px;
  }

  .prop-detail-page .photo-modal-body {
    min-height: 0;
    max-height: none;
    padding: 0 48px;
  }

  .prop-detail-page .photo-modal-image-frame {
    width: 100%;
    height: 100%;
    max-height: none;
  }

  .prop-detail-page .photo-modal-image-frame img {
    max-height: none;
  }

  .prop-detail-page .photo-modal-arrow {
    width: 36px;
    height: 36px;
  }

  .prop-detail-page .photo-modal-arrow.left {
    left: 6px;
  }

  .prop-detail-page .photo-modal-arrow.right {
    right: 6px;
  }

  .prop-detail-page .photo-modal-thumbs {
    padding: 6px 12px 10px;
  }

  .prop-detail-page .photo-modal-thumbs button {
    width: 72px;
    height: 48px;
  }
}

@media (max-width: 760px) {
  .prop-listing-page .listing-card .listing-body {
    height: auto;
    padding-bottom: 14px;
  }

  .prop-listing-page .listing-card .listing-footer {
    position: static;
  }
}

.filter-dropdown, .more-filter-wrap {
  min-width: 0;
  position: relative;
}

.filter-trigger, .more-filter {
  color: #16232a;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #cfd7de;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 44px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 800;
  transition: border-color .15s, box-shadow .15s, background .15s;
  display: flex;
}

.filter-trigger:hover, .filter-trigger.active, .more-filter:hover, .more-filter.active {
  border-color: #22b1c2;
  box-shadow: 0 0 0 3px #22b1c221;
}

.filter-trigger > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.filter-trigger small {
  color: #6b7784;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  display: block;
}

.filter-trigger svg {
  color: #62707a;
  flex: none;
}

.filter-menu, .more-filter-panel {
  z-index: 900;
  background: #fff;
  border: 1px solid #d7e1e8;
  border-radius: 14px;
  width: min(330px, 92vw);
  padding: 12px;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  box-shadow: 0 18px 42px #0f172a29;
}

.filter-dropdown-single .filter-menu {
  width: 220px;
}

.filter-menu-head, .more-panel-head, .more-panel-actions {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.filter-menu-head {
  border-bottom: 1px solid #edf2f5;
  margin-bottom: 8px;
  padding: 2px 2px 10px;
}

.filter-menu-head strong, .more-panel-head strong {
  color: #17242b;
  font-size: 14px;
  font-weight: 900;
}

.filter-menu-head button, .more-panel-head button {
  color: #0b8fa0;
  cursor: pointer;
  background: none;
  border: 0;
  font-size: 12px;
  font-weight: 900;
}

.filter-options {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.filter-option {
  color: #243642;
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  font-size: 14px;
  font-weight: 750;
  display: flex;
}

.filter-option:hover, .filter-option.selected {
  color: #007f8f;
  background: #22b1c21f;
}

.filter-checkbox {
  background: #fff;
  border: 1px solid #cad7df;
  border-radius: 6px;
  flex: none;
  width: 18px;
  height: 18px;
  position: relative;
}

.filter-option.selected .filter-checkbox {
  background: #22b1c2;
  border-color: #22b1c2;
}

.filter-option.selected .filter-checkbox:after {
  content: "";
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  width: 5px;
  height: 9px;
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(45deg);
}

.more-filter {
  justify-content: center;
}

.more-filter span {
  color: #fff;
  background: #22b1c2;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 20px;
  height: 20px;
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
}

.more-filter-panel {
  width: min(720px, 100vw - 32px);
  max-height: min(720px, 100vh - 150px);
  padding: 18px;
  left: auto;
  right: 0;
  overflow-y: auto;
}

.more-panel-head {
  border-bottom: 1px solid #e6edf1;
  align-items: flex-start;
  margin-bottom: 16px;
  padding-bottom: 14px;
}

.more-panel-head p {
  color: #667684;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 650;
}

.more-panel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.more-panel-grid section {
  min-width: 0;
}

.more-panel-grid section.wide {
  grid-column: 1 / -1;
}

.more-panel-grid h3 {
  color: #17242b;
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
}

.range-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.range-row input {
  color: #17242b;
  border: 1px solid #d4dee5;
  border-radius: 11px;
  outline: 0;
  height: 42px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 750;
}

.range-row input:focus {
  border-color: #22b1c2;
  box-shadow: 0 0 0 3px #22b1c21f;
}

.currency-row, .chip-row {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  display: flex;
}

.currency-row button, .chip-row button, .more-panel-actions button {
  color: #314553;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d4dee5;
  border-radius: 10px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 850;
}

.currency-row button.selected, .chip-row button.selected {
  color: #007f8f;
  background: #22b1c21f;
  border-color: #22b1c2;
}

.price-filter-menu {
  width: min(410px, 100vw - 32px);
}

.price-currency-row {
  align-items: center;
}

.price-currency-row button:first-child {
  min-width: 108px;
}

.price-range-row {
  margin-bottom: 10px;
}

.money-input {
  background: #fff;
  border: 1px solid #d4dee5;
  border-radius: 11px;
  align-items: center;
  height: 42px;
  display: flex;
  overflow: hidden;
}

.money-input:focus-within {
  border-color: #22b1c2;
  box-shadow: 0 0 0 3px #22b1c21f;
}

.money-input span {
  color: #0d6677;
  background: #f6fbfc;
  border-right: 1px solid #dfe8ed;
  justify-content: center;
  align-items: center;
  min-width: 50px;
  height: 100%;
  font-size: 12px;
  font-weight: 950;
  display: inline-flex;
}

.money-input input {
  color: #17242b;
  border: 0;
  outline: 0;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0 11px;
  font-size: 14px;
  font-weight: 750;
}

.money-input input:focus {
  box-shadow: none;
}

.option-check-row, .checkbox-grid, .radio-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.check-option, .radio-grid button, .radio-row button, .segmented-row button {
  color: #314553;
  cursor: pointer;
  background: #fff;
  border: 1px solid #d4dee5;
  border-radius: 11px;
  min-height: 38px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 750;
}

.check-option, .radio-grid button, .radio-row button {
  text-align: left;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.option-check-row .check-option {
  white-space: nowrap;
  min-width: 0;
  padding: 0 10px;
  font-size: 12px;
}

.check-option span, .radio-grid button span, .radio-row button span {
  border: 2px solid #8fa0ad;
  border-radius: 4px;
  flex: none;
  width: 16px;
  height: 16px;
}

.radio-grid button span, .radio-row button span {
  border-radius: 50%;
}

.check-option.selected, .radio-grid button.selected, .radio-row button.selected, .segmented-row button.selected {
  color: #007f8f;
  background: #22b1c21f;
  border-color: #22b1c2;
}

.check-option.selected span, .radio-grid button.selected span, .radio-row button.selected span {
  background: #22b1c2;
  border-color: #007f8f;
  box-shadow: inset 0 0 0 3px #fff;
}

.segmented-row {
  border: 1px solid #d4dee5;
  border-radius: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  display: grid;
  overflow: hidden;
}

.segmented-row button {
  border: 0;
  border-right: 1px solid #d4dee5;
  border-radius: 0;
}

.segmented-row button:last-child {
  border-right: 0;
}

.street-row {
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 10px;
  display: grid;
}

.street-row input {
  border: 1px solid #d4dee5;
  border-radius: 11px;
  outline: 0;
  height: 42px;
  padding: 0 12px;
  font-size: 14px;
  font-weight: 750;
}

.radio-row {
  gap: 10px;
  margin-top: 14px;
  display: grid;
}

.radio-row p {
  color: #526474;
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.compact-actions {
  justify-content: space-between;
  display: flex;
}

.more-panel-actions {
  border-top: 1px solid #e6edf1;
  margin-top: 16px;
  padding-top: 14px;
}

.more-panel-actions button {
  min-width: 128px;
}

.more-panel-actions .primary {
  color: #fff;
  background: #22b1c2;
  border-color: #22b1c2;
}

.map-filter-bar {
  z-index: 700;
  align-items: center;
  gap: 8px;
  width: min(1260px, 100vw - 24px);
  padding: 0 10px;
  display: flex;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
}

.map-location-control {
  flex: 240px;
  min-width: 180px;
}

.map-filter-panel {
  flex: none;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.map-filter-control {
  flex: none;
  min-width: 0;
}

.map-filter-operation {
  width: 130px;
}

.map-filter-type, .map-filter-rooms {
  width: 120px;
}

.map-filter-price {
  width: 110px;
}

.map-filter-more {
  width: 140px;
}

.map-mobile-filter-toggle {
  color: #16232a;
  cursor: pointer;
  background: #fff;
  border: 1px solid #cfd7de;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 13px;
  font-size: 13px;
  font-weight: 900;
  display: none;
  box-shadow: 0 2px 8px #081d241a;
}

.map-mobile-filter-toggle.active {
  color: #0b7f8d;
  border-color: #22b1c2;
  box-shadow: 0 0 0 3px #22b1c221, 0 2px 8px #081d241a;
}

.map-clear-filters {
  color: #bf6100;
  cursor: pointer;
  white-space: nowrap;
  background: #f798241a;
  border: 1px solid #f7982480;
  border-radius: 12px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  box-shadow: 0 2px 8px #081d241a;
}

.map-list-link {
  z-index: 700;
  color: #2d5e22;
  background: #d7f3b0;
  border: 1px solid #2d5e2240;
  border-radius: 5px;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  position: absolute;
  top: 62px;
  right: 18px;
  box-shadow: 0 1px 5px #00000029;
}

@media (max-width: 760px) {
  .map-filter-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    width: calc(100vw - 18px);
    padding: 0;
    display: grid;
    top: 8px;
  }

  .map-location-control {
    min-width: 0;
  }

  .map-mobile-filter-toggle {
    min-width: 48px;
    display: inline-flex;
  }

  .map-filter-panel {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #fffffff5;
    border: 1px solid #cfd7dee6;
    border-radius: 14px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    padding: 10px;
    display: none;
    box-shadow: 0 14px 36px #081d242e;
  }

  .map-filter-bar.is-open .map-filter-panel {
    display: grid;
  }

  .map-filter-control, .map-filter-operation, .map-filter-type, .map-filter-price, .map-filter-rooms, .map-filter-more {
    width: 100%;
  }

  .map-filter-more, .map-clear-filters {
    grid-column: 1 / -1;
  }

  .map-clear-filters {
    width: 100%;
  }

  .map-filter-panel .filter-menu, .map-filter-panel .price-filter-menu, .map-filter-panel .more-filter-panel {
    width: auto;
    max-height: calc(100dvh - 150px);
    position: fixed;
    top: 112px;
    left: 9px;
    right: 9px;
    overflow-y: auto;
  }

  .map-filter-panel .more-filter-panel {
    padding: 14px;
  }

  .map-filter-panel .more-panel-grid {
    grid-template-columns: 1fr;
  }

  .map-list-link {
    top: 62px;
    right: 9px;
  }

  .map-filter-bar.is-open + .map-list-link {
    top: 238px;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  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: 0;
}

@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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-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-ease {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=src_app_globals_0p2ml0n.css.map*/