@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap');

:root {
  --bg: #edf4fc;
  --surface: #ffffff;
  --surface-soft: #f3f8ff;
  --text: #1f2f46;
  --muted: #58708d;
  --border: #c9d8ec;
  --primary: #184a8c;
  --primary-strong: #123b71;
  --danger: #b24646;
  --success: #2f7b62;
  --shadow: 0 14px 30px rgba(24, 74, 140, 0.12);
  --surface-glass: rgba(255, 255, 255, 0.78);
  --focus-ring: 0 0 0 3px rgba(24, 74, 140, 0.18);
}

body[data-theme='dark'] {
  --bg: #12181d;
  --surface: #1a222b;
  --surface-soft: #222d38;
  --text: #e6edf3;
  --muted: #c4d2df;
  --border: #2e3a46;
  --primary: #5b8ca8;
  --primary-strong: #4a7b98;
  --danger: #d15a5a;
  --success: #3f9d84;
  --shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  --surface-glass: rgba(26, 34, 43, 0.84);
  --focus-ring: 0 0 0 3px rgba(91, 140, 168, 0.28);
}

body[data-theme='corporate-blue'] {
  --bg: #edf3fb;
  --surface: #ffffff;
  --surface-soft: #f2f7ff;
  --text: #1f2f46;
  --muted: #50647f;
  --border: #c9d8ec;
  --primary: #184a8c;
  --primary-strong: #123b71;
  --danger: #a53f3f;
  --success: #2f7b62;
}

body[data-theme='olive-office'] {
  --bg: #f3f5ed;
  --surface: #ffffff;
  --surface-soft: #f8f9f3;
  --text: #2f3a24;
  --muted: #5f6b4f;
  --border: #d6dcc8;
  --primary: #4d5d2f;
  --primary-strong: #3f4c26;
  --danger: #a04747;
  --success: #3c7d5a;
}

body[data-theme='graphite'] {
  --bg: #eef0f4;
  --surface: #ffffff;
  --surface-soft: #f4f6fa;
  --text: #2a313b;
  --muted: #616d7d;
  --border: #d2d8e2;
  --primary: #3a4250;
  --primary-strong: #2f3642;
  --danger: #a14747;
  --success: #2f7b65;
}

body[data-theme='neon-aurora'] {
  --bg: #0e1320;
  --surface: #151b2b;
  --surface-soft: #1c2438;
  --text: #e8f2ff;
  --muted: #9cb2cc;
  --border: #2a3852;
  --primary: #38bdf8;
  --primary-strong: #0ea5e9;
  --danger: #f87171;
  --success: #22c55e;
  --shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
  --surface-glass: rgba(21, 27, 43, 0.72);
}

body[data-theme='sunset-flow'] {
  --bg: #221520;
  --surface: #2f2130;
  --surface-soft: #3a2a39;
  --text: #fff0ea;
  --muted: #d8b7ae;
  --border: #64435f;
  --primary: #ff7a59;
  --primary-strong: #ef5e3b;
  --danger: #ff5f6d;
  --success: #34d399;
  --shadow: 0 18px 42px rgba(34, 17, 28, 0.42);
  --surface-glass: rgba(47, 33, 48, 0.74);
}

body[data-theme='emerald-glass'] {
  --bg: #0f1917;
  --surface: #152422;
  --surface-soft: #1e2f2c;
  --text: #e5faf4;
  --muted: #9fc7be;
  --border: #2d4d46;
  --primary: #22c1a1;
  --primary-strong: #18a487;
  --danger: #d66b6b;
  --success: #16a34a;
  --shadow: 0 18px 42px rgba(5, 18, 16, 0.45);
  --surface-glass: rgba(21, 36, 34, 0.72);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
.hidden { display: none !important; }
body {
  font-family: 'Vazirmatn', sans-serif;
  background: radial-gradient(circle at top right, #d9e0e6 0%, var(--bg) 45%);
  color: var(--text);
  min-height: 100vh;
  transition: background 0.35s ease, color 0.25s ease;
  position: relative;
}
body[data-theme='dark'] { background: radial-gradient(circle at top right, #24303a 0%, var(--bg) 45%); }
body[data-theme='dark'] .topbar,
body[data-theme='dark'] .panel,
body[data-theme='dark'] .card {
  backdrop-filter: blur(8px);
}

body[data-theme='dark'] .topbar h1,
body[data-theme='dark'] .card h3,
body[data-theme='dark'] .tab-btn,
body[data-theme='dark'] .subtab-btn,
body[data-theme='dark'] .note,
body[data-theme='dark'] .muted,
body[data-theme='dark'] label {
  color: #d9e6f2;
}

body[data-theme='dark'] .topbar small {
  color: #c3d4e2;
}
body[data-theme='dark'] .topbar-brand-logo,
body[data-theme='neon-aurora'] .topbar-brand-logo,
body[data-theme='sunset-flow'] .topbar-brand-logo,
body[data-theme='emerald-glass'] .topbar-brand-logo,
body[data-theme='dark'] .topbar-user-btn,
body[data-theme='neon-aurora'] .topbar-user-btn,
body[data-theme='sunset-flow'] .topbar-user-btn,
body[data-theme='emerald-glass'] .topbar-user-btn {
  border-color: rgba(210, 222, 236, 0.96);
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,251,255,0.98));
}
body[data-theme='dark'] .topbar-user-btn-copy strong,
body[data-theme='neon-aurora'] .topbar-user-btn-copy strong,
body[data-theme='sunset-flow'] .topbar-user-btn-copy strong,
body[data-theme='emerald-glass'] .topbar-user-btn-copy strong {
  color: #20384f;
}
body[data-theme='dark'] .topbar-user-btn-copy small,
body[data-theme='neon-aurora'] .topbar-user-btn-copy small,
body[data-theme='sunset-flow'] .topbar-user-btn-copy small,
body[data-theme='emerald-glass'] .topbar-user-btn-copy small {
  color: #7b8ea1;
}
body[data-theme='dark'] .topbar-user-btn-icon,
body[data-theme='neon-aurora'] .topbar-user-btn-icon,
body[data-theme='sunset-flow'] .topbar-user-btn-icon,
body[data-theme='emerald-glass'] .topbar-user-btn-icon {
  background: linear-gradient(180deg, rgba(62, 88, 118, 0.92), rgba(45, 67, 91, 0.92));
  color: #a8c6ff;
}
body[data-theme='dark'] .topbar-user-btn-chevron,
body[data-theme='neon-aurora'] .topbar-user-btn-chevron,
body[data-theme='sunset-flow'] .topbar-user-btn-chevron,
body[data-theme='emerald-glass'] .topbar-user-btn-chevron {
  color: #4c647c;
}

body[data-theme='dark'] input:not([type='checkbox']):not([type='radio']),
body[data-theme='dark'] select,
body[data-theme='dark'] textarea {
  color: #eef6ff;
  border-color: #3d4d60;
  background: linear-gradient(180deg, #1b2a3c, #182436);
}

body[data-theme='dark'] input::placeholder,
body[data-theme='dark'] textarea::placeholder {
  color: #b8cade;
  opacity: 1;
}

body[data-theme='dark'] select option {
  background: #1b2530;
  color: #eef6ff;
}

body[data-theme='dark'] .tab-btn {
  border-color: #3a4c5f;
  background: linear-gradient(180deg, #1d2a3b, #172233);
  color: #dbe8f5;
}

body[data-theme='dark'] .tab-btn.active {
  color: #f6fbff;
}
body[data-theme='dark'] .tabs-dock {
  border-color: rgba(67, 90, 107, 0.82);
  background:
    radial-gradient(circle at top right, rgba(88, 154, 198, 0.18), transparent 28%),
    linear-gradient(180deg, rgba(22, 32, 41, 0.94), rgba(20, 29, 37, 0.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 24px 46px rgba(2, 8, 14, 0.24);
}
body[data-theme='dark'] .tab-btn-dock {
  border-color: transparent;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  color: #e3f0fb;
}
body[data-theme='dark'] .tab-btn-dock .tab-btn-icon {
  background: linear-gradient(180deg, rgba(42, 58, 71, 0.96), rgba(33, 47, 59, 0.96));
  color: #9ed3f7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 10px 18px rgba(0,0,0,0.22);
}
body[data-theme='dark'] .tab-btn-dock .tab-btn-copy small { color: rgba(201, 220, 236, 0.7); }
body[data-theme='dark'] .tab-btn-dock.active {
  background: linear-gradient(145deg, rgba(33, 51, 65, 0.98), rgba(29, 47, 60, 0.98));
  border-color: rgba(88, 135, 170, 0.56);
  color: #77c0ff;
  box-shadow: 0 16px 30px rgba(6, 17, 27, 0.28);
}
body[data-theme='dark'] .tab-btn-dock.active .tab-btn-icon {
  background: linear-gradient(180deg, rgba(27, 73, 108, 0.96), rgba(24, 61, 90, 0.96));
  color: #d8efff;
}

/* High-contrast tuning for animated themes */
body[data-theme='neon-aurora'] .topbar h1,
body[data-theme='sunset-flow'] .topbar h1,
body[data-theme='emerald-glass'] .topbar h1,
body[data-theme='neon-aurora'] .card h3,
body[data-theme='sunset-flow'] .card h3,
body[data-theme='emerald-glass'] .card h3,
body[data-theme='neon-aurora'] label,
body[data-theme='sunset-flow'] label,
body[data-theme='emerald-glass'] label,
body[data-theme='neon-aurora'] .muted,
body[data-theme='sunset-flow'] .muted,
body[data-theme='emerald-glass'] .muted,
body[data-theme='neon-aurora'] .note,
body[data-theme='sunset-flow'] .note,
body[data-theme='emerald-glass'] .note {
  color: #e6f0fb;
}

body[data-theme='sunset-flow'] label,
body[data-theme='sunset-flow'] .muted,
body[data-theme='sunset-flow'] .note {
  color: #ffe1d7;
}

body[data-theme='neon-aurora'] input:not([type='checkbox']):not([type='radio']),
body[data-theme='neon-aurora'] select,
body[data-theme='neon-aurora'] textarea {
  color: #eef6ff;
  border-color: #3a5b7a;
  background: linear-gradient(180deg, #18243a, #141f32);
}

body[data-theme='sunset-flow'] input:not([type='checkbox']):not([type='radio']),
body[data-theme='sunset-flow'] select,
body[data-theme='sunset-flow'] textarea {
  color: #fff2ea;
  border-color: #8b5d74;
  background: linear-gradient(180deg, #3e2a3e, #352534);
}

body[data-theme='emerald-glass'] input:not([type='checkbox']):not([type='radio']),
body[data-theme='emerald-glass'] select,
body[data-theme='emerald-glass'] textarea {
  color: #eafff8;
  border-color: #3f6a61;
  background: linear-gradient(180deg, #1d2e2b, #182724);
}

body[data-theme='neon-aurora'] input::placeholder,
body[data-theme='neon-aurora'] textarea::placeholder { color: #bad3ec; opacity: 1; }
body[data-theme='sunset-flow'] input::placeholder,
body[data-theme='sunset-flow'] textarea::placeholder { color: #e8bfb3; opacity: 1; }
body[data-theme='emerald-glass'] input::placeholder,
body[data-theme='emerald-glass'] textarea::placeholder { color: #b7d9d0; opacity: 1; }

/* Force readable dropdown menu items in animated themes (theme selector and similar selects). */
body[data-theme='neon-aurora'] select option {
  background: #132235;
  color: #eef6ff;
}
body[data-theme='sunset-flow'] select option {
  background: #322331;
  color: #fff0e8;
}
body[data-theme='emerald-glass'] select option {
  background: #182b28;
  color: #e9fff8;
}

body[data-theme='neon-aurora'] .tab-btn,
body[data-theme='sunset-flow'] .tab-btn,
body[data-theme='emerald-glass'] .tab-btn {
  color: #edf5ff;
}

body[data-theme='sunset-flow'] .tab-btn {
  color: #ffe6dc;
}

body[data-theme='neon-aurora'] .chip-muted {
  background: #243750 !important;
  color: #d7e9fb !important;
}
body[data-theme='sunset-flow'] .chip-muted {
  background: #573844 !important;
  color: #ffe1d5 !important;
}
body[data-theme='emerald-glass'] .chip-muted {
  background: #2a4741 !important;
  color: #d7f2ea !important;
}
body[data-theme='corporate-blue'] { background: radial-gradient(circle at 80% 0%, #dbe9fb 0%, var(--bg) 46%); }
body[data-theme='olive-office'] { background: radial-gradient(circle at 80% 0%, #e5ecd9 0%, var(--bg) 46%); }
body[data-theme='graphite'] { background: radial-gradient(circle at 80% 0%, #dde2ea 0%, var(--bg) 46%); }
body[data-theme='neon-aurora'] { background: radial-gradient(circle at 80% 0%, #1c2741 0%, var(--bg) 46%); }
body[data-theme='sunset-flow'] { background: radial-gradient(circle at 80% 0%, #4b2a3f 0%, var(--bg) 46%); }
body[data-theme='emerald-glass'] { background: radial-gradient(circle at 80% 0%, #1f3b35 0%, var(--bg) 46%); }
input, select, textarea, button { font-family: inherit; }

.login-shell {
  min-height: 100vh;
  display: block;
  padding: 0;
  background:
    radial-gradient(circle at top left, rgba(199, 144, 88, 0.18), transparent 28%),
    linear-gradient(180deg, #101418, #1b232c);
}

.login-scene {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  position: relative;
  overflow: hidden;
  direction: ltr;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  background:
    linear-gradient(90deg, rgba(6, 9, 12, 0.24) 0%, rgba(6, 9, 12, 0.08) 42%, rgba(6, 9, 12, 0.24) 100%),
    linear-gradient(180deg, rgba(16, 21, 25, 0.1), rgba(16, 21, 25, 0.42)),
    url('tehrancity.jpg');
  background-size: cover;
  background-position: 56% center;
}

.login-showcase {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100dvh;
  padding: 42px 48px 30px;
  color: #fff;
  direction: rtl;
}

.login-showcase-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 13, 16, 0.72) 0%, rgba(10, 13, 16, 0.3) 42%, rgba(10, 13, 16, 0.08) 70%, rgba(10, 13, 16, 0.12) 100%),
    linear-gradient(180deg, rgba(246, 179, 103, 0.14) 0%, transparent 24%),
    linear-gradient(0deg, rgba(10, 13, 16, 0.38) 0%, transparent 26%);
  pointer-events: none;
}

.login-showcase-content,
.login-showcase-footer {
  position: relative;
  z-index: 1;
}

.login-showcase-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 14px;
  min-height: 100%;
  text-align: center;
  padding-inline-start: clamp(44px, 8vw, 132px);
}

.login-brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: min(100%, 560px);
  max-width: 560px;
  margin: 0;
  transform: translate(clamp(-681px, -42vw, -753px), 6px);
  text-align: center;
}

.login-brand-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.login-brand-logo {
  width: clamp(96px, 8.8vw, 124px);
  height: auto;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.38));
  background: transparent;
  border-radius: 0;
  padding: 0;
  backdrop-filter: none;
}

.login-brand-copy strong {
  font-weight: 900;
  letter-spacing: 0.01em;
  font-size: clamp(42px, 4.5vw, 64px);
  line-height: 1.02;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.38);
}

.login-brand-copy span {
  max-width: 420px;
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.login-showcase-note {
  max-width: 380px;
  margin-inline-start: clamp(12px, 7vw, 92px);
  padding: 18px 20px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(8px);
}

.login-showcase-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.login-showcase-note p {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  line-height: 1.95;
}

.login-showcase-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.82);
  position: relative;
  z-index: 1;
  text-align: right;
}

.login-card {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  margin: 22px clamp(20px, 5vw, 76px) 22px 20px;
  width: min(100%, 414px);
  min-height: 0;
  padding: 34px 30px 28px;
  border-radius: 38px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow: 0 38px 90px rgba(0, 0, 0, 0.24);
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0) 34%),
    linear-gradient(180deg, rgba(255,255,255,0.97), rgba(248,245,241,0.95));
  backdrop-filter: blur(14px);
  direction: rtl;
}

.login-card-head {
  margin-bottom: 22px;
  text-align: center;
}

.login-card h1 {
  margin: 0;
  color: #1f2227;
  font-size: clamp(26px, 2.2vw, 38px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.login-card-kicker {
  display: inline-flex;
  justify-content: center;
  margin-bottom: 10px;
  color: #1f2227;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.2em;
}

.login-card-head p {
  margin: 10px 0 0;
  color: #777980;
  font-size: 14px;
  line-height: 1.75;
}

.login-mobile-actions {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.login-mobile-actions.login-action-row {
  display: grid;
}

.login-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 16px;
}

.login-action-btn {
  width: 100%;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(24, 74, 140, 0.22);
  background: linear-gradient(180deg, #f7fbff, #edf4fc);
  color: var(--primary);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.18s ease;
}

.login-action-btn.active {
  border-color: var(--primary);
  background: linear-gradient(180deg, var(--primary), var(--primary-strong));
  color: #fff;
  box-shadow: 0 14px 26px rgba(24, 74, 140, 0.24);
}

.auth-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 16px 0 14px;
  padding: 6px;
  border-radius: 12px;
  border: 1px solid #c7d3df;
  background: linear-gradient(180deg, #eef3f8, #e7edf4);
}

.auth-switch-btn {
  height: 40px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--primary);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.18s ease;
}

.auth-switch-btn:hover {
  color: var(--primary-strong);
  border-color: rgba(24, 74, 140, 0.26);
}

.auth-switch-btn.active {
  color: #fff;
  border-color: var(--primary);
  background: linear-gradient(180deg, var(--primary), var(--primary-strong));
  box-shadow: 0 8px 16px rgba(24, 74, 140, 0.28);
}

.auth-panel {
  display: block;
  animation: authPanelFadeIn 0.24s ease;
}

.hidden-auth {
  display: none !important;
}

.login-label,
.login-label-row {
  color: #1f2227;
  font-weight: 700;
}

.login-label {
  display: block;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

.login-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
}

.login-label-row .login-label {
  margin: 0;
}

.login-label-hint {
  font-size: 12px;
  font-weight: 500;
  color: #8b8f97;
}

.login-forgot-copy {
  font-size: 13px;
  color: #6f727a;
}

.login-divider {
  position: relative;
  display: grid;
  place-items: center;
  margin: 18px 0 18px;
}

.login-divider::before {
  content: '';
  position: absolute;
  inset-inline: 0;
  top: 50%;
  height: 1px;
  background: #e5e1db;
}

.login-divider span {
  position: relative;
  padding: 0 16px;
  background: rgba(250,248,246,0.96);
  color: #7a7c83;
}

.login-alt-btn {
  width: 100%;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(24, 74, 140, 0.22);
  background: #fff;
  color: var(--primary);
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
}

.login-alt-btn.auth-switch-btn.active {
  border-color: var(--primary);
  background: linear-gradient(180deg, var(--primary), var(--primary-strong));
  box-shadow: 0 16px 34px rgba(24, 74, 140, 0.2);
  color: #fff;
}

.login-back-btn {
  margin-top: 14px;
}

.login-desktop-alt {
  display: block;
}

.login-form {
  display: grid;
  gap: 16px;
}

.login-field {
  display: grid;
  gap: 8px;
}

.login-input-wrap {
  position: relative;
}

.login-input-wrap > input[type='text'],
.login-input-wrap > input[type='password'] {
  width: 100%;
  height: 52px;
  border-radius: 999px;
  border: 1px solid #e3ded6;
  background: rgba(255, 255, 255, 0.96);
  color: #1e2227;
  font-size: 15px;
  text-align: right !important;
  direction: rtl !important;
  unicode-bidi: plaintext;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.login-input-wrap > input[type='text']::placeholder,
.login-input-wrap > input[type='password']::placeholder {
  text-align: right !important;
  direction: rtl !important;
}

#tenantId,
#username,
#password,
#loginOtp,
#newTenantId,
#newPanelUsername,
#newPanelPassword,
#newPanelPhone,
#newPanelEmail {
  direction: rtl !important;
  text-align: right !important;
  unicode-bidi: plaintext;
}

.login-input-wrap > input[type='text']:focus,
.login-input-wrap > input[type='password']:focus {
  outline: none;
  border-color: #c9b9a4;
  box-shadow: 0 0 0 4px rgba(198, 167, 134, 0.16);
}

.login-input-icon {
  position: absolute;
  inset-inline-end: 20px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  color: #8c857b;
  pointer-events: none;
}

.login-submit {
  margin-top: 4px;
  width: 100%;
  min-height: 52px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(180deg, #171819, #080909);
  box-shadow: 0 18px 36px rgba(11, 12, 13, 0.22);
  font-size: 18px;
  font-weight: 800;
}

.login-submit:hover {
  transform: translateY(-1px);
}

.login-back-btn {
  margin-top: 16px;
}

.field-help-inline {
  display: flex;
  justify-content: flex-start;
  margin-top: 0;
}

.panel-code-help-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #bfd0de;
  border-radius: 999px;
  padding: 6px 10px;
  background: linear-gradient(180deg, #f6fbff, #edf4fb);
  color: #2b5a77;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.16s ease;
}

.panel-code-help-btn:hover {
  border-color: #98b4ca;
  background: linear-gradient(180deg, #f0f8ff, #e4eef8);
}

.panel-code-help-btn svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.panel-code-help-dialog {
  position: fixed;
  inset: 0;
  z-index: 6000;
  display: grid;
  place-items: center;
  padding: 18px;
}

.panel-code-help-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 14, 22, 0.32);
  backdrop-filter: blur(10px);
}

.panel-code-help-card {
  position: relative;
  width: min(560px, calc(100vw - 28px));
  max-height: min(88dvh, 760px);
  overflow: auto;
  border: 1px solid rgba(191, 211, 226, 0.92);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(96, 169, 220, 0.18), transparent 28%),
    linear-gradient(165deg, rgba(255, 255, 255, 0.99), rgba(243, 249, 254, 0.96));
  box-shadow: 0 38px 80px rgba(10, 27, 43, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.84);
  padding: 22px 22px 18px;
  display: grid;
  gap: 16px;
  z-index: 1;
  direction: rtl;
  backdrop-filter: blur(14px);
  animation: helpDialogIn 0.28s ease;
}

.panel-code-help-header {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(214, 225, 236, 0.88);
  border-radius: 20px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(238, 245, 251, 0.96));
}

.panel-code-help-badge {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid #adc4d8;
  display: grid;
  place-items: center;
  color: #245f83;
  background: linear-gradient(180deg, #e9f4ff, #dcecf9);
  box-shadow: 0 6px 16px rgba(28, 92, 132, 0.18);
}

.panel-code-help-badge-hero {
  width: 52px;
  height: 52px;
  border-radius: 16px;
}

.panel-code-help-badge svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.panel-code-help-header h4 {
  margin: 0;
  font-size: 20px;
  color: #17435f;
  line-height: 1.2;
}

.panel-code-help-header small {
  display: block;
  margin-top: 3px;
  color: #5d7890;
  font-size: 13px;
}

.panel-code-help-hero {
  padding: 16px 18px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top left, rgba(53, 124, 183, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(20, 63, 90, 0.95), rgba(44, 109, 147, 0.9) 58%, rgba(115, 176, 205, 0.74) 130%);
  color: #fff;
  box-shadow: 0 18px 34px rgba(16, 50, 73, 0.22);
}

.panel-code-help-hero strong {
  display: block;
  margin-bottom: 8px;
  font-size: 17px;
}

.panel-code-help-hero p {
  margin: 0;
  line-height: 2;
  color: rgba(255, 255, 255, 0.9);
}

.panel-code-help-hero span {
  display: inline-block;
  margin: 0 4px;
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  font-weight: 700;
}

.panel-code-help-list {
  display: grid;
  gap: 9px;
}

.panel-code-help-item {
  border: 1px solid #d1deea;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(244, 248, 252, 0.97));
  padding: 14px 14px 13px;
  box-shadow: 0 12px 20px rgba(23, 52, 71, 0.05);
}

.panel-code-help-item h5 {
  margin: 0 0 4px;
  color: #1f4f6d;
  font-size: 14px;
  font-weight: 800;
}

.panel-code-help-item p {
  margin: 0;
  color: #4c6579;
  line-height: 1.85;
  font-size: 13px;
}

.panel-code-help-tips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.panel-code-help-tips span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #eff6fb;
  border: 1px solid #d5e3ef;
  color: #255270;
  font-size: 12px;
  font-weight: 700;
}

.panel-code-help-close {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: 1px solid #b7cadb;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffffff, #f2f7fb);
  color: #5d768b;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all 0.16s ease;
}

.panel-code-help-close:hover {
  color: #244d66;
  border-color: #9eb6c9;
  transform: rotate(90deg);
}

.panel-code-help-close svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.tenant-onboarding {
  position: fixed;
  inset: 0;
  z-index: 6200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.tenant-onboarding.hidden {
  display: none;
}

body.tenant-onboarding-locked {
  overflow: hidden;
}

.tenant-onboarding-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top, rgba(62, 117, 158, 0.18), transparent 34%),
    rgba(7, 16, 27, 0.44);
  backdrop-filter: blur(9px);
}

.tenant-onboarding-card {
  position: relative;
  width: min(960px, 100%);
  max-height: calc(100dvh - 36px);
  border-radius: 32px;
  border: 1px solid rgba(186, 208, 228, 0.92);
  background:
    radial-gradient(circle at top right, rgba(108, 177, 232, 0.18), transparent 26%),
    linear-gradient(156deg, rgba(255, 255, 255, 0.98), rgba(240, 247, 253, 0.95));
  box-shadow: 0 34px 90px rgba(8, 28, 46, 0.34);
  padding: 24px;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 18px;
  direction: rtl;
  backdrop-filter: blur(14px);
  overflow: hidden;
}

.tenant-onboarding-card-setup-only {
  width: min(1080px, 100%);
}

.tenant-onboarding-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.tenant-onboarding-head-copy {
  display: grid;
  gap: 8px;
}

.tenant-onboarding-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e5f2fb, #f4f9ff);
  border: 1px solid #c9dfef;
  color: #2c5c7c;
  font-size: 12px;
  font-weight: 700;
}

.tenant-onboarding-head h3 {
  margin: 0;
  color: #173d58;
  font-size: 30px;
  line-height: 1.4;
}

.tenant-onboarding-head p {
  margin: 0;
  color: #5b7488;
  font-size: 15px;
  line-height: 1.95;
}

.tenant-onboarding-icon-wrap {
  width: 90px;
  height: 90px;
  border-radius: 26px;
  border: 1px solid #c6dbee;
  background: linear-gradient(160deg, #f8fcff, #e3f0fa);
  display: grid;
  place-items: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 16px 30px rgba(25, 66, 96, 0.18);
  position: relative;
  z-index: 1;
}

.tenant-onboarding-icon-image {
  width: 46px;
  height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(24, 72, 108, 0.18));
  animation: onboardingIconBob 2.4s ease-in-out infinite;
}

.tenant-onboarding-setup {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.tenant-onboarding-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tenant-onboarding-form-grid-wide {
  grid-column: 1 / -1;
}

.tenant-onboarding-form-grid input,
.tenant-onboarding-location select {
  width: 100%;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid #c8dae9;
  background: rgba(255, 255, 255, 0.96);
  padding: 0 14px;
  color: #173d58;
  font: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.tenant-onboarding-form-grid input:focus,
.tenant-onboarding-location select:focus {
  outline: none;
  border-color: #4f92be;
  box-shadow: 0 0 0 4px rgba(79, 146, 190, 0.14);
  transform: translateY(-1px);
}

.tenant-onboarding-location-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid #d5e3ee;
  background: linear-gradient(180deg, rgba(249, 252, 255, 0.95), rgba(240, 247, 252, 0.95));
}

.tenant-onboarding-location-card-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}

.tenant-onboarding-location-card-head .tenant-onboarding-icon-wrap {
  width: 72px;
  height: 72px;
}

.tenant-onboarding-location-card-head h5 {
  margin: 0 0 4px;
  color: #173f5d;
  font-size: 17px;
}

.tenant-onboarding-location-card-head p {
  margin: 0;
  font-size: 13px;
}

.tenant-onboarding-location {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  text-align: right;
}

.tenant-onboarding-form-shell {
  display: grid;
  gap: 16px;
}

.tenant-onboarding-setup-card {
  box-shadow: 0 22px 44px rgba(25, 66, 96, 0.12);
}

.tenant-onboarding-error {
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(182, 49, 70, 0.18);
  background: rgba(255, 238, 242, 0.92);
  color: #9d1f39;
  font-size: 13px;
  line-height: 1.9;
}

.tenant-onboarding-actions-single {
  justify-content: stretch;
}

.tenant-onboarding-actions-single .btn {
  width: 100%;
  min-height: 56px;
  font-size: 15px;
  box-shadow: 0 22px 40px rgba(37, 96, 139, 0.22);
}

.tenant-onboarding-form-grid label,
.tenant-onboarding-location label {
  display: block;
  margin-bottom: 7px;
  color: #47657c;
  font-size: 13px;
  font-weight: 700;
}

.tenant-onboarding-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  direction: ltr;
}

.tenant-onboarding-actions .btn {
  min-width: 140px;
  min-height: 48px;
  border-radius: 16px;
}

@keyframes onboardingSlideFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes onboardingIconBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.login-form {
  display: grid;
  gap: 14px;
}

.login-field {
  gap: 7px;
}

.login-input-wrap {
  position: relative;
  display: block;
}

.login-input-icon {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: var(--primary);
  opacity: 0.9;
  transition: transform 0.2s ease, color 0.2s ease;
  pointer-events: none;
  z-index: 2;
}

.login-svg-icon {
  display: block;
  background-color: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.app-svg-icon {
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.app-icon-layers {
  -webkit-mask-image: url('assets/ui-icons/layers.svg');
  mask-image: url('assets/ui-icons/layers.svg');
}

.app-icon-building-home,
.app-icon-apartment,
.app-icon-office {
  -webkit-mask-image: url('assets/ui-icons/building-2.svg');
  mask-image: url('assets/ui-icons/building-2.svg');
}

.app-icon-house {
  -webkit-mask-image: url('assets/ui-icons/house.svg');
  mask-image: url('assets/ui-icons/house.svg');
}

.app-icon-villa {
  -webkit-mask-image: url('assets/ui-icons/house-plus.svg');
  mask-image: url('assets/ui-icons/house-plus.svg');
}

.app-icon-land {
  -webkit-mask-image: url('assets/ui-icons/land-plot.svg');
  mask-image: url('assets/ui-icons/land-plot.svg');
}

.app-icon-hammer {
  -webkit-mask-image: url('assets/ui-icons/hammer.svg');
  mask-image: url('assets/ui-icons/hammer.svg');
}

.app-icon-key,
.app-icon-key-office {
  -webkit-mask-image: url('assets/ui-icons/key-round.svg');
  mask-image: url('assets/ui-icons/key-round.svg');
}

.app-icon-briefcase {
  -webkit-mask-image: url('assets/ui-icons/briefcase-business.svg');
  mask-image: url('assets/ui-icons/briefcase-business.svg');
}

.app-icon-shop {
  -webkit-mask-image: url('assets/ui-icons/store.svg');
  mask-image: url('assets/ui-icons/store.svg');
}

.app-icon-industry {
  -webkit-mask-image: url('assets/ui-icons/factory.svg');
  mask-image: url('assets/ui-icons/factory.svg');
}

.app-icon-calendar {
  -webkit-mask-image: url('assets/ui-icons/calendar-days.svg');
  mask-image: url('assets/ui-icons/calendar-days.svg');
}

.app-icon-suite {
  -webkit-mask-image: url('assets/ui-icons/bed-double.svg');
  mask-image: url('assets/ui-icons/bed-double.svg');
}

.app-icon-garden {
  -webkit-mask-image: url('assets/ui-icons/trees.svg');
  mask-image: url('assets/ui-icons/trees.svg');
}

.app-icon-education {
  -webkit-mask-image: url('assets/ui-icons/graduation-cap.svg');
  mask-image: url('assets/ui-icons/graduation-cap.svg');
}

.app-icon-construction {
  -webkit-mask-image: url('assets/ui-icons/hard-hat.svg');
  mask-image: url('assets/ui-icons/hard-hat.svg');
}

.app-icon-handshake {
  -webkit-mask-image: url('assets/ui-icons/handshake.svg');
  mask-image: url('assets/ui-icons/handshake.svg');
}

.app-icon-presale {
  -webkit-mask-image: url('assets/ui-icons/file-text.svg');
  mask-image: url('assets/ui-icons/file-text.svg');
}

.app-icon-grid {
  -webkit-mask-image: url('assets/ui-icons/grid-3x3.svg');
  mask-image: url('assets/ui-icons/grid-3x3.svg');
}

.app-icon-spark {
  -webkit-mask-image: url('assets/ui-icons/sparkles.svg');
  mask-image: url('assets/ui-icons/sparkles.svg');
}

.app-icon-heart {
  -webkit-mask-image: url('assets/ui-icons/heart.svg');
  mask-image: url('assets/ui-icons/heart.svg');
}

.app-icon-star-outline {
  -webkit-mask-image: url('assets/ui-icons/star.svg');
  mask-image: url('assets/ui-icons/star.svg');
}

.app-icon-eye {
  -webkit-mask-image: url('assets/ui-icons/eye.svg');
  mask-image: url('assets/ui-icons/eye.svg');
}

.app-icon-edit {
  -webkit-mask-image: url('assets/ui-icons/pencil.svg');
  mask-image: url('assets/ui-icons/pencil.svg');
}

.app-icon-trash {
  -webkit-mask-image: url('assets/ui-icons/trash.svg');
  mask-image: url('assets/ui-icons/trash.svg');
}

.app-icon-image {
  -webkit-mask-image: url('assets/ui-icons/image.svg');
  mask-image: url('assets/ui-icons/image.svg');
}

.app-icon-pin {
  -webkit-mask-image: url('assets/ui-icons/map-pinned.svg');
  mask-image: url('assets/ui-icons/map-pinned.svg');
}

.app-icon-tag {
  -webkit-mask-image: url('assets/ui-icons/key-round.svg');
  mask-image: url('assets/ui-icons/key-round.svg');
}

.app-icon-property-star-badge {
  -webkit-mask-image: url('assets/ui-icons/property-star-badge.svg');
  mask-image: url('assets/ui-icons/property-star-badge.svg');
}

.app-icon-property-image-count {
  -webkit-mask-image: url('assets/ui-icons/property-image-count.svg');
  mask-image: url('assets/ui-icons/property-image-count.svg');
}

.app-icon-property-location {
  -webkit-mask-image: url('assets/ui-icons/property-location.svg');
  mask-image: url('assets/ui-icons/property-location.svg');
}

.app-icon-property-category {
  -webkit-mask-image: url('assets/ui-icons/property-category.svg');
  mask-image: url('assets/ui-icons/property-category.svg');
}

.app-icon-property-type {
  -webkit-mask-image: url('assets/ui-icons/property-type.svg');
  mask-image: url('assets/ui-icons/property-type.svg');
}

.app-icon-property-status {
  -webkit-mask-image: url('assets/ui-icons/property-status.svg');
  mask-image: url('assets/ui-icons/property-status.svg');
}

.app-icon-property-feature {
  -webkit-mask-image: url('assets/ui-icons/property-feature.svg');
  mask-image: url('assets/ui-icons/property-feature.svg');
}

.app-icon-property-area {
  -webkit-mask-image: url('assets/ui-icons/property-area.svg');
  mask-image: url('assets/ui-icons/property-area.svg');
}

.app-icon-property-year {
  -webkit-mask-image: url('assets/ui-icons/property-year.svg');
  mask-image: url('assets/ui-icons/property-year.svg');
}

.app-icon-property-price {
  -webkit-mask-image: url('assets/ui-icons/property-price.svg');
  mask-image: url('assets/ui-icons/property-price.svg');
}

.app-icon-property-view {
  -webkit-mask-image: url('assets/ui-icons/property-view.svg');
  mask-image: url('assets/ui-icons/property-view.svg');
}

.app-icon-property-edit {
  -webkit-mask-image: url('assets/ui-icons/property-edit.svg');
  mask-image: url('assets/ui-icons/property-edit.svg');
}

.app-icon-property-delete {
  -webkit-mask-image: url('assets/ui-icons/property-delete.svg');
  mask-image: url('assets/ui-icons/property-delete.svg');
}

.app-icon-property-action-preview {
  -webkit-mask-image: url('assets/ui-icons/property-action-preview.svg');
  mask-image: url('assets/ui-icons/property-action-preview.svg');
}

.app-icon-property-action-edit {
  -webkit-mask-image: url('assets/ui-icons/property-action-edit.svg');
  mask-image: url('assets/ui-icons/property-action-edit.svg');
}

.app-icon-property-action-delete {
  -webkit-mask-image: url('assets/ui-icons/property-action-delete.svg');
  mask-image: url('assets/ui-icons/property-action-delete.svg');
}

.app-icon-search-map-reset {
  -webkit-mask-image: url('assets/ui-icons/search-map-reset.svg');
  mask-image: url('assets/ui-icons/search-map-reset.svg');
}

.app-icon-search-map-back {
  -webkit-mask-image: url('assets/ui-icons/search-map-back.svg');
  mask-image: url('assets/ui-icons/search-map-back.svg');
}

.app-icon-map-pin-search {
  -webkit-mask-image: url('assets/ui-icons/map-pin-search.svg');
  mask-image: url('assets/ui-icons/map-pin-search.svg');
}

.app-icon-grip-horizontal {
  -webkit-mask-image: url('assets/ui-icons/grip-horizontal.svg');
  mask-image: url('assets/ui-icons/grip-horizontal.svg');
}

.app-icon-list-filter {
  -webkit-mask-image: url('assets/ui-icons/list-filter.svg');
  mask-image: url('assets/ui-icons/list-filter.svg');
}

.app-icon-navigation {
  -webkit-mask-image: url('assets/ui-icons/navigation.svg');
  mask-image: url('assets/ui-icons/navigation.svg');
}

.app-icon-ruler {
  -webkit-mask-image: url('assets/ui-icons/ruler.svg');
  mask-image: url('assets/ui-icons/ruler.svg');
}

.app-icon-circle-alert {
  -webkit-mask-image: url('assets/ui-icons/circle-alert.svg');
  mask-image: url('assets/ui-icons/circle-alert.svg');
}

.app-icon-arrow-left {
  -webkit-mask-image: url('assets/ui-icons/arrow-left.svg');
  mask-image: url('assets/ui-icons/arrow-left.svg');
}

.app-icon-chevrons-up {
  -webkit-mask-image: url('assets/ui-icons/chevrons-up.svg');
  mask-image: url('assets/ui-icons/chevrons-up.svg');
}

.app-icon-map-pin-house {
  -webkit-mask-image: url('assets/ui-icons/map-pin-house.svg');
  mask-image: url('assets/ui-icons/map-pin-house.svg');
}

.app-icon-badge-dollar-sign {
  -webkit-mask-image: url('assets/ui-icons/badge-dollar-sign.svg');
  mask-image: url('assets/ui-icons/badge-dollar-sign.svg');
}

.app-icon-map-pin {
  -webkit-mask-image: url('assets/ui-icons/map-pin.svg');
  mask-image: url('assets/ui-icons/map-pin.svg');
}

.app-icon-scan-line {
  -webkit-mask-image: url('assets/ui-icons/scan-line.svg');
  mask-image: url('assets/ui-icons/scan-line.svg');
}

.app-icon-popup-eye {
  -webkit-mask-image: url('assets/ui-icons/popup-eye.svg');
  mask-image: url('assets/ui-icons/popup-eye.svg');
}

.app-icon-popup-close {
  -webkit-mask-image: url('assets/ui-icons/popup-close.svg');
  mask-image: url('assets/ui-icons/popup-close.svg');
}

.app-icon-tags {
  -webkit-mask-image: url('assets/ui-icons/tags.svg');
  mask-image: url('assets/ui-icons/tags.svg');
}

.app-icon-popup-key {
  -webkit-mask-image: url('assets/ui-icons/popup-key.svg');
  mask-image: url('assets/ui-icons/popup-key.svg');
}

.app-icon-topbar-user-area {
  -webkit-mask-image: url('assets/ui-icons/topbar-user-area.svg');
  mask-image: url('assets/ui-icons/topbar-user-area.svg');
}

.app-icon-topbar-add-property {
  -webkit-mask-image: url('assets/ui-icons/topbar-add-property.svg');
  mask-image: url('assets/ui-icons/topbar-add-property.svg');
}

.app-icon-topbar-user-chevron {
  -webkit-mask-image: url('assets/ui-icons/topbar-user-chevron.svg');
  mask-image: url('assets/ui-icons/topbar-user-chevron.svg');
}

.app-icon-users-round {
  -webkit-mask-image: url('assets/ui-icons/users-round.svg');
  mask-image: url('assets/ui-icons/users-round.svg');
}

.app-icon-sparkles {
  -webkit-mask-image: url('assets/ui-icons/sparkles.svg');
  mask-image: url('assets/ui-icons/sparkles.svg');
}

.app-icon-file-text {
  -webkit-mask-image: url('assets/ui-icons/file-text.svg');
  mask-image: url('assets/ui-icons/file-text.svg');
}

.app-icon-receipt {
  -webkit-mask-image: url('assets/ui-icons/receipt.svg');
  mask-image: url('assets/ui-icons/receipt.svg');
}

.app-icon-phone {
  -webkit-mask-image: url('assets/ui-icons/phone.svg');
  mask-image: url('assets/ui-icons/phone.svg');
}

.app-icon-logout-door {
  -webkit-mask-image: url('assets/ui-icons/logout-door.svg');
  mask-image: url('assets/ui-icons/logout-door.svg');
}

.app-icon-graduation-cap {
  -webkit-mask-image: url('assets/ui-icons/graduation-cap.svg');
  mask-image: url('assets/ui-icons/graduation-cap.svg');
}

.tool-icon-exchange {
  -webkit-mask-image: url('assets/ui-icons/arrow-left-right.svg');
  mask-image: url('assets/ui-icons/arrow-left-right.svg');
}

.tool-icon-receipt {
  -webkit-mask-image: url('assets/ui-icons/receipt.svg');
  mask-image: url('assets/ui-icons/receipt.svg');
}

.tool-icon-briefcase {
  -webkit-mask-image: url('assets/ui-icons/briefcase-business.svg');
  mask-image: url('assets/ui-icons/briefcase-business.svg');
}

.tool-icon-scale {
  -webkit-mask-image: url('assets/ui-icons/scale.svg');
  mask-image: url('assets/ui-icons/scale.svg');
}

.tool-icon-building {
  -webkit-mask-image: url('assets/ui-icons/building-2.svg');
  mask-image: url('assets/ui-icons/building-2.svg');
}

.tool-icon-bank {
  -webkit-mask-image: url('assets/ui-icons/landmark.svg');
  mask-image: url('assets/ui-icons/landmark.svg');
}

.tool-icon-type {
  -webkit-mask-image: url('assets/ui-icons/type.svg');
  mask-image: url('assets/ui-icons/type.svg');
}

.tool-icon-phone {
  -webkit-mask-image: url('assets/ui-icons/phone.svg');
  mask-image: url('assets/ui-icons/phone.svg');
}

.tool-icon-shield {
  -webkit-mask-image: url('assets/ui-icons/badge-check.svg');
  mask-image: url('assets/ui-icons/badge-check.svg');
}

.tool-icon-key {
  -webkit-mask-image: url('assets/ui-icons/key-round.svg');
  mask-image: url('assets/ui-icons/key-round.svg');
}

.tool-icon-swapHome {
  -webkit-mask-image: url('assets/ui-icons/house-plus.svg');
  mask-image: url('assets/ui-icons/house-plus.svg');
}

.tool-icon-calendar {
  -webkit-mask-image: url('assets/ui-icons/calendar-days.svg');
  mask-image: url('assets/ui-icons/calendar-days.svg');
}

.tool-icon-grid {
  -webkit-mask-image: url('assets/ui-icons/grid-3x3.svg');
  mask-image: url('assets/ui-icons/grid-3x3.svg');
}

.tool-icon-spark {
  -webkit-mask-image: url('assets/ui-icons/sparkles.svg');
  mask-image: url('assets/ui-icons/sparkles.svg');
}

.tool-icon-target {
  -webkit-mask-image: url('assets/ui-icons/target.svg');
  mask-image: url('assets/ui-icons/target.svg');
}

.quick-icon-smart-search {
  -webkit-mask-image: url('assets/ui-icons/search.svg');
  mask-image: url('assets/ui-icons/search.svg');
}

.quick-icon-address-search {
  -webkit-mask-image: url('assets/ui-icons/map-pinned.svg');
  mask-image: url('assets/ui-icons/map-pinned.svg');
}

.quick-icon-map-search {
  -webkit-mask-image: url('assets/ui-icons/map.svg');
  mask-image: url('assets/ui-icons/map.svg');
}

.quick-icon-customer-needs {
  -webkit-mask-image: url('assets/ui-icons/users-round.svg');
  mask-image: url('assets/ui-icons/users-round.svg');
}

.quick-icon-reset-search {
  -webkit-mask-image: url('assets/ui-icons/rotate-ccw.svg');
  mask-image: url('assets/ui-icons/rotate-ccw.svg');
}

.login-icon-badge {
  -webkit-mask-image: url('assets/login-icons/badge.svg');
  mask-image: url('assets/login-icons/badge.svg');
}

.login-icon-user {
  -webkit-mask-image: url('assets/login-icons/user-round.svg');
  mask-image: url('assets/login-icons/user-round.svg');
}

.login-icon-lock {
  -webkit-mask-image: url('assets/login-icons/lock-keyhole.svg');
  mask-image: url('assets/login-icons/lock-keyhole.svg');
}

.login-icon-eye {
  -webkit-mask-image: url('assets/login-icons/eye.svg');
  mask-image: url('assets/login-icons/eye.svg');
}

.login-icon-eye-off {
  -webkit-mask-image: url('assets/login-icons/eye-off.svg');
  mask-image: url('assets/login-icons/eye-off.svg');
}

.login-icon-clock {
  -webkit-mask-image: url('assets/login-icons/clock-3.svg');
  mask-image: url('assets/login-icons/clock-3.svg');
}

.login-icon-phone {
  -webkit-mask-image: url('assets/login-icons/phone.svg');
  mask-image: url('assets/login-icons/phone.svg');
}

.login-icon-mail {
  -webkit-mask-image: url('assets/login-icons/mail.svg');
  mask-image: url('assets/login-icons/mail.svg');
}

.login-input-wrap:focus-within .login-input-icon {
  color: var(--primary-strong);
  transform: translateY(-50%) scale(1.06);
}

.login-form input[type='text'],
.login-form input[type='password'] {
  height: 56px;
  border-radius: 999px;
  border: 1px solid #e2ddd7;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
  padding-inline-end: 58px;
  padding-inline-start: 20px;
  direction: ltr;
  text-align: left;
  font-size: 15px;
  color: #1f2227;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.login-form input[type='text']::placeholder,
.login-form input[type='password']::placeholder {
  color: #a1a4aa;
}

.login-form input[type='text']:focus,
.login-form input[type='password']:focus {
  border-color: rgba(30, 32, 36, 0.72);
  box-shadow: 0 0 0 4px rgba(29, 31, 35, 0.08);
  background: #fff;
}

.login-form input[type='text'] {
  padding-inline-start: 20px;
}

.login-form .password-field input[type='password'] {
  padding-inline-start: 54px;
  padding-inline-end: 58px;
}

.login-form .password-field .login-input-icon {
  right: 18px;
}

.login-form .password-field .password-toggle {
  z-index: 3;
}

.login-submit {
  margin-top: 10px;
  height: 54px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(180deg, var(--primary), var(--primary-strong));
  box-shadow: 0 18px 38px rgba(24, 74, 140, 0.24);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.login-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(24, 74, 140, 0.28);
}

.login-card #errorMsg {
  margin-top: 16px;
  min-height: 22px;
  text-align: center;
  color: #bf2d2d;
}

body[data-theme='dark'] .login-card {
  background: linear-gradient(180deg, rgba(32, 43, 54, 0.94), rgba(30, 40, 50, 0.88));
  border-color: #3a4c5d;
  box-shadow: 0 26px 46px rgba(0, 0, 0, 0.36);
}

body[data-theme='dark'] .login-card h1 {
  color: #89b2ce;
}

body[data-theme='dark'] .login-card p {
  color: #a9bdce;
}

body[data-theme='dark'] .login-input-icon {
  fill: #8ea5b9;
}

body[data-theme='dark'] .auth-switch {
  border-color: #425567;
  background: linear-gradient(180deg, #263443, #22303e);
}

body[data-theme='dark'] .auth-switch-btn {
  color: #c4d4e1;
}

body[data-theme='dark'] .auth-switch-btn:hover {
  color: #ecf5fc;
  border-color: #557089;
}

body[data-theme='dark'] .auth-switch-btn.active {
  border-color: #4a86ad;
  background: linear-gradient(180deg, #3e7397, #325f7e);
}

body[data-theme='dark'] .panel-code-help-btn {
  border-color: #4b6276;
  background: linear-gradient(180deg, #2c3f50, #253545);
  color: #d8e7f4;
}

body[data-theme='dark'] .panel-code-help-card {
  border-color: #456079;
  background: linear-gradient(165deg, rgba(31, 46, 60, 0.98), rgba(23, 36, 48, 0.95));
}

body[data-theme='dark'] .panel-code-help-header {
  border-color: #526d84;
  background: linear-gradient(180deg, #294156, #24394c);
}

body[data-theme='dark'] .panel-code-help-header h4 {
  color: #e7f3ff;
}

body[data-theme='dark'] .panel-code-help-header small {
  color: #bdd1e2;
}

body[data-theme='dark'] .panel-code-help-badge {
  border-color: #6286a5;
  color: #dbf1ff;
  background: linear-gradient(180deg, #3b607d, #30526e);
}

body[data-theme='dark'] .panel-code-help-item {
  border-color: #4f6d86;
  background: linear-gradient(180deg, #2a4154, #24394b);
}

body[data-theme='dark'] .panel-code-help-item h5 {
  color: #e0efff;
}

body[data-theme='dark'] .panel-code-help-item p {
  color: #c5d9ec;
}

body[data-theme='dark'] .panel-code-help-close {
  border-color: #5d7a95;
  background: linear-gradient(180deg, #2c4358, #24394c);
  color: #d0e3f4;
}

body[data-theme='dark'] .panel-code-help-hero {
  background:
    radial-gradient(circle at top left, rgba(120, 171, 205, 0.18), transparent 32%),
    linear-gradient(135deg, rgba(29, 58, 79, 0.98), rgba(51, 98, 127, 0.94));
}

body[data-theme='dark'] .panel-code-help-tips span {
  background: rgba(89, 137, 168, 0.16);
  border-color: rgba(120, 165, 194, 0.18);
  color: #d9ecfa;
}

.email-verification-modal {
  position: fixed;
  inset: 0;
  z-index: 6100;
  display: grid;
  place-items: center;
  padding: 16px;
}

.email-verification-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top, rgba(62, 117, 158, 0.18), transparent 34%),
    rgba(7, 16, 27, 0.5);
  backdrop-filter: blur(10px);
}

.email-verification-card {
  position: relative;
  width: min(560px, 100%);
  border-radius: 30px;
  border: 1px solid rgba(188, 209, 226, 0.95);
  background:
    radial-gradient(circle at top right, rgba(104, 177, 227, 0.16), transparent 28%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(243, 248, 253, 0.96));
  box-shadow: 0 38px 84px rgba(8, 27, 44, 0.3);
  padding: 22px;
  display: grid;
  gap: 16px;
  z-index: 1;
}

.email-verification-close {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #bfd1e1;
  background: rgba(255, 255, 255, 0.82);
  color: #4f6d85;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.email-verification-close svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.email-verification-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid rgba(214, 225, 236, 0.88);
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(238, 245, 251, 0.96));
}

.email-verification-badge {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #225b81;
  border: 1px solid #adc6db;
  background: linear-gradient(180deg, #ebf6ff, #dcedfb);
  box-shadow: 0 8px 20px rgba(24, 92, 130, 0.16);
}

.email-verification-badge svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.email-verification-header h4 {
  margin: 0;
  font-size: 22px;
  color: #173f5b;
}

.email-verification-header small {
  display: block;
  margin-top: 4px;
  color: #60788c;
}

.email-verification-hero {
  padding: 18px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top left, rgba(51, 126, 187, 0.14), transparent 36%),
    linear-gradient(135deg, rgba(20, 63, 90, 0.95), rgba(44, 109, 147, 0.9) 58%, rgba(115, 176, 205, 0.74) 130%);
  color: #fff;
}

.email-verification-hero strong {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
}

.email-verification-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 2;
}

.email-verification-inputs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.email-verification-digit {
  min-height: 62px;
  border-radius: 18px;
  border: 1px solid #c7d8e7;
  background: linear-gradient(180deg, #ffffff, #f3f8fc);
  text-align: center;
  font-size: 24px;
  font-weight: 800;
  color: #163f5b;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.email-verification-digit:focus {
  outline: none;
  border-color: #8ab3cf;
  box-shadow: 0 0 0 4px rgba(72, 132, 175, 0.16);
}

.email-verification-meta,
.email-verification-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.email-verification-meta span {
  color: #4e677c;
  font-size: 13px;
  font-weight: 700;
}

body[data-theme='dark'] .email-verification-card {
  border-color: rgba(118, 154, 180, 0.18);
  background:
    radial-gradient(circle at top right, rgba(88, 140, 177, 0.18), transparent 26%),
    linear-gradient(160deg, rgba(28, 40, 51, 0.98), rgba(22, 33, 43, 0.96));
}

body[data-theme='dark'] .email-verification-header {
  border-color: rgba(118, 154, 180, 0.14);
  background: linear-gradient(180deg, rgba(34, 47, 58, 0.98), rgba(26, 39, 49, 0.96));
}

body[data-theme='dark'] .email-verification-header h4,
body[data-theme='dark'] .email-verification-hero strong {
  color: #edf5fb;
}

body[data-theme='dark'] .email-verification-header small,
body[data-theme='dark'] .email-verification-meta span {
  color: #b9cbd8;
}

body[data-theme='dark'] .email-verification-digit {
  border-color: rgba(118, 154, 180, 0.18);
  background: linear-gradient(180deg, rgba(32, 46, 57, 0.98), rgba(25, 36, 46, 0.96));
  color: #eef7ff;
}

body[data-theme='dark'] .tenant-onboarding-card {
  border-color: #42607b;
  background:
    radial-gradient(circle at top right, rgba(73, 130, 173, 0.24), transparent 28%),
    linear-gradient(165deg, rgba(30, 46, 60, 0.97), rgba(24, 36, 47, 0.95));
}

body[data-theme='dark'] .tenant-onboarding-kicker {
  background: linear-gradient(180deg, #2b4760, #233a4d);
  border-color: #486883;
  color: #dcecf7;
}

body[data-theme='dark'] .tenant-onboarding-head h3 {
  color: #e5f3ff;
}

body[data-theme='dark'] .tenant-onboarding-head p {
  color: #bfd2e2;
}

body[data-theme='dark'] .tenant-onboarding-icon-wrap {
  border-color: #5a7893;
  background: linear-gradient(160deg, #2d4a61, #284257);
}

body[data-theme='dark'] .tenant-onboarding-location-card {
  border-color: #425f78;
  background: rgba(34, 51, 66, 0.92);
  color: #d7e6f2;
}

body[data-theme='dark'] .tenant-onboarding-form-grid label,
body[data-theme='dark'] .tenant-onboarding-location label,
body[data-theme='dark'] .tenant-onboarding-location-card-head h5 {
  color: #d9ebf8;
}

body[data-theme='dark'] .tenant-onboarding-form-grid input,
body[data-theme='dark'] .tenant-onboarding-location select {
  border-color: #56748f;
  background: rgba(28, 43, 56, 0.94);
  color: #e6f2fb;
}

body[data-theme='dark'] .tenant-onboarding-error {
  border-color: rgba(255, 123, 146, 0.22);
  background: rgba(86, 24, 37, 0.7);
  color: #ffd9e1;
}

@media (max-width: 860px) {
  .tenant-onboarding-card {
    width: min(760px, 100%);
  }
}

@media (max-width: 640px) {
  .tenant-onboarding {
    padding: 10px;
  }

  .tenant-onboarding-card {
    padding: 18px 14px 14px;
    border-radius: 22px;
    max-height: calc(100dvh - 20px);
    gap: 14px;
  }

  .tenant-onboarding-head h3 {
    font-size: 23px;
  }

  .tenant-onboarding-form-grid,
  .tenant-onboarding-location {
    grid-template-columns: 1fr;
  }

  .tenant-onboarding-location-card {
    padding: 14px;
    border-radius: 20px;
  }
  .tenant-onboarding-setup {
    gap: 14px;
  }

  .tenant-onboarding-location-card-head {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .tenant-onboarding-actions .btn {
    flex: 1;
    min-width: 0;
  }
}

@keyframes helpDialogIn {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes loginIconPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

@keyframes loginFloatA {
  0%, 100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(10px) translateX(-12px); }
}

@keyframes loginFloatB {
  0%, 100% { transform: translateY(0) translateX(0); }
  50% { transform: translateY(-12px) translateX(10px); }
}

@keyframes loginFloatC {
  0%, 100% { transform: translateY(0); opacity: 0.5; }
  50% { transform: translateY(-9px); opacity: 0.85; }
}

@keyframes authPanelFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1180px) {
  .login-scene {
    min-height: 100dvh;
  }

  .login-showcase-content {
    padding-inline-start: clamp(28px, 5vw, 72px);
  }

  .login-brand-lockup {
    margin: 0;
    transform: translate(clamp(-653px, -40vw, -681px), 4px);
  }

  .login-card {
    margin: 18px 38px 18px 14px;
    width: min(100%, 388px);
  }
}


@media (max-width: 640px) {
  .login-shell {
    padding: 0;
  }

  .login-scene {
    min-height: 100dvh;
    max-width: none;
    display: flex;
    align-items: flex-end !important;
    justify-content: stretch;
    direction: rtl;
    border-radius: 0;
    overflow: hidden;
    background:
      linear-gradient(180deg, rgba(12, 14, 16, 0.18) 0%, rgba(12, 14, 16, 0.42) 100%),
      linear-gradient(180deg, rgba(255, 191, 112, 0.08) 0%, transparent 30%),
      url('tehrancity.jpg');
    background-size: cover;
    background-position: 58% top;
  }

  .login-showcase {
    inset: 0;
    min-height: 100dvh;
    padding: 18px 16px 118px;
  }

  .login-showcase-scrim {
    background:
      linear-gradient(180deg, rgba(12, 14, 16, 0.28) 0%, rgba(12, 14, 16, 0.42) 52%, rgba(12, 14, 16, 0.58) 100%);
  }

  .login-showcase-content {
    align-items: center;
    justify-content: flex-start;
    padding-inline-start: 0;
    padding-top: 30px;
    min-height: auto;
  }

  .login-brand-lockup {
    gap: 12px;
    width: 100%;
    margin: 0 auto;
    max-width: 100%;
    transform: translateY(100px);
  }

  .login-brand-copy strong {
    font-size: 30px;
  }

  .login-brand-copy span {
    font-size: 13px;
    max-width: 280px;
    line-height: 1.6;
  }

  .login-brand-logo {
    width: 84px;
    padding: 0;
    border-radius: 0;
  }

  .login-showcase-footer {
    display: none;
  }

  .login-card {
    width: 100%;
    margin: 0;
    align-self: flex-end !important;
    min-height: auto;
    padding: 20px 14px 14px;
    border-radius: 34px 34px 0 0;
    border-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 -10px 0 rgba(255, 255, 255, 0.82), 0 24px 58px rgba(0, 0, 0, 0.18);
  }

  .login-card::before {
    display: none;
  }

  .login-card-head {
    margin-bottom: 12px;
  }

  .login-card h1 {
    font-size: 24px;
    letter-spacing: -0.02em;
  }

  .login-card-head p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.45;
  }

  .panel-code-help-card,
  .email-verification-card {
    width: min(100vw - 18px, 560px);
    border-radius: 24px;
    padding: 18px;
  }

  .panel-code-help-card {
    transform: translateX(10px);
  }

  .panel-code-help-hero,
  .email-verification-hero {
    padding: 14px;
  }

  .login-card-kicker {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .login-mobile-actions {
    display: grid !important;
    gap: 10px;
    margin-bottom: 8px;
  }

  .login-mobile-actions.login-action-row {
    display: grid !important;
  }

  .login-action-row {
    margin-bottom: 8px;
  }

  .login-mobile-primary,
  .login-mobile-secondary {
    width: 100%;
    height: 48px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    border: 1px solid rgba(24, 74, 140, 0.22);
    background: #fff;
    color: var(--primary);
  }

  .login-shell:not(.login-mobile-view-selected) .login-mobile-primary {
    border-color: var(--primary);
    background: linear-gradient(180deg, var(--primary), var(--primary-strong));
    color: #fff;
    box-shadow: 0 18px 38px rgba(24, 74, 140, 0.2);
  }

  .login-mobile-actions .auth-switch-btn.active {
    border-color: var(--primary);
    background: linear-gradient(180deg, var(--primary), var(--primary-strong));
    color: #fff;
    box-shadow: 0 18px 38px rgba(24, 74, 140, 0.2);
  }

  .login-form {
    gap: 8px;
  }

  .login-shell .auth-panel,
  .login-shell .login-divider,
  .login-shell .login-desktop-alt {
    display: none !important;
  }

  .login-shell:not(.login-mobile-view-selected) .login-card {
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }

  .login-shell:not(.login-mobile-view-selected) .login-card-head {
    margin-bottom: 14px;
  }

  .login-shell:not(.login-mobile-view-selected) .login-card-head p {
    max-width: 280px;
    margin-inline: auto;
  }

  .login-shell.login-mobile-view-selected .auth-panel:not(.hidden-auth) {
    display: block !important;
  }

  .login-shell.login-mobile-view-selected .login-mobile-actions {
    margin-bottom: 10px;
  }

  .login-shell.login-mobile-view-selected .login-card-head {
    margin-bottom: 8px;
  }

  .login-shell.login-mobile-view-selected .login-card-head p {
    display: none;
  }

  .login-shell:not(.login-mobile-view-selected) #loginPanel,
  .login-shell:not(.login-mobile-view-selected) #createPanel {
    display: none !important;
  }

  .login-form input[type='text'],
  .login-form input[type='password'],
  .login-submit,
  .login-alt-btn {
    height: 44px;
  }

  .login-label,
  .login-forgot-copy {
    font-size: 11px;
  }

  .login-input-wrap > input[type='text'],
  .login-input-wrap > input[type='password'] {
    font-size: 13px;
    padding-inline: 14px 40px;
  }

  .login-input-icon {
    inset-inline-end: 15px;
    width: 16px;
    height: 16px;
  }

  .login-shell.login-mobile-view-selected #createPanel .login-form-create {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .login-shell.login-mobile-focus-mode {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: #f7f8fb;
  }

  .login-shell.login-mobile-focus-mode .login-scene {
    min-height: 100dvh;
    background: #f7f8fb;
    align-items: stretch !important;
  }

  .login-shell.login-mobile-focus-mode .login-showcase {
    display: none;
  }

  .login-shell.login-mobile-focus-mode .login-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    box-sizing: border-box;
    padding: max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));
    border-radius: 0;
    border: none;
    box-shadow: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(247,248,251,0.98));
  }

  .login-shell.login-mobile-focus-mode .login-card-head {
    margin-bottom: 12px;
  }

  .login-shell.login-mobile-view-selected #createPanel .login-form-create > .btn,
  .login-shell.login-mobile-view-selected #createPanel .login-back-btn {
    grid-column: 1 / -1;
  }

  .login-shell.login-mobile-view-selected #createPanel .login-form-create .login-field {
    gap: 6px;
  }

  .login-shell.login-mobile-view-selected #createPanel .field-help-inline {
    margin-top: 4px;
  }

  .login-shell.login-mobile-view-selected #createPanel .panel-code-help-btn {
    min-height: 34px;
    padding: 4px 10px;
    font-size: 11px;
  }

  .login-shell.login-mobile-view-selected .login-back-btn {
    margin-top: 8px;
    height: 42px;
  }

  .panel-code-help-card,
  .email-verification-card {
    width: min(100vw - 12px, 560px);
    max-height: min(90dvh, 760px);
    border-radius: 24px;
    padding: 18px 14px;
  }
}

@media (min-width: 481px) and (max-width: 640px) {
  .login-shell.login-mobile-view-selected #createPanel .login-form-create {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .login-shell.login-mobile-view-selected #createPanel .login-form-create > .login-field:first-child,
  .login-shell.login-mobile-view-selected #createPanel .login-form-create > .btn,
  .login-shell.login-mobile-view-selected #createPanel .login-back-btn {
    grid-column: 1 / -1;
  }
}

.dashboard-shell { max-width: 1320px; margin: 0 auto; padding: 18px; }
.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  background: linear-gradient(180deg, var(--surface-glass), var(--surface));
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 16px 18px;
  backdrop-filter: blur(7px);
}
.topbar-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}
.topbar-brand-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  flex: 0 0 58px;
  border-radius: 16px;
  padding: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.96));
  border: 1px solid rgba(201, 216, 233, 0.86);
  box-shadow: 0 14px 28px rgba(24, 51, 74, 0.10);
}
.topbar-brand-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.topbar h1 {
  margin: 0;
  font-size: 32px;
  line-height: 1.05;
}
.topbar small {
  color: var(--muted);
  font-size: 15px;
  font-weight: 700;
}
.topbar-actions { display: flex; gap: 10px; }
.topbar-user-btn {
  min-width: 172px;
  justify-content: space-between;
  padding: 8px 11px 8px 13px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,251,255,0.98));
  color: #2a4763;
  border-color: rgba(210, 222, 236, 0.96);
  box-shadow: 0 12px 22px rgba(19, 43, 64, 0.06);
}
.topbar-user-btn-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.topbar-user-btn-copy {
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: 2px;
  text-align: right;
}
.topbar-user-btn-copy strong {
  font-size: 13px;
  font-weight: 900;
  color: #20384f;
}
.topbar-user-btn-copy small {
  font-size: 10px;
  font-weight: 700;
  color: #7b8ea1;
}
.topbar-user-btn-icon {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(233,241,251,0.98), rgba(223,234,247,0.96));
  color: #86aef8;
  flex: 0 0 34px;
}
.topbar-user-btn-icon .app-svg-icon {
  width: 16px;
  height: 16px;
}
.topbar-user-btn-chevron {
  width: 16px;
  height: 16px;
  color: #4c647c;
  flex: 0 0 16px;
}
.topbar-user-btn-chevron .app-svg-icon {
  width: 16px;
  height: 16px;
}
.topbar-add-btn {
  min-height: 40px;
  padding-inline: 14px;
  border-radius: 18px;
}
@media (min-width: 769px) {
  .topbar-actions {
    gap: 8px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn {
    min-width: 164px;
    padding: 7px 10px 7px 12px;
    border-radius: 22px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-main {
    gap: 8px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy strong {
    font-size: 12px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy small {
    font-size: 9px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 14px;
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-icon .app-svg-icon,
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-chevron .app-svg-icon {
    width: 15px;
    height: 15px;
  }
  .topbar #addPropertyBtn.topbar-add-btn {
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 20px;
  }
  .topbar #addPropertyBtn.topbar-add-btn span:last-child {
    font-size: 13px;
  }
}
.tabs { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.tabs-dock {
  margin-top: 18px;
  padding: 14px;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  border-radius: 34px;
  border: 1px solid rgba(191, 212, 228, 0.78);
  background:
    radial-gradient(circle at 12% 10%, rgba(104, 200, 240, 0.22), transparent 24%),
    radial-gradient(circle at 88% 28%, rgba(161, 202, 255, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(241,246,251,0.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.84),
    0 24px 50px rgba(23, 50, 69, 0.1);
  scrollbar-width: none;
}
.tabs-dock::-webkit-scrollbar { display: none; }
.tab-btn {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
  color: var(--text);
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.12s ease, box-shadow 0.18s ease;
}
.tab-btn-dock {
  flex: 1 1 0;
  min-width: 156px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 26px;
  border-color: rgba(203, 220, 233, 0.58);
  background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(247,250,253,0.86));
  color: #284d66;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    0 8px 18px rgba(36, 77, 102, 0.06);
  white-space: normal;
}
.tab-btn-icon {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 48px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(227,238,247,0.94));
  color: #2a6a91;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 10px 18px rgba(36, 77, 102, 0.08);
}
.tab-btn-icon .app-svg-icon {
  width: 24px;
  height: 24px;
}
.tab-btn-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
  text-align: right;
}
.tab-btn-copy strong {
  font-size: 15px;
  line-height: 1.2;
  color: currentColor;
}
.tab-btn-copy small {
  font-size: 11px;
  line-height: 1.45;
  color: rgba(40, 77, 102, 0.7);
  font-weight: 700;
}
.tab-btn.active { background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 8px 18px rgba(36, 77, 102, 0.28); }
.tab-btn-dock.active {
  transform: translateY(-3px) scale(1.03);
  background: linear-gradient(145deg, #2b74d0, #1f64b9 58%, #1a5aa9);
  border-color: rgba(30, 96, 176, 0.95);
  color: #ffffff;
  box-shadow:
    0 18px 34px rgba(31, 100, 185, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.18);
}
.tab-btn-dock.active .tab-btn-icon {
  background: linear-gradient(180deg, rgba(255,255,255,0.2), rgba(255,255,255,0.08));
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(8, 43, 88, 0.2);
}
.tab-btn-dock.active .tab-btn-copy small { color: rgba(255,255,255,0.78); }
.tab-btn:hover { border-color: var(--primary); box-shadow: 0 5px 12px rgba(36, 77, 102, 0.14); }
.tab-btn-dock:hover {
  border-color: rgba(183, 205, 221, 0.92);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,253,0.94));
  box-shadow: 0 12px 24px rgba(36, 77, 102, 0.12);
}
.tab-btn:active { transform: translateY(1px); }
.mobile-floating-nav {
  display: none;
}
.mobile-floating-nav-shell {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  gap: 2px;
  padding: 10px 10px calc(10px + env(safe-area-inset-bottom));
  border-radius: 26px 26px 0 0;
  border: 1px solid rgba(204, 220, 235, 0.92);
  border-bottom: none;
  background:
    radial-gradient(circle at 50% -16%, rgba(108, 128, 255, 0.22), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.88), rgba(247,250,253,0.84));
  box-shadow:
    0 -14px 34px rgba(19, 39, 57, 0.10),
    0 -2px 0 rgba(255,255,255,0.56),
    inset 0 1px 0 rgba(255,255,255,0.78);
  backdrop-filter: blur(22px) saturate(1.18);
}
.mobile-floating-compare-btn {
  position: absolute;
  top: -38px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 12px 0 10px;
  border: 1px solid rgba(197, 214, 230, 0.96);
  border-radius: 999px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.72), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,246,251,0.96));
  color: #587085;
  box-shadow:
    0 12px 24px rgba(18, 41, 61, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.88);
  cursor: pointer;
  font: inherit;
  transition: transform 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  z-index: 2;
}
.mobile-floating-compare-btn:active {
  transform: translateY(1px);
}
.mobile-floating-compare-btn.active {
  color: #164366;
  box-shadow:
    0 14px 28px rgba(27, 74, 114, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.92);
}
.mobile-floating-compare-icon {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
}
.mobile-floating-compare-icon .app-svg-icon {
  width: 100%;
  height: 100%;
}
.mobile-floating-compare-label {
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.mobile-floating-nav-btn,
.mobile-floating-nav-add {
  border: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.mobile-floating-nav-btn {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #98a6b5;
  padding: 8px 2px 4px;
  border-radius: 16px;
  transition: transform 0.18s ease, color 0.18s ease, background-color 0.18s ease, opacity 0.18s ease;
}
.mobile-floating-nav-btn:hover {
  color: #6f8396;
}
.mobile-floating-nav-btn:active {
  transform: translateY(1px);
}
.mobile-floating-nav-btn.active {
  color: #153b60;
}
.mobile-floating-nav-btn.active .mobile-floating-nav-label {
  color: #153b60;
}
.mobile-floating-nav-btn.active .mobile-floating-nav-icon {
  background: linear-gradient(180deg, rgba(74, 126, 187, 0.18), rgba(255,255,255,0.72));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.82),
    0 8px 16px rgba(34, 76, 114, 0.14);
}
.mobile-floating-nav-icon {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 14px;
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
.mobile-floating-nav-icon .app-svg-icon {
  width: 22px;
  height: 22px;
}
.mobile-floating-nav-label {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
  white-space: nowrap;
  color: currentColor;
  transition: color 0.18s ease, opacity 0.18s ease;
}
.mobile-floating-nav-add {
  display: grid;
  justify-items: center;
  align-self: start;
  transform: translateY(-26px);
}
.mobile-floating-nav-add-core {
  position: relative;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,0.45), transparent 26%),
    linear-gradient(145deg, #5f89ff 0%, #4358ff 52%, #6037ff 100%);
  box-shadow:
    0 18px 38px rgba(73, 90, 255, 0.32),
    0 0 0 10px rgba(98, 116, 255, 0.09),
    inset 0 1px 0 rgba(255,255,255,0.40);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.mobile-floating-nav-add-core::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.18);
}
.mobile-floating-nav-add-icon {
  width: 30px;
  height: 30px;
  color: #ffffff;
  filter: drop-shadow(0 2px 10px rgba(14, 28, 77, 0.18));
}
.mobile-floating-nav-add:active .mobile-floating-nav-add-core {
  transform: translateY(1px) scale(0.985);
}
.mobile-floating-nav-add.active .mobile-floating-nav-add-core {
  box-shadow:
    0 22px 38px rgba(73, 90, 255, 0.42),
    0 0 0 6px rgba(86, 114, 255, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.46);
}
.subtabs { margin-top: 10px; display: flex; gap: 6px; flex-wrap: wrap; background: #d7e6f2; border-radius: 10px; padding: 6px; }
.subtab-btn { border: none; background: transparent; color: #244d66; border-radius: 8px; padding: 9px 12px; cursor: pointer; font-weight: 600; }
.subtab-btn.active { background: #2f79ae; color: #fff; }
body[data-theme='dark'] .subtabs { background: #223443; }
body[data-theme='dark'] .subtab-btn { color: #d6e7f4; }
body[data-theme='dark'] .subtab-btn.active { background: #3f8bc2; color: #fff; }
body[data-theme='dark'] .mobile-floating-nav-shell,
body[data-theme='neon-aurora'] .mobile-floating-nav-shell,
body[data-theme='sunset-flow'] .mobile-floating-nav-shell,
body[data-theme='emerald-glass'] .mobile-floating-nav-shell {
  border-color: rgba(102, 130, 156, 0.46);
}
body[data-theme='dark'] .mobile-floating-nav-shell,
body[data-theme='neon-aurora'] .mobile-floating-nav-shell,
body[data-theme='emerald-glass'] .mobile-floating-nav-shell {
  background:
    radial-gradient(circle at 50% -8%, rgba(78, 125, 255, 0.22), transparent 30%),
    linear-gradient(180deg, rgba(22,30,39,0.84), rgba(30,40,52,0.82));
  box-shadow:
    0 -14px 38px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
body[data-theme='sunset-flow'] .mobile-floating-nav-shell {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 148, 107, 0.24), transparent 30%),
    linear-gradient(180deg, rgba(47,28,29,0.98), rgba(75,40,31,0.96));
  box-shadow:
    0 -14px 38px rgba(34, 16, 11, 0.34),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
body[data-theme='dark'] .mobile-floating-nav-btn,
body[data-theme='neon-aurora'] .mobile-floating-nav-btn,
body[data-theme='emerald-glass'] .mobile-floating-nav-btn {
  color: rgba(208, 220, 233, 0.66);
}
body[data-theme='dark'] .mobile-floating-compare-btn,
body[data-theme='neon-aurora'] .mobile-floating-compare-btn,
body[data-theme='emerald-glass'] .mobile-floating-compare-btn {
  border-color: rgba(102, 130, 156, 0.48);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 40%),
    linear-gradient(180deg, rgba(25,34,44,0.96), rgba(33,45,57,0.92));
  color: rgba(216, 228, 238, 0.78);
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.26),
    inset 0 1px 0 rgba(255,255,255,0.10);
}
body[data-theme='sunset-flow'] .mobile-floating-compare-btn {
  border-color: rgba(126, 86, 101, 0.64);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 40%),
    linear-gradient(180deg, rgba(69,46,59,0.96), rgba(53,36,47,0.92));
  color: rgba(255, 233, 220, 0.82);
  box-shadow:
    0 12px 24px rgba(39, 12, 19, 0.24),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
body[data-theme='dark'] .mobile-floating-compare-btn.active,
body[data-theme='neon-aurora'] .mobile-floating-compare-btn.active,
body[data-theme='emerald-glass'] .mobile-floating-compare-btn.active {
  color: #f4f8ff;
}
body[data-theme='sunset-flow'] .mobile-floating-compare-btn.active {
  color: #fff4eb;
}
body[data-theme='sunset-flow'] .mobile-floating-nav-btn {
  color: rgba(245, 217, 197, 0.68);
}
body[data-theme='dark'] .mobile-floating-nav-btn.active,
body[data-theme='neon-aurora'] .mobile-floating-nav-btn.active,
body[data-theme='emerald-glass'] .mobile-floating-nav-btn.active {
  color: #f3f8ff;
}
body[data-theme='dark'] .mobile-floating-nav-btn.active .mobile-floating-nav-icon,
body[data-theme='neon-aurora'] .mobile-floating-nav-btn.active .mobile-floating-nav-icon,
body[data-theme='emerald-glass'] .mobile-floating-nav-btn.active .mobile-floating-nav-icon {
  background: linear-gradient(180deg, rgba(108, 154, 255, 0.20), rgba(255,255,255,0.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    0 8px 18px rgba(0, 0, 0, 0.22);
}
body[data-theme='sunset-flow'] .mobile-floating-nav-btn.active {
  color: #fff4eb;
}
body[data-theme='sunset-flow'] .mobile-floating-nav-btn.active .mobile-floating-nav-icon {
  background: linear-gradient(180deg, rgba(255, 178, 136, 0.18), rgba(255,255,255,0.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.16),
    0 8px 18px rgba(39, 12, 19, 0.22);
}
.tool-hub { display: grid; gap: 18px; }
.tool-hub-hero-copy { display: contents; }
.tool-hub-mobile-orb,
.tool-hub-mobile-summary,
.tool-widget-mobile-launch { display: none; }
.tool-hub-hero {
  position: relative;
  overflow: hidden;
  padding: 22px 22px 18px;
  border-radius: 22px;
  border: 1px solid rgba(36, 77, 102, 0.14);
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.88), transparent 42%),
    linear-gradient(145deg, rgba(237, 244, 250, 0.96), rgba(225, 236, 245, 0.9));
  box-shadow: 0 18px 36px rgba(25, 43, 61, 0.12);
}
.tool-hub-hero::after {
  content: '';
  position: absolute;
  inset: auto -60px -70px auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36, 77, 102, 0.18) 0%, rgba(36, 77, 102, 0) 72%);
  pointer-events: none;
}
.tool-hub-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #244d66;
  border: 1px solid rgba(36, 77, 102, 0.12);
  font-size: 12px;
  font-weight: 800;
}
.tool-hub-hero h3 {
  margin: 10px 0 6px;
  color: #1e3448;
  font-size: 28px;
  line-height: 1.45;
}
.tool-hub-hero p {
  margin: 0;
  max-width: 760px;
  color: #557083;
  line-height: 1.95;
  font-size: 14px;
}
.tool-hub-hero-calculations {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.9), transparent 40%),
    linear-gradient(145deg, #edf8f7, #dfeff4 58%, #dbe7f4);
}
.tool-hub-hero-utilities {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.9), transparent 40%),
    linear-gradient(145deg, #f8f5ed, #eef4df 58%, #e7eef4);
}
.tool-hub-hero-entertainment {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.92), transparent 40%),
    linear-gradient(145deg, #eef0ff, #e6f5fb 54%, #f7ece4);
}
.tool-widget-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.tool-widget {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  width: 100%;
  padding: 18px 16px;
  border-radius: 20px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 247, 250, 0.92));
  color: inherit;
  text-align: right;
  cursor: pointer;
  box-shadow: 0 14px 26px rgba(17, 33, 48, 0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.tool-widget:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 34px rgba(17, 33, 48, 0.12);
}
.tool-widget:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}
.tool-widget-icon {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: #244d66;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(229, 239, 246, 0.98));
  border: 1px solid rgba(36, 77, 102, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.tool-widget-icon .app-svg-icon {
  width: 30px;
  height: 30px;
}
.tool-widget-copy { display: grid; gap: 6px; }
.tool-widget-copy small {
  color: #6d8294;
  font-size: 11px;
  font-weight: 800;
}
.tool-widget-copy strong {
  color: #1e3346;
  font-size: 17px;
  line-height: 1.55;
}
.tool-widget-copy span {
  color: #5c7386;
  font-size: 13px;
  line-height: 1.9;
}
.tool-widget-blue .tool-widget-icon,
.tool-widget-sheet-blue .tool-widget-sheet-icon { color: #2b6fa7; background: linear-gradient(180deg, #f2f8fd, #dcecf9); }
.tool-widget-teal .tool-widget-icon,
.tool-widget-sheet-teal .tool-widget-sheet-icon { color: #157b78; background: linear-gradient(180deg, #eefcf9, #d9f2ef); }
.tool-widget-gold .tool-widget-icon,
.tool-widget-sheet-gold .tool-widget-sheet-icon { color: #9b6b0f; background: linear-gradient(180deg, #fff9ec, #f6ead0); }
.tool-widget-rose .tool-widget-icon,
.tool-widget-sheet-rose .tool-widget-sheet-icon { color: #a74b61; background: linear-gradient(180deg, #fff3f5, #f9dde4); }
.tool-widget-emerald .tool-widget-icon,
.tool-widget-sheet-emerald .tool-widget-sheet-icon { color: #227b55; background: linear-gradient(180deg, #eefbf3, #dbf0e3); }
.tool-widget-indigo .tool-widget-icon,
.tool-widget-sheet-indigo .tool-widget-sheet-icon { color: #445dc7; background: linear-gradient(180deg, #f1f3ff, #dde2fb); }
.tool-widget-modal {
  position: fixed;
  inset: 0;
  z-index: 2600;
  display: grid;
  place-items: center;
  padding: 20px;
}
.tool-widget-modal-entertainment {
  align-items: start;
  justify-items: center;
  padding-top: 108px;
}
.tool-widget-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 17, 27, 0.62);
  backdrop-filter: blur(6px);
}
.tool-widget-sheet {
  position: relative;
  width: min(960px, 100%);
  max-height: min(88vh, 920px);
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(36, 77, 102, 0.16);
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(240, 246, 250, 0.98));
  box-shadow: 0 30px 60px rgba(8, 17, 27, 0.34);
  display: grid;
  grid-template-rows: auto 1fr;
}
.tool-widget-sheet-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(36, 77, 102, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.42));
}
.tool-widget-sheet-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
}
.tool-widget-sheet-icon {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 77, 102, 0.12);
}
.tool-widget-sheet-icon .app-svg-icon {
  width: 32px;
  height: 32px;
}
.tool-widget-sheet-hero small {
  display: block;
  margin-bottom: 4px;
  color: #6a7f92;
  font-size: 11px;
  font-weight: 800;
}
.tool-widget-sheet-hero h3 {
  margin: 0 0 6px;
  color: #1d3447;
  font-size: 26px;
}
.tool-widget-sheet-hero p {
  margin: 0;
  color: #5f7688;
  line-height: 1.9;
  font-size: 13px;
}
.tool-widget-sheet-close {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(255, 255, 255, 0.76);
  color: #6b8093;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.tool-widget-sheet-close svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.tool-widget-sheet-body {
  overflow: auto;
  padding: 20px 22px 24px;
}
.tool-widget-sheet-entertainment {
  width: min(920px, 100%);
  max-height: calc(100vh - 120px);
  align-self: start;
  margin-top: 0;
  margin-bottom: 24px;
}
.tool-widget-sheet-body-entertainment {
  overflow: auto;
}
.tool-widget-sheet-body-entertainment > .tool-widget-panel {
  width: min(100%, 820px);
  margin-inline: auto;
}
.tool-widget-sheet-entertainment .tool-widget-sheet-head {
  position: sticky;
  top: 0;
  z-index: 5;
}
.tool-widget-sheet-entertainment .tool-widget-sheet-close {
  position: sticky;
  top: 0;
  flex-shrink: 0;
}
.tool-widget-panel {
  display: grid;
  gap: 12px;
}
.tool-widget-panel > h3 {
  margin: 0;
  color: #20374b;
  font-size: 22px;
}
body[data-theme='dark'] .tool-hub-hero {
  border-color: rgba(138, 175, 202, 0.12);
  box-shadow: 0 18px 36px rgba(3, 8, 13, 0.28);
}
body[data-theme='dark'] .tool-hub-hero-calculations {
  background: linear-gradient(145deg, #1e2f39, #243643 56%, #283f50);
}
body[data-theme='dark'] .tool-hub-hero-utilities {
  background: linear-gradient(145deg, #2c3125, #263741 56%, #23303d);
}
body[data-theme='dark'] .tool-hub-hero-entertainment {
  background: linear-gradient(145deg, #23283a, #1e3544 56%, #2e2b35);
}
body[data-theme='dark'] .tool-hub-badge {
  background: rgba(13, 22, 31, 0.34);
  border-color: rgba(138, 175, 202, 0.14);
  color: #dcecf8;
}
body[data-theme='dark'] .tool-hub-hero h3 { color: #eef6fd; }
body[data-theme='dark'] .tool-hub-hero p { color: #bfd0df; }
body[data-theme='dark'] .tool-widget {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(33, 47, 59, 0.96), rgba(28, 39, 49, 0.96));
  box-shadow: 0 14px 28px rgba(2, 8, 14, 0.26);
}
body[data-theme='dark'] .tool-widget-copy small { color: #91a7ba; }
body[data-theme='dark'] .tool-widget-copy strong { color: #eff6fb; }
body[data-theme='dark'] .tool-widget-copy span { color: #bdccd7; }
body[data-theme='dark'] .tool-widget-icon,
body[data-theme='dark'] .tool-widget-sheet-icon {
  border-color: rgba(138, 175, 202, 0.12);
}
body[data-theme='dark'] .tool-widget-sheet {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.98), rgba(25, 35, 43, 0.98));
}
body[data-theme='dark'] .tool-widget-sheet-head {
  border-bottom-color: rgba(138, 175, 202, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
}
body[data-theme='dark'] .tool-widget-sheet-hero h3,
body[data-theme='dark'] .tool-widget-panel > h3 { color: #edf5fb; }
body[data-theme='dark'] .tool-widget-sheet-hero p,
body[data-theme='dark'] .tool-widget-sheet-hero small { color: #baccda; }
body[data-theme='dark'] .tool-widget-sheet-close {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(138, 175, 202, 0.12);
  color: #c9d6e0;
}
.panel {
  margin-top: 12px;
  background: linear-gradient(180deg, var(--surface-glass), var(--surface));
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 16px;
  backdrop-filter: blur(6px);
}

.search-widget-board,
.property-classification-card {
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 16px;
  background:
    radial-gradient(circle at top left, rgba(36, 77, 102, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 252, 0.96));
  box-shadow: 0 18px 38px rgba(26, 42, 58, 0.08);
}

.search-widget-head,
.property-classification-head,
.subcategory-panel-head,
.search-results-banner,
.classification-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.search-widget-head h3,
.property-classification-head h3 {
  margin-bottom: 4px;
  font-size: 20px;
}

.search-widget-head p,
.property-classification-head p,
.subcategory-panel-head small {
  color: var(--muted);
}

.search-widget-selection,
.property-classification-selection,
.classification-summary-inline-box {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.search-widget-selection span,
.property-classification-selection span,
.classification-summary-inline-box span {
  border: 1px solid rgba(36, 77, 102, 0.14);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
  font-size: 13px;
  font-weight: 700;
}

.category-widget-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.category-widget,
.subcategory-widget {
  width: 100%;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 245, 249, 0.98));
  border-radius: 18px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: right;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.category-widget:hover,
.subcategory-widget:hover {
  transform: translateY(-2px);
  border-color: rgba(36, 77, 102, 0.35);
  box-shadow: 0 14px 28px rgba(25, 46, 66, 0.12);
}

.category-widget.active,
.subcategory-widget.active {
  border-color: rgba(36, 77, 102, 0.48);
  background: linear-gradient(180deg, rgba(36, 77, 102, 0.96), rgba(29, 61, 82, 0.96));
  color: #fff;
  box-shadow: 0 16px 28px rgba(19, 44, 62, 0.22);
}

.category-widget-icon,
.subcategory-widget-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
}

.category-widget.active .category-widget-icon,
.subcategory-widget.active .subcategory-widget-icon {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.category-widget-icon .app-svg-icon,
.subcategory-widget-icon .app-svg-icon {
  width: 24px;
  height: 24px;
}

.category-widget-body {
  display: grid;
  gap: 4px;
}

.category-widget-body strong {
  font-size: 15px;
}

.category-widget-body small {
  color: var(--muted);
  line-height: 1.6;
}

.category-widget.active .category-widget-body small {
  color: rgba(255, 255, 255, 0.84);
}

.subcategory-panel {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 18px;
  background: rgba(36, 77, 102, 0.04);
}

.subcategory-panel-head h4 {
  margin-bottom: 4px;
  font-size: 16px;
}

.search-widget-back-btn {
  border: 1px solid rgba(36, 77, 102, 0.34);
  border-radius: 999px;
  padding: 10px 16px;
  background: linear-gradient(180deg, #3f7393, #244d66);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(36, 77, 102, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, filter 0.18s ease;
}

.search-widget-back-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(36, 77, 102, 0.48);
  box-shadow: 0 14px 26px rgba(25, 46, 66, 0.16);
  filter: brightness(1.04);
}

.subcategory-widget-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.subcategory-widget {
  justify-content: flex-start;
  align-items: center;
  min-height: 92px;
  padding: 16px 18px;
}

.subcategory-widget-body {
  flex: 1 1 auto;
  display: grid;
  gap: 5px;
}

.subcategory-widget-body strong {
  font-size: 15px;
}

.subcategory-widget-body small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.subcategory-widget-count {
  min-width: 42px;
  height: 42px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(36, 77, 102, 0.12);
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(36, 77, 102, 0.08);
}

.subcategory-widget.active {
  transform: translateY(-2px) scale(1.01);
}

.subcategory-widget.active .subcategory-widget-body small {
  color: rgba(255, 255, 255, 0.84);
}

.subcategory-widget.active .subcategory-widget-count {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.classification-meta {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed rgba(36, 77, 102, 0.18);
}

.classification-meta-item {
  min-width: 180px;
  display: grid;
  gap: 4px;
}

.classification-meta-item span {
  color: var(--muted);
  font-size: 13px;
}

.classification-meta-item strong {
  font-size: 15px;
}

.category-sync-selects {
  display: none;
}

.classification-summary-inline {
  display: grid;
  gap: 8px;
}

.classification-summary-inline-box {
  min-height: 44px;
  padding: 8px 0;
}

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

.classification-ladder-field {
  display: grid;
  gap: 8px;
}

.classification-ladder-field label {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
}

.classification-ladder-field select {
  min-height: 48px;
  border-radius: 14px;
}

.classification-ladder-preview {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(36, 77, 102, 0.04);
}

.classification-ladder-preview-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(36, 77, 102, 0.1);
  color: var(--primary);
}

.classification-ladder-preview-icon .app-svg-icon {
  width: 22px;
  height: 22px;
}

.classification-ladder-preview-copy {
  display: grid;
  gap: 4px;
}

.classification-ladder-preview-copy strong {
  font-size: 15px;
}

.classification-ladder-preview-copy span {
  color: var(--muted);
  font-size: 13px;
}

.compact-classification-nav,
.compact-classification-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.compact-classification-nav {
  margin-top: 14px;
}

.compact-classification-subnav {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(36, 77, 102, 0.04);
}

.compact-classification-chip,
.compact-subclassification-chip {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 245, 249, 0.98));
  color: var(--text);
  min-height: 42px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.compact-classification-chip:hover,
.compact-subclassification-chip:hover {
  transform: translateY(-1px);
  border-color: rgba(36, 77, 102, 0.35);
  box-shadow: 0 10px 20px rgba(25, 46, 66, 0.1);
}

.compact-classification-chip.active,
.compact-subclassification-chip.active {
  background: linear-gradient(180deg, rgba(36, 77, 102, 0.96), rgba(29, 61, 82, 0.96));
  border-color: rgba(36, 77, 102, 0.44);
  color: #fff;
}

.compact-classification-chip-icon,
.compact-subclassification-chip-icon {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  color: currentColor;
}

.compact-classification-chip-icon svg,
.compact-subclassification-chip-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.classification-note-wrap {
  display: flex;
  align-items: end;
}

.classification-note {
  width: 100%;
  border: 1px dashed rgba(36, 77, 102, 0.22);
  border-radius: 14px;
  padding: 12px;
  color: var(--muted);
  background: rgba(36, 77, 102, 0.04);
  line-height: 1.8;
}

.search-results-banner {
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 18px;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(36, 77, 102, 0.08), rgba(36, 77, 102, 0.03));
}

.search-results-banner strong {
  display: block;
  margin-bottom: 4px;
}

.search-results-banner p {
  color: var(--muted);
}

.search-results-banner > span {
  border-radius: 999px;
  padding: 8px 14px;
  background: rgba(36, 77, 102, 0.12);
  color: var(--primary);
  font-weight: 700;
}

body[data-theme='dark'] .search-widget-board,
body[data-theme='dark'] .property-classification-card {
  background:
    radial-gradient(circle at top left, rgba(91, 140, 168, 0.16), transparent 32%),
    linear-gradient(180deg, rgba(22, 30, 38, 0.98), rgba(25, 34, 43, 0.96));
}

body[data-theme='dark'] .category-widget,
body[data-theme='dark'] .subcategory-widget,
body[data-theme='dark'] .subcategory-panel,
body[data-theme='dark'] .search-results-banner,
body[data-theme='dark'] .classification-note {
  border-color: rgba(138, 175, 202, 0.16);
  background: rgba(91, 140, 168, 0.06);
}

body[data-theme='dark'] .category-widget-icon,
body[data-theme='dark'] .subcategory-widget-icon {
  background: rgba(91, 140, 168, 0.14);
}

body[data-theme='dark'] .subcategory-widget-body small {
  color: #bdd1e0;
}

body[data-theme='dark'] .search-widget-selection span,
body[data-theme='dark'] .property-classification-selection span,
body[data-theme='dark'] .classification-summary-inline-box span,
body[data-theme='dark'] .search-results-banner > span {
  color: #dcecf7;
  background: rgba(91, 140, 168, 0.18);
  border-color: rgba(138, 175, 202, 0.16);
}

body[data-theme='dark'] .classification-ladder-preview {
  border-color: rgba(138, 175, 202, 0.16);
  background: rgba(91, 140, 168, 0.06);
}

body[data-theme='dark'] .classification-ladder-preview-icon {
  background: rgba(91, 140, 168, 0.14);
  color: #dcecf7;
}

body[data-theme='dark'] .compact-classification-subnav,
body[data-theme='dark'] .compact-classification-chip,
body[data-theme='dark'] .compact-subclassification-chip {
  border-color: rgba(138, 175, 202, 0.16);
  background: rgba(91, 140, 168, 0.06);
}

body[data-theme='dark'] .compact-classification-chip.active,
body[data-theme='dark'] .compact-subclassification-chip.active {
  background: linear-gradient(180deg, rgba(91, 140, 168, 0.96), rgba(74, 123, 152, 0.96));
  color: #fff;
}

body[data-theme='dark'] .subcategory-widget-count {
  background: rgba(91, 140, 168, 0.18);
  color: #dcecf7;
  box-shadow: inset 0 0 0 1px rgba(138, 175, 202, 0.12);
}

body[data-theme='dark'] .search-widget-back-btn {
  border-color: rgba(138, 175, 202, 0.18);
  background: linear-gradient(180deg, #6c9abc, #4a7b98);
  color: #fff;
}

.search-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.search-grid > * { align-self: start; }
.search-grid-simple { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.search-grid-simple #searchQuery { min-height: 48px; }
.search-grid-simple .row-actions { grid-column: auto; margin: 0; }
.search-map-wrap { grid-column: 1 / -1; }
.search-grid .row-actions { grid-column: 1 / -1; }
.form-grid { display: grid; gap: 10px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.property-form-shell {
  display: grid;
  gap: 16px;
}

.property-form {
  display: grid;
  gap: 16px;
}

.property-form-hero {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(74, 128, 167, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(239, 245, 250, 0.96));
  box-shadow: 0 20px 44px rgba(20, 44, 63, 0.1);
}

.property-form-eyebrow {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.1);
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}

.property-form-hero-copy h2 {
  margin: 10px 0 6px;
  font-size: clamp(26px, 5vw, 38px);
  line-height: 1.15;
  color: #17384b;
}

.property-form-hero-copy p {
  margin: 0;
  color: #587084;
  line-height: 1.95;
  font-size: 14px;
}

.property-form-hero-meta {
  display: grid;
  gap: 10px;
}

.property-form-hero-card {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  background: rgba(255, 255, 255, 0.74);
  backdrop-filter: blur(10px);
}

.property-form-hero-card span {
  color: #5e7385;
  font-size: 12px;
  font-weight: 700;
}

.property-form-hero-card strong {
  color: #17384b;
  font-size: 15px;
}

.property-form-hero-card-muted {
  background: linear-gradient(180deg, rgba(244, 248, 251, 0.94), rgba(255, 255, 255, 0.92));
}

.property-form-layout {
  display: grid;
  gap: 16px;
}

.property-form-section-highlight .property-classification-card {
  margin-bottom: 0;
}

.property-form-main,
.property-form-aside {
  display: grid;
  gap: 16px;
}

.property-form-section {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 251, 0.96));
  box-shadow: 0 16px 34px rgba(20, 44, 63, 0.07);
}

.property-form-section-highlight {
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: none;
  box-shadow: none;
}

.property-form-section-highlight > .property-form-section-head {
  padding: 0 2px;
}

.property-form-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.property-form-section-head h3 {
  margin: 0 0 4px;
  font-size: 18px;
  color: #183548;
}

.property-form-section-head p {
  margin: 0;
  color: #617687;
  line-height: 1.85;
  font-size: 13px;
}

.property-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.property-form-field {
  display: grid;
  gap: 8px;
}

.property-form-field-wide {
  grid-column: 1 / -1;
}

.property-form-field label,
.property-form-upload label {
  font-size: 13px;
  font-weight: 700;
  color: #526778;
}

.property-form-field input:not([type='checkbox']):not([type='radio']),
.property-form-field textarea,
.property-form-upload input[type='file'] {
  min-height: 52px;
  border-radius: 16px;
  padding: 12px 14px;
  border-color: rgba(36, 77, 102, 0.12);
  background: linear-gradient(180deg, #fff, #f6f9fb);
}

.property-form-field textarea {
  min-height: 126px;
  resize: vertical;
}

.property-form-inline-note {
  display: grid;
  gap: 4px;
}

.property-form-inline-note strong {
  color: #1e435c;
  font-size: 14px;
}

.property-form-inline-note p {
  margin: 0;
  color: #63788a;
  font-size: 13px;
  line-height: 1.8;
}

.property-form-quick-amenities {
  gap: 10px;
}

.property-form-quick-amenities .mini-btn {
  min-height: 38px;
  border-radius: 999px;
  padding: 8px 14px;
  background: linear-gradient(180deg, #e5eef5, #d8e5ef);
  color: #1f4258;
  font-weight: 700;
}

.property-form-utility-grid {
  display: grid;
  gap: 12px;
}

.property-form-star-toggle {
  min-height: 54px;
  justify-content: space-between;
  padding: 14px 16px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  border-radius: 16px;
  background: rgba(243, 248, 251, 0.88);
}

.property-form-star-toggle span {
  font-weight: 700;
  color: #29485d;
}

.property-form-star-toggle input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  accent-color: var(--primary);
  cursor: pointer;
}

.property-form-upload {
  display: grid;
  gap: 8px;
}

.property-form-image-preview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.property-form-image-preview:empty {
  display: none;
}

.image-preview-item {
  position: relative;
  margin: 0;
  min-width: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(245, 249, 252, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 10px 24px rgba(20, 44, 63, 0.08);
}

.image-preview-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-preview-remove {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: rgba(11, 24, 35, 0.78);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(11, 24, 35, 0.24);
  transition: transform 0.14s ease, background-color 0.18s ease;
}

.image-preview-remove:hover {
  transform: scale(1.06);
  background: rgba(177, 58, 58, 0.92);
}

.image-preview-remove:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.property-form-map-shell {
  display: grid;
  gap: 12px;
}

.property-form-map-card {
  margin-top: 0;
  border-radius: 20px;
  padding: 12px;
  background:
    radial-gradient(circle at top right, rgba(88, 150, 193, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 253, 0.98));
}

.property-form-map-head {
  margin-bottom: 12px;
}

.property-form-map-copy {
  display: grid;
  gap: 4px;
}

.property-form-map-copy strong {
  color: #1f4258;
  font-size: 14px;
}

.property-form-map-copy small {
  color: #627789;
  font-size: 12px;
  line-height: 1.75;
}

.property-content-assistant {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(78, 144, 187, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 252, 0.98));
  box-shadow: 0 16px 34px rgba(20, 44, 63, 0.06);
}

.property-content-assistant-launch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  background:
    radial-gradient(circle at top right, rgba(78, 144, 187, 0.1), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 249, 252, 0.96));
}

.property-content-assistant-launch-copy {
  display: grid;
  gap: 6px;
}

.property-content-assistant-launch-copy p {
  margin: 0;
  color: #607688;
  font-size: 13px;
  line-height: 1.85;
}

.property-content-assistant-open {
  overflow: hidden;
}

.property-content-assistant-modal {
  position: fixed;
  inset: 0;
  z-index: 3350;
  display: grid;
  place-items: center;
  padding: 18px;
}

.property-content-assistant-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 33, 0.52);
  backdrop-filter: blur(6px);
}

.property-content-assistant-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  padding: 20px;
  border-radius: 26px;
  box-shadow: 0 26px 60px rgba(12, 24, 38, 0.24);
}

@media (max-width: 900px) {
  .property-content-assistant-dialog {
    width: min(100%, 700px);
  }
}

.property-content-assistant-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.property-content-assistant-head > div:first-child {
  display: grid;
  gap: 4px;
  flex: 1 1 320px;
}

.property-content-assistant-kicker {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
  font-size: 11px;
  font-weight: 900;
}

.property-content-assistant-head h4 {
  margin: 8px 0 6px;
  color: #183548;
  font-size: 19px;
}

.property-content-assistant-head p {
  margin: 0;
  color: #607688;
  line-height: 1.9;
  font-size: 13px;
  max-width: 100%;
}

.property-content-assistant-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}

.property-content-assistant-output {
  display: grid;
  gap: 12px;
}

.property-content-assistant-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.property-content-assistant-dialog .property-content-assistant-grid {
  grid-template-columns: 1fr;
}

.property-content-assistant-dialog .property-content-card,
.property-content-assistant-dialog .property-content-card-wide {
  grid-column: 1 / -1;
}

.property-content-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background: rgba(255, 255, 255, 0.78);
}

.property-content-card-wide {
  grid-column: 1 / -1;
}

.property-content-card span {
  color: #627789;
  font-size: 12px;
  font-weight: 800;
}

.property-content-card strong {
  color: #173f5c;
  font-size: 17px;
  line-height: 1.7;
}

.property-content-card p,
.property-content-card li,
.property-content-card small {
  color: #355066;
  line-height: 1.95;
}

.property-content-card ul {
  margin: 0;
  padding-right: 18px;
  display: grid;
  gap: 6px;
}

.property-content-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.property-content-mini-btn {
  border: 1px solid rgba(36, 77, 102, 0.14);
  background: linear-gradient(180deg, #f2f7fb, #e2edf6);
  color: #244d66;
  border-radius: 999px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.property-content-mini-btn:hover {
  border-color: #7ea5c0;
  background: linear-gradient(180deg, #edf6fc, #d9ebf8);
}

.property-form-actions {
  justify-content: stretch;
  gap: 12px;
}

.property-form-actions .btn {
  min-height: 50px;
  border-radius: 16px;
  flex: 1 1 0;
}

@media (min-width: 981px) {
  .property-form-hero {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
    align-items: end;
  }

  .property-form-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
    align-items: start;
  }

  .property-form-section-sticky {
    position: sticky;
    top: 88px;
  }
}
.align-center { align-items: center; }
.stack { display: grid; gap: 12px; }
.card { border: 1px solid var(--border); border-radius: 14px; background: linear-gradient(180deg, var(--surface-soft), var(--surface)); padding: 14px; box-shadow: 0 7px 16px rgba(20, 30, 40, 0.06); }
.card h3 { margin-bottom: 8px; }
.guide-card h4 { margin-top: 10px; margin-bottom: 4px; }

label { font-size: 14px; color: var(--muted); }
input:not([type='checkbox']):not([type='radio']), select, textarea {
  width: 100%;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
  color: var(--text);
  border-radius: 10px;
  padding: 10px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
input:focus, select:focus, textarea:focus { border-color: var(--primary); outline: none; box-shadow: var(--focus-ring); }
.checkbox-wrap { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; white-space: nowrap; }
.checkbox-wrap input { width: auto; min-width: 16px; height: 16px; margin: 0; }
.backup-hours-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 10px;
}
.backup-hour-chip {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0;
  color: var(--text);
}
.backup-hour-chip input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.backup-hour-chip span {
  width: 100%;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
  border-radius: 12px;
  padding: 11px 8px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease;
}
.backup-hour-chip input:checked + span {
  border-color: var(--primary);
  background: linear-gradient(180deg, rgba(35, 100, 141, 0.18), rgba(35, 100, 141, 0.08));
  box-shadow: var(--focus-ring);
  transform: translateY(-1px);
}
.backup-hour-chip input:focus-visible + span {
  border-color: var(--primary);
  box-shadow: var(--focus-ring);
}
.backup-inline-note {
  font-size: 13px;
  color: var(--muted);
}

.btn { border: 1px solid transparent; border-radius: 10px; padding: 10px 14px; font-size: 14px; cursor: pointer; text-decoration: none; display: inline-flex; justify-content: center; align-items: center; font-weight: 700; transition: transform 0.12s ease, filter 0.18s ease, box-shadow 0.18s ease; }
.btn-primary { background: linear-gradient(180deg, var(--primary), var(--primary-strong)); color: #fff; box-shadow: 0 8px 16px rgba(25, 61, 84, 0.24); }
.btn-primary:hover { filter: brightness(1.06); }
.btn-secondary { background: linear-gradient(180deg, #8a9aaa, #74879a); color: #fff; }
.btn-danger { background: linear-gradient(180deg, #c74949, var(--danger)); color: #fff; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn-with-icon { gap: 7px; }
.btn-user-area-icon {
  width: 16px;
  height: 16px;
  display: block;
  fill: currentColor;
}
.btn-topbar-icon {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 16px;
}
.btn-topbar-icon .app-svg-icon {
  width: 16px;
  height: 16px;
  background-color: currentColor;
}
.topbar #openUserAreaBtn.topbar-user-btn {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,251,255,0.98));
  color: #2a4763;
  border-color: rgba(210, 222, 236, 0.96);
  box-shadow: 0 12px 22px rgba(19, 43, 64, 0.06);
}
.topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy strong {
  color: #20384f;
}
.topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy small {
  color: #7b8ea1;
}
.topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-chevron {
  color: #4c647c;
}
.topbar #addPropertyBtn.topbar-add-btn {
  min-height: 40px;
  padding: 8px 14px;
  border-radius: 18px;
}
.topbar #addPropertyBtn.topbar-add-btn .btn-topbar-icon {
  width: 15px;
  height: 15px;
  flex-basis: 15px;
}
.topbar #addPropertyBtn.topbar-add-btn .btn-topbar-icon .app-svg-icon {
  width: 15px;
  height: 15px;
}
.topbar #addPropertyBtn.topbar-add-btn span:last-child {
  font-size: 13px;
}
.btn-trash-icon {
  width: 15px;
  height: 15px;
  fill: currentColor;
  flex: 0 0 15px;
}
.btn-danger-delete .btn-trash-icon {
  filter: drop-shadow(0 1px 0 rgba(0, 0, 0, 0.15));
}
.row-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.user-area-modal {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.user-area-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top, rgba(47, 121, 174, 0.2), transparent 40%),
    rgba(10, 16, 23, 0.58);
  backdrop-filter: blur(10px);
}

.user-area-dialog {
  position: relative;
  width: min(1240px, 96vw);
  max-height: min(88vh, 980px);
  border: 1px solid rgba(169, 188, 207, 0.44);
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, rgba(247, 250, 252, 0.92), rgba(233, 240, 246, 0.9));
  box-shadow: 0 28px 80px rgba(13, 25, 35, 0.28);
}

.user-area-shell {
  display: flex;
  min-height: min(76vh, 840px);
  min-width: 0;
  min-height: 0;
}

.user-area-sidebar {
  width: 320px;
  flex: 0 0 320px;
  padding: 26px 18px;
  color: #eef7fd;
  background:
    radial-gradient(circle at top right, rgba(122, 194, 255, 0.3), transparent 34%),
    linear-gradient(180deg, #183548 0%, #102635 52%, #0b1a24 100%);
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.user-area-brand {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 24px;
  padding: 0 6px;
}

.user-area-brand p,
.user-area-kicker {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(181, 214, 236, 0.76);
}

.user-area-brand h3 {
  margin: 6px 0 0;
  font-size: 18px;
  line-height: 1.5;
  color: #f4fbff;
}

.user-area-brand-icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.18), rgba(122, 194, 255, 0.12));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.user-area-brand-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.user-area-nav {
  display: grid;
  gap: 10px;
}

.user-area-nav-icon {
  display: none;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #dff3ff;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(122, 194, 255, 0.12));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.user-area-nav-icon .app-svg-icon {
  width: 20px;
  height: 20px;
}

.user-area-sidebar-footer {
  margin-top: 18px;
  padding: 14px 6px 0;
  border-top: 1px solid rgba(181, 214, 236, 0.12);
}

.user-area-logout-btn {
  width: 100%;
  min-height: 46px;
  border-radius: 16px;
  box-shadow: 0 14px 28px rgba(15, 20, 28, 0.22);
}

#userAreaLogoutMobileBtn {
  display: none;
}

.user-area-nav-btn {
  width: 100%;
  border: 1px solid rgba(181, 214, 236, 0.12);
  border-radius: 18px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: right;
  cursor: pointer;
  color: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.user-area-nav-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(122, 194, 255, 0.38);
  box-shadow: 0 12px 28px rgba(2, 12, 20, 0.24);
}

.user-area-nav-btn.active {
  border-color: rgba(122, 194, 255, 0.54);
  background: linear-gradient(180deg, rgba(122, 194, 255, 0.24), rgba(70, 126, 163, 0.2));
  box-shadow: 0 14px 30px rgba(4, 18, 30, 0.28);
}

.user-area-nav-btn-danger {
  border-color: rgba(216, 97, 97, 0.24);
  background: linear-gradient(180deg, rgba(198, 73, 73, 0.24), rgba(160, 39, 39, 0.18));
}

.user-area-nav-btn-danger:hover {
  border-color: rgba(233, 121, 121, 0.42);
  box-shadow: 0 12px 28px rgba(52, 10, 10, 0.28);
}

.user-area-nav-btn-danger .user-area-nav-copy strong,
.user-area-nav-btn-danger .user-area-nav-copy small {
  color: #fff2f2;
}

.user-area-nav-copy {
  display: grid;
  gap: 4px;
}

.user-area-nav-copy strong {
  color: #f5fbff;
  font-size: 15px;
}

.user-area-nav-copy small {
  color: rgba(196, 224, 242, 0.72);
  font-size: 12px;
}

.user-area-content {
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: 28px 28px 24px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.8), transparent 26%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.74), rgba(241, 246, 250, 0.94));
}

body.user-area-open {
  overflow: hidden;
}

.user-area-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(169, 188, 207, 0.42);
}

.user-area-head h2 {
  margin: 8px 0 6px;
  font-size: clamp(24px, 3vw, 34px);
  color: #183548;
  line-height: 1.15;
}

.user-area-head span {
  display: block;
  max-width: 620px;
  color: #516473;
  line-height: 1.8;
}

.user-area-close {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border: 1px solid rgba(36, 77, 102, 0.14);
  border-radius: 14px;
  cursor: pointer;
  color: #234356;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(228, 236, 242, 0.92));
  box-shadow: 0 10px 18px rgba(33, 54, 71, 0.08);
}

.user-area-close svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.user-area-panel {
  padding-inline-end: 4px;
}

.user-area-mobile-home,
.user-area-mobile-panel-modal {
  display: none;
}

body[data-theme='dark'] .user-area-dialog,
body[data-theme='graphite'] .user-area-dialog {
  background: linear-gradient(180deg, rgba(16, 28, 38, 0.96), rgba(10, 18, 24, 0.97));
  border-color: rgba(88, 115, 135, 0.42);
}

body[data-theme='dark'] .user-area-content,
body[data-theme='graphite'] .user-area-content {
  background:
    radial-gradient(circle at top left, rgba(71, 110, 136, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(18, 31, 41, 0.96), rgba(12, 20, 28, 0.98));
}

body[data-theme='dark'] .user-area-head,
body[data-theme='graphite'] .user-area-head {
  border-bottom-color: rgba(88, 115, 135, 0.34);
}

body[data-theme='dark'] .user-area-head h2,
body[data-theme='graphite'] .user-area-head h2 {
  color: #edf6fc;
}

body[data-theme='dark'] .user-area-head span,
body[data-theme='graphite'] .user-area-head span {
  color: #a9bfce;
}

body[data-theme='dark'] .user-area-close,
body[data-theme='graphite'] .user-area-close {
  color: #d9ebf7;
  border-color: rgba(122, 194, 255, 0.14);
  background: linear-gradient(180deg, rgba(35, 54, 68, 0.95), rgba(25, 38, 49, 0.92));
}

.quick-amenities { display: flex; flex-wrap: wrap; gap: 8px; }
.mini-btn { border: none; border-radius: 8px; padding: 6px 10px; background: #d8e2ea; color: #22313f; cursor: pointer; font-size: 12px; }
body[data-theme='dark'] .mini-btn { background: #374757; color: #e6edf3; }
.mt-8 { margin-top: 8px; }

#quickAmenitiesList {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}

.quick-amenity-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 6px 8px 6px 12px;
  border-radius: 14px;
  border: 1px solid #c8d5e1;
  background: linear-gradient(165deg, #f6f9fc 0%, #e7eef5 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 6px 14px rgba(23, 41, 57, 0.08);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.quick-amenity-chip:hover {
  transform: translateY(-1px);
  border-color: #a9bccf;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95) inset, 0 10px 18px rgba(23, 41, 57, 0.12);
}

.quick-amenity-chip-label {
  font-size: 13px;
  font-weight: 700;
  color: #223646;
  line-height: 1;
  letter-spacing: 0.1px;
}

.quick-amenity-chip .chip-remove {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border: 1px solid #b9c7d4;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffffff 0%, #f2f5f8 100%);
  color: #5f7282;
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.14s ease;
}

.quick-amenity-chip .chip-remove-icon {
  width: 14px;
  height: 14px;
  display: block;
  fill: currentColor;
}

.quick-amenity-chip .chip-remove:hover {
  border-color: #df8c8c;
  color: #b13333;
  background: linear-gradient(180deg, #fff4f4 0%, #ffe7e7 100%);
  transform: scale(1.04);
}

.quick-amenity-chip .chip-remove:focus-visible {
  outline: 2px solid #2a5976;
  outline-offset: 1px;
}

body[data-theme='dark'] .quick-amenity-chip {
  border-color: #4a5d71;
  background: linear-gradient(165deg, #364556 0%, #2d3946 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 18px rgba(0, 0, 0, 0.2);
}

body[data-theme='dark'] .quick-amenity-chip-label {
  color: #dfebf6;
}

body[data-theme='dark'] .quick-amenity-chip .chip-remove {
  border-color: #61768b;
  background: linear-gradient(180deg, #2f3b49 0%, #283441 100%);
  color: #d5e0ec;
}

body[data-theme='dark'] .quick-amenity-chip .chip-remove:hover {
  border-color: #d88888;
  color: #ffc8c8;
  background: linear-gradient(180deg, #573838 0%, #452e2e 100%);
}

body[data-theme='dark'] .property-form-hero {
  border-color: rgba(138, 175, 202, 0.12);
  background:
    radial-gradient(circle at top right, rgba(91, 140, 168, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(24, 36, 46, 0.96), rgba(18, 28, 36, 0.98));
}

body[data-theme='dark'] .property-form-hero-copy h2,
body[data-theme='dark'] .property-form-section-head h3,
body[data-theme='dark'] .property-form-hero-card strong,
body[data-theme='dark'] .property-form-map-copy strong,
body[data-theme='dark'] .property-form-inline-note strong,
body[data-theme='dark'] .property-form-star-toggle span {
  color: #edf6fc;
}

body[data-theme='dark'] .property-form-hero-copy p,
body[data-theme='dark'] .property-form-section-head p,
body[data-theme='dark'] .property-form-inline-note p,
body[data-theme='dark'] .property-form-map-copy small,
body[data-theme='dark'] .property-form-hero-card span,
body[data-theme='dark'] .property-form-field label,
body[data-theme='dark'] .property-form-upload label {
  color: #a9bfce;
}

body[data-theme='dark'] .property-form-hero-card,
body[data-theme='dark'] .property-form-section,
body[data-theme='dark'] .property-form-star-toggle,
body[data-theme='dark'] .property-form-map-card {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.96), rgba(23, 33, 42, 0.98));
}

body[data-theme='dark'] .property-content-assistant,
body[data-theme='dark'] .property-content-card,
body[data-theme='dark'] .client-presentation-hero,
body[data-theme='dark'] .client-presentation-card {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.96), rgba(23, 33, 42, 0.98));
}

body[data-theme='dark'] .property-content-assistant-head h4,
body[data-theme='dark'] .property-content-card strong,
body[data-theme='dark'] .client-presentation-hero h4,
body[data-theme='dark'] .client-presentation-card h5 {
  color: #e4f2fc;
}

body[data-theme='dark'] .property-content-assistant-head p,
body[data-theme='dark'] .property-content-card p,
body[data-theme='dark'] .property-content-card li,
body[data-theme='dark'] .property-content-card small,
body[data-theme='dark'] .client-presentation-hero p,
body[data-theme='dark'] .client-presentation-card p,
body[data-theme='dark'] .client-presentation-card li,
body[data-theme='dark'] .client-presentation-card small {
  color: #bdd1e1;
}

body[data-theme='dark'] .property-content-mini-btn {
  border-color: #4c667b;
  background: linear-gradient(180deg, #2b4254, #243847);
  color: #d9ecf9;
}

body[data-theme='dark'] .client-presentation-body {
  background: linear-gradient(180deg, rgba(19, 28, 37, 0.98), rgba(15, 23, 31, 0.98));
}

body[data-theme='dark'] .preview-link-strong {
  background: linear-gradient(135deg, #255f8a, #2f7cab);
  border-color: rgba(77, 142, 186, 0.9) !important;
}

body[data-theme='dark'] .property-form-field input:not([type='checkbox']):not([type='radio']),
body[data-theme='dark'] .property-form-field textarea,
body[data-theme='dark'] .property-form-upload input[type='file'] {
  border-color: rgba(138, 175, 202, 0.14);
  background: linear-gradient(180deg, rgba(20, 31, 40, 0.96), rgba(18, 27, 34, 0.98));
}

body[data-theme='dark'] .image-preview-item {
  border-color: rgba(138, 175, 202, 0.14);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.96), rgba(23, 33, 42, 0.98));
}

body[data-theme='dark'] .image-preview-remove {
  background: rgba(9, 19, 28, 0.86);
}

body[data-theme='dark'] .property-form-quick-amenities .mini-btn {
  background: linear-gradient(180deg, #334657, #293948);
  color: #dfebf6;
}

.property-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
}
.property-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(195, 212, 229, 0.92);
  border-radius: 28px;
  padding: 15px 15px 14px;
  display: grid;
  gap: 12px;
  background:
    radial-gradient(circle at top center, rgba(108, 147, 194, 0.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.995), rgba(247,250,253,0.985));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 18px 34px rgba(16, 37, 54, 0.08);
}
.property-card.starred {
  border-color: rgba(128, 177, 125, 0.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 18px 34px rgba(16, 37, 54, 0.08),
    0 0 0 1px rgba(127, 183, 121, 0.18);
}
.property-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.property-card-kicker {
  min-width: 0;
  color: #1f3855;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.property-card-badge {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(202, 215, 231, 0.94);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,248,252,0.96));
  color: #d6a52f;
  box-shadow: 0 10px 18px rgba(23, 47, 70, 0.08);
  flex: 0 0 36px;
}
.property-card-badge.is-active {
  color: #c79318;
  border-color: rgba(225, 188, 98, 0.44);
  box-shadow: 0 10px 18px rgba(179, 131, 28, 0.14);
}
.property-card-badge-icon,
.property-card-inline-icon,
.property-card-ribbon-icon,
.property-card-count-icon,
.property-card-empty-icon,
.property-card-price-icon,
.property-card-meta-icon,
.property-chip-icon,
.property-action-btn-icon {
  display: inline-grid;
  place-items: center;
}
.property-card-badge-icon .app-svg-icon,
.property-card-inline-icon .app-svg-icon,
.property-card-ribbon-icon .app-svg-icon,
.property-card-count-icon .app-svg-icon,
.property-card-empty-icon .app-svg-icon,
.property-card-price-icon .app-svg-icon,
.property-card-meta-icon .app-svg-icon,
.property-chip-icon .app-svg-icon,
.property-action-btn-icon .app-svg-icon {
  width: 18px;
  height: 18px;
}
.property-card-media {
  position: relative;
  min-width: 0;
}
.cover {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  border-radius: 20px;
  border: 1px solid rgba(193, 210, 227, 0.8);
  box-shadow: 0 14px 24px rgba(17, 39, 58, 0.10);
  display: block;
}
.cover-fallback { object-fit: contain; padding: 14px; background: linear-gradient(180deg, #f8fbfe, #eef4f9); }
.cover.placeholder {
  aspect-ratio: 16 / 10;
  min-height: 0;
  display: grid;
  place-items: center;
  gap: 10px;
  color: #60788f;
  border-radius: 20px;
  background:
    radial-gradient(circle at center, rgba(71, 144, 214, 0.10), transparent 34%),
    linear-gradient(180deg, #f8fbfe, #eef4f9);
}
.property-card-empty-icon .app-svg-icon {
  width: 46px;
  height: 46px;
}
.property-card-media-top {
  position: absolute;
  top: 12px;
  right: 12px;
}
.property-card-count-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 11px;
  background: rgba(31, 73, 143, 0.92);
  color: #fff;
  box-shadow: 0 8px 16px rgba(16, 44, 86, 0.20);
  font-size: 11px;
  font-weight: 800;
}
.property-card-count-icon .app-svg-icon {
  width: 14px;
  height: 14px;
  background-color: currentColor;
}
.property-card-body {
  display: grid;
  gap: 10px;
}
.property-card-title {
  margin: 0;
  color: #1c3553;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.property-card-address {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #688097;
  font-size: 12px;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.property-card-inline-icon .app-svg-icon {
  width: 16px;
  height: 16px;
}
.property-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.property-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(244,247,253,0.98), rgba(235,241,248,0.96));
  border: 1px solid rgba(223, 231, 241, 0.98);
  color: #49637d;
  font-size: 11px;
  font-weight: 800;
  max-width: 100%;
}
.property-chip-icon {
  color: #45698c;
}
.property-chip-icon .app-svg-icon {
  width: 16px;
  height: 16px;
}
.property-card-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.property-card-meta {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 14px;
  border: 1px solid rgba(221, 230, 240, 0.95);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,248,252,0.98));
}
.property-card-meta-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: #9fb1c3;
  background: linear-gradient(180deg, rgba(239,244,249,0.98), rgba(232,239,246,0.96));
}
.property-card-meta small,
.property-card-price-copy small {
  display: block;
  color: #8699ab;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 3px;
}
.property-card-meta strong,
.property-card-price-copy strong {
  color: #264668;
  font-size: 13px;
  font-weight: 900;
}
.property-card-meta > div {
  min-width: 0;
  text-align: right;
}
.property-card-price-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 15px;
  background: linear-gradient(180deg, rgba(244,247,251,0.98), rgba(235,241,247,0.98));
  border: 1px solid rgba(215, 225, 237, 0.96);
}
.property-card-price-copy span {
  display: block;
  margin-top: 4px;
  color: #6e8397;
  font-size: 11px;
  font-weight: 700;
}
.property-card-price-copy {
  text-align: right;
}
.property-card-price-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(180deg, #3258b6, #22458d);
  color: #fff;
  box-shadow: 0 14px 22px rgba(33, 68, 137, 0.24);
}
.property-card-price-icon .app-svg-icon {
  width: 18px;
  height: 18px;
}
.property-card-ribbon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(215, 228, 238, 0.95);
  background: linear-gradient(180deg, rgba(248,250,252,0.98), rgba(239,244,248,0.96));
  color: #5e7388;
  font-size: 11px;
  font-weight: 800;
}
.property-card-ribbon.is-featured {
  border-color: rgba(176, 220, 176, 0.64);
  background: linear-gradient(180deg, rgba(241, 252, 243, 0.98), rgba(233, 248, 236, 0.96));
  color: #4f8657;
}
.property-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.property-action-btn {
  min-width: 0;
  min-height: 46px;
  border: none;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 8px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 12px 20px rgba(17, 39, 58, 0.10);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}
.property-action-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
}
.property-action-btn:active {
  transform: translateY(1px);
}
.property-action-btn.is-primary { background: linear-gradient(180deg, #294f9d, #1f3f7d); }
.property-action-btn.is-secondary { background: linear-gradient(180deg, #a9b7c8, #899bad); }
.property-action-btn.is-danger { background: linear-gradient(180deg, #de5a5f, #c93d44); }
.property-action-btn-icon .app-svg-icon {
  width: 18px;
  height: 18px;
}
body[data-theme='dark'] .property-card,
body[data-theme='dark'] .property-card-meta,
body[data-theme='dark'] .property-card-price-row,
body[data-theme='dark'] .property-card-ribbon,
body[data-theme='dark'] .property-chip,
body[data-theme='dark'] .property-card-badge,
body[data-theme='neon-aurora'] .property-card,
body[data-theme='neon-aurora'] .property-card-meta,
body[data-theme='neon-aurora'] .property-card-price-row,
body[data-theme='neon-aurora'] .property-card-ribbon,
body[data-theme='neon-aurora'] .property-chip,
body[data-theme='neon-aurora'] .property-card-badge,
body[data-theme='emerald-glass'] .property-card,
body[data-theme='emerald-glass'] .property-card-meta,
body[data-theme='emerald-glass'] .property-card-price-row,
body[data-theme='emerald-glass'] .property-card-ribbon,
body[data-theme='emerald-glass'] .property-chip,
body[data-theme='emerald-glass'] .property-card-badge,
body[data-theme='dark'] .property-card,
body[data-theme='dark'] .property-card-meta,
body[data-theme='dark'] .property-card-price-row,
body[data-theme='dark'] .property-card-ribbon,
body[data-theme='dark'] .property-chip,
body[data-theme='dark'] .property-card-badge,
body[data-theme='neon-aurora'] .property-card,
body[data-theme='neon-aurora'] .property-card-meta,
body[data-theme='neon-aurora'] .property-card-price-row,
body[data-theme='neon-aurora'] .property-card-ribbon,
body[data-theme='neon-aurora'] .property-chip,
body[data-theme='neon-aurora'] .property-card-badge,
body[data-theme='emerald-glass'] .property-card,
body[data-theme='emerald-glass'] .property-card-meta,
body[data-theme='emerald-glass'] .property-card-price-row,
body[data-theme='emerald-glass'] .property-card-ribbon,
body[data-theme='emerald-glass'] .property-chip,
body[data-theme='emerald-glass'] .property-card-badge {
  border-color: rgba(104, 132, 156, 0.24);
  background: linear-gradient(180deg, rgba(32, 45, 57, 0.98), rgba(24, 34, 43, 0.97));
}
body[data-theme='dark'] .property-card-kicker,
body[data-theme='dark'] .property-card-title,
body[data-theme='dark'] .property-card-meta strong,
body[data-theme='dark'] .property-card-price-copy strong,
body[data-theme='neon-aurora'] .property-card-kicker,
body[data-theme='neon-aurora'] .property-card-title,
body[data-theme='neon-aurora'] .property-card-meta strong,
body[data-theme='neon-aurora'] .property-card-price-copy strong,
body[data-theme='emerald-glass'] .property-card-kicker,
body[data-theme='emerald-glass'] .property-card-title,
body[data-theme='emerald-glass'] .property-card-meta strong,
body[data-theme='emerald-glass'] .property-card-price-copy strong { color: #edf5fb; }
body[data-theme='dark'] .property-card-address,
body[data-theme='dark'] .property-card-meta small,
body[data-theme='dark'] .property-card-price-copy small,
body[data-theme='dark'] .property-card-price-copy span,
body[data-theme='dark'] .property-card-ribbon,
body[data-theme='neon-aurora'] .property-card-address,
body[data-theme='neon-aurora'] .property-card-meta small,
body[data-theme='neon-aurora'] .property-card-price-copy small,
body[data-theme='neon-aurora'] .property-card-price-copy span,
body[data-theme='neon-aurora'] .property-card-ribbon,
body[data-theme='emerald-glass'] .property-card-address,
body[data-theme='emerald-glass'] .property-card-meta small,
body[data-theme='emerald-glass'] .property-card-price-copy small,
body[data-theme='emerald-glass'] .property-card-price-copy span,
body[data-theme='emerald-glass'] .property-card-ribbon { color: #aec3d4; }
body[data-theme='dark'] .property-card-ribbon.is-featured,
body[data-theme='neon-aurora'] .property-card-ribbon.is-featured,
body[data-theme='emerald-glass'] .property-card-ribbon.is-featured {
  background: linear-gradient(180deg, rgba(31, 73, 47, 0.96), rgba(26, 61, 41, 0.94));
  color: #d8f1db;
  border-color: rgba(90, 168, 105, 0.28);
}
.star-btn {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, var(--surface), var(--surface-soft));
  color: #af7f16;
  border-radius: 10px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.star-btn:hover {
  transform: translateY(-1px);
  border-color: #d2a33f;
  box-shadow: 0 6px 14px rgba(178, 130, 33, 0.2);
}

.star-btn:active {
  transform: translateY(0);
}

.star-btn-icon {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

/* Route clicks to the button itself, not inner SVG nodes. */
.star-btn-icon,
.star-btn-icon * {
  pointer-events: none;
}

.star-btn-icon.active {
  filter: drop-shadow(0 2px 5px rgba(176, 128, 22, 0.35));
}

.image-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
.thumb { border: 1px solid var(--border); border-radius: 10px; padding: 8px; background: var(--surface-soft); }
.thumb img { width: 100%; height: 86px; object-fit: cover; border-radius: 8px; margin-bottom: 6px; }
.thumb-remove { width: 100%; border: none; border-radius: 8px; padding: 6px; background: var(--danger); color: #fff; cursor: pointer; }
.password-field { position: relative; }
.password-field input { padding-left: 56px; }
.password-toggle { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); border: none; background: transparent; width: 34px; height: 34px; color: #8f929a; cursor: pointer; display: grid; place-items: center; border-radius: 999px; transition: color 0.18s ease, background-color 0.18s ease; }
.password-toggle .login-toggle-icon { width: 20px; height: 20px; }
.password-toggle { color: var(--primary); }
.password-toggle:hover { color: var(--primary-strong); background: rgba(24, 74, 140, 0.08); }
.password-toggle:focus-visible { outline: 2px solid rgba(24, 74, 140, 0.35); outline-offset: 2px; }
.password-toggle .login-icon-eye-off { display: none; }
.password-toggle.is-visible .login-icon-eye { display: none; }
.password-toggle.is-visible .login-icon-eye-off { display: block; }

/* Keep text away from inline icons in login fields (higher specificity than generic input rule). */
.login-form .login-input-wrap > input[type='text'],
.login-form .login-input-wrap > input[type='password'] {
  padding-inline-end: 72px !important;
  padding-inline-start: 56px !important;
  text-indent: 0 !important;
}

.login-form .login-input-wrap > input#username {
  padding-inline-end: 72px !important;
}

.login-form .login-input-wrap > input#newPanelUsername {
  padding-inline-end: 72px !important;
}

.login-form .login-input-wrap > input#tenantId {
  padding-inline-end: 72px !important;
}

.login-form .login-input-wrap > input#newTenantId {
  padding-inline-end: 72px !important;
}

.login-form .login-input-wrap > input#password {
  padding-inline-end: 72px !important;
}

.login-form .login-input-wrap > input#loginOtp {
  padding-inline-end: 72px !important;
  padding-inline-start: 20px !important;
  direction: ltr;
  text-align: left !important;
  letter-spacing: 0.1em;
}

.login-form .login-input-wrap > input#loginOtp::placeholder {
  direction: ltr !important;
  text-align: left !important;
  letter-spacing: normal;
}

.login-form .login-input-wrap > input#newPanelPassword {
  padding-inline-end: 72px !important;
}

.logs-table { overflow-x: auto; }
.logs-table table { width: 100%; border-collapse: collapse; }
.logs-table th, .logs-table td { border-bottom: 1px solid var(--border); padding: 8px; text-align: right; font-size: 13px; }
.version-note { color: #99a6b2; font-size: 12px; text-align: left; }

.compare-toolbar {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.compare-mobile-kicker,
.compare-step,
.compare-swap-btn,
.compare-mobile-selection-hint,
.compare-mobile-board,
.compare-mobile-empty {
  display: none;
}

.compare-actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.compare-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  padding: 12px;
  display: grid;
  gap: 10px;
}

.compare-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.compare-side-label {
  background: rgba(36, 77, 102, 0.1);
  color: #244d66;
  border: 1px solid rgba(36, 77, 102, 0.2);
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.compare-star {
  color: #b3871f;
  font-size: 18px;
}

.compare-title {
  margin: 0;
  font-size: 18px;
}

.compare-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--border);
}
.compare-image-fallback {
  object-fit: contain;
  padding: 16px;
  background: linear-gradient(180deg, #f8fbfe, #eef4f9);
}

.compare-image-placeholder {
  display: grid;
  place-items: center;
  color: var(--muted);
  background: var(--surface-soft);
}

.compare-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.compare-kv div {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-soft);
  padding: 8px 10px;
  display: grid;
  gap: 4px;
}

.compare-kv strong {
  font-size: 12px;
  color: var(--muted);
}

.compare-address p {
  margin: 6px 0 0;
  color: var(--muted);
}

@media (max-width: 980px) {
  .compare-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .compare-page {
    gap: 14px;
  }

  .card.compare-picker-card {
    position: relative;
    overflow: hidden;
    padding: 20px 16px 16px;
    border: 1px solid rgba(91, 142, 180, 0.2);
    border-radius: 24px;
    background:
      radial-gradient(circle at 4% 0%, rgba(113, 173, 218, 0.18), transparent 34%),
      linear-gradient(160deg, var(--surface) 0%, rgba(238, 246, 252, 0.96) 100%);
    box-shadow: 0 16px 36px rgba(28, 67, 98, 0.1);
  }

  .compare-picker-card::before {
    content: '';
    position: absolute;
    top: -54px;
    left: -42px;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(71, 130, 174, 0.11);
    border-radius: 50%;
    pointer-events: none;
  }

  .compare-mobile-kicker {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(36, 77, 102, 0.09);
    color: #285b7f;
    font-size: 10px;
    font-weight: 900;
  }

  .compare-picker-card > h3 {
    margin: 0;
    color: var(--text);
    font-size: 21px;
    letter-spacing: -0.025em;
  }

  .compare-picker-card > p {
    margin: 7px 0 0;
    max-width: 92%;
    font-size: 12px;
    line-height: 1.8;
  }

  .compare-toolbar {
    position: relative;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
  }

  .compare-select-field {
    padding: 12px;
    border: 1px solid rgba(97, 139, 171, 0.19);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
  }

  .compare-select-field label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: var(--text);
    font-size: 12px;
    font-weight: 900;
  }

  .compare-step {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 9px;
    background: linear-gradient(145deg, #326b93, #244d66);
    color: #fff;
    box-shadow: 0 6px 12px rgba(36, 77, 102, 0.2);
    font-size: 11px;
  }

  .compare-select-field select {
    min-height: 50px;
    border-radius: 14px;
    background-color: var(--surface);
    font-size: 13px;
    font-weight: 700;
  }

  .compare-swap-btn {
    display: grid;
    place-items: center;
    justify-self: center;
    z-index: 2;
    width: 42px;
    height: 42px;
    margin-block: -15px;
    border: 5px solid rgba(239, 246, 251, 0.98);
    border-radius: 50%;
    background: linear-gradient(145deg, #316d97, #1f4f70);
    color: #fff;
    box-shadow: 0 10px 20px rgba(30, 72, 103, 0.25);
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .compare-swap-btn:active {
    transform: rotate(180deg) scale(0.94);
    box-shadow: 0 5px 12px rgba(30, 72, 103, 0.2);
  }

  .compare-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-top: 4px;
  }

  .compare-actions .btn {
    min-height: 48px;
    border-radius: 15px;
    font-size: 12px;
  }

  .compare-actions .btn-secondary {
    width: 52px;
    overflow: hidden;
    padding-inline: 0;
    color: transparent;
    font-size: 0;
  }

  .compare-actions .btn-secondary::before {
    content: '↻';
    color: var(--text);
    font-size: 22px;
  }

  .compare-mobile-selection-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 9px 11px;
    border-radius: 13px;
    background: rgba(36, 77, 102, 0.06);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.7;
  }

  .compare-mobile-selection-hint::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #d29b36;
    box-shadow: 0 0 0 4px rgba(210, 155, 54, 0.12);
  }

  .compare-mobile-selection-hint.is-ready::before {
    background: #2f9b69;
    box-shadow: 0 0 0 4px rgba(47, 155, 105, 0.12);
  }

  .card.compare-result-card {
    padding: 0;
    overflow: hidden;
    border: none;
    border-radius: 24px;
    background: transparent;
    box-shadow: none;
  }

  .compare-grid-desktop,
  .compare-desktop-empty {
    display: none !important;
  }

  .compare-mobile-empty {
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 34px 22px;
    border: 1px dashed rgba(92, 133, 164, 0.34);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(241,247,251,0.82));
    text-align: center;
  }

  .compare-mobile-empty-icon {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    margin-bottom: 3px;
    border-radius: 17px;
    background: rgba(36, 77, 102, 0.09);
    color: #285b7f;
    font-size: 25px;
  }

  .compare-mobile-empty strong {
    color: var(--text);
    font-size: 15px;
  }

  .compare-mobile-empty p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.8;
  }

  .compare-mobile-board {
    display: block;
    overflow: hidden;
    border: 1px solid rgba(89, 131, 162, 0.2);
    border-radius: 24px;
    background: var(--surface);
    box-shadow: 0 18px 42px rgba(22, 55, 80, 0.12);
  }

  .compare-mobile-board-head {
    position: sticky;
    top: 0;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 10px;
    background: rgba(242, 247, 251, 0.96);
    backdrop-filter: blur(16px);
  }

  .compare-mobile-property-head {
    position: relative;
    min-width: 0;
    padding: 8px;
    border-radius: 17px;
    background: var(--surface);
    box-shadow: 0 6px 16px rgba(26, 64, 93, 0.07);
  }

  .compare-mobile-property-head + .compare-mobile-property-head {
    margin-inline-start: 7px;
  }

  .compare-mobile-property-head img {
    width: 100%;
    height: 92px;
    margin-bottom: 8px;
    border-radius: 13px;
    object-fit: cover;
    background: var(--surface-soft);
  }

  .compare-mobile-property-index {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    padding: 4px 7px;
    border-radius: 8px;
    background: rgba(26, 72, 105, 0.88);
    color: #fff;
    font-size: 8px;
    font-weight: 900;
    backdrop-filter: blur(6px);
  }

  .compare-mobile-property-index.is-second {
    background: rgba(40, 126, 104, 0.9);
  }

  .compare-mobile-property-head strong {
    display: block;
    overflow: hidden;
    color: var(--text);
    font-size: 12px;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .compare-mobile-property-head small {
    display: block;
    overflow: hidden;
    margin-top: 2px;
    color: var(--muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .compare-mobile-metrics {
    padding: 2px 10px 10px;
  }

  .compare-mobile-metric {
    padding: 11px 7px;
    border-top: 1px solid var(--border);
  }

  .compare-mobile-metric-label {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
    text-align: center;
  }

  .compare-mobile-metric-values {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .compare-mobile-metric-values > span {
    min-width: 0;
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .compare-mobile-metric-values > span + span {
    position: relative;
  }

  .compare-mobile-metric-values > span + span::before {
    content: '';
    position: absolute;
    top: 2px;
    bottom: 2px;
    right: -8px;
    width: 1px;
    background: var(--border);
  }

  .compare-mobile-metric-values small {
    color: var(--muted);
    font-size: 8px;
    font-weight: 700;
  }

  .compare-mobile-metric.is-primary {
    margin: 3px 0 5px;
    border: 1px solid rgba(43, 117, 91, 0.14);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(44, 135, 101, 0.08), rgba(52, 105, 145, 0.06));
  }

  .compare-mobile-metric.is-primary .compare-mobile-metric-values > span {
    color: #1d674d;
    font-size: 13px;
  }

  .compare-mobile-metric.is-multiline .compare-mobile-metric-values > span {
    font-size: 10px;
    font-weight: 650;
    line-height: 1.8;
  }

  .compare-mobile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 10px calc(12px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--border);
    background: var(--surface-soft);
  }

  .compare-mobile-actions > div {
    display: grid;
    gap: 7px;
  }

  .compare-mobile-actions .btn {
    width: 100%;
    min-width: 0;
    min-height: 43px;
    padding-inline: 7px;
    border-radius: 13px;
    font-size: 10px;
  }

  body[data-theme='dark'] .compare-picker-card,
  body[data-theme='neon-aurora'] .compare-picker-card,
  body[data-theme='emerald-glass'] .compare-picker-card {
    border-color: rgba(137, 178, 207, 0.16);
    background:
      radial-gradient(circle at 4% 0%, rgba(72, 145, 194, 0.17), transparent 35%),
      linear-gradient(160deg, var(--surface) 0%, rgba(19, 36, 49, 0.97) 100%);
  }

  body[data-theme='dark'] .compare-select-field,
  body[data-theme='neon-aurora'] .compare-select-field,
  body[data-theme='emerald-glass'] .compare-select-field {
    border-color: rgba(137, 178, 207, 0.14);
    background: rgba(17, 32, 44, 0.68);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  }

  body[data-theme='dark'] .compare-swap-btn,
  body[data-theme='neon-aurora'] .compare-swap-btn,
  body[data-theme='emerald-glass'] .compare-swap-btn {
    border-color: rgba(20, 36, 48, 0.98);
  }

  body[data-theme='dark'] .compare-mobile-empty,
  body[data-theme='neon-aurora'] .compare-mobile-empty,
  body[data-theme='emerald-glass'] .compare-mobile-empty {
    border-color: rgba(137, 178, 207, 0.22);
    background: linear-gradient(180deg, rgba(22, 39, 52, 0.84), rgba(16, 30, 41, 0.86));
  }

  body[data-theme='dark'] .compare-mobile-board-head,
  body[data-theme='neon-aurora'] .compare-mobile-board-head,
  body[data-theme='emerald-glass'] .compare-mobile-board-head {
    background: rgba(18, 33, 44, 0.94);
  }

  body[data-theme='dark'] .compare-mobile-metric.is-primary,
  body[data-theme='neon-aurora'] .compare-mobile-metric.is-primary,
  body[data-theme='emerald-glass'] .compare-mobile-metric.is-primary {
    border-color: rgba(78, 178, 139, 0.18);
    background: linear-gradient(135deg, rgba(44, 135, 101, 0.14), rgba(52, 105, 145, 0.12));
  }

  body[data-theme='dark'] .compare-mobile-metric.is-primary .compare-mobile-metric-values > span,
  body[data-theme='neon-aurora'] .compare-mobile-metric.is-primary .compare-mobile-metric-values > span,
  body[data-theme='emerald-glass'] .compare-mobile-metric.is-primary .compare-mobile-metric-values > span {
    color: #82d7b6;
  }
}

.blocked-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  place-items: center;
  background: rgba(14, 20, 28, 0.55);
  backdrop-filter: blur(3px);
}

.blocked-delete-modal.hidden {
  display: none;
}

.blocked-delete-card {
  width: min(92vw, 420px);
  border-radius: 16px;
  border: 1px solid rgba(196, 63, 63, 0.22);
  background: #fff;
  box-shadow: 0 20px 40px rgba(19, 30, 42, 0.35);
  padding: 20px 18px 16px;
  text-align: center;
  direction: rtl;
  position: relative;
}

.blocked-delete-close {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid #e0e7ee;
  background: #f6f9fc;
  color: #607181;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.blocked-delete-icon-wrap {
  width: 72px;
  height: 72px;
  margin: 4px auto 10px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 30% 30%, #ffe9e9 0%, #ffdede 36%, #ffd3d3 100%);
  box-shadow: inset 0 0 0 1px #ffc2c2, 0 10px 20px rgba(177, 51, 51, 0.2);
  animation: blocked-pop 0.45s ease-out;
}

.blocked-delete-icon {
  width: 36px;
  height: 36px;
  fill: #cc2f2f;
  animation: blocked-pulse 1.2s ease-in-out infinite;
}

.blocked-delete-card h3 {
  margin: 4px 0 8px;
  font-size: 21px;
  color: #1f2e3d;
}

.blocked-delete-card p {
  margin: 0;
  color: #5a6d7d;
  line-height: 1.9;
  font-size: 14px;
}

.blocked-delete-card .row-actions {
  justify-content: center;
  margin-top: 14px;
}

body[data-theme='dark'] .blocked-delete-card {
  background: #25313d;
  border-color: rgba(219, 106, 106, 0.24);
}

body[data-theme='dark'] .blocked-delete-close {
  border-color: #42556a;
  background: #2d3b48;
  color: #c6d3df;
}

body[data-theme='dark'] .blocked-delete-card h3 {
  color: #ecf2f8;
}

body[data-theme='dark'] .blocked-delete-card p {
  color: #c4d0db;
}

@keyframes blocked-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}

@keyframes blocked-pop {
  0% { transform: scale(0.88); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.note, .muted { color: var(--muted); font-size: 14px; }
.commission-result-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(54, 101, 136, 0.14);
  background: linear-gradient(180deg, rgba(246, 251, 255, 0.98), rgba(238, 246, 252, 0.96));
}

.commission-result-head {
  display: grid;
  gap: 4px;
}

.commission-result-head strong {
  color: var(--text);
  font-size: 16px;
}

.commission-result-head span,
.commission-result-meta,
.commission-result-item span {
  color: var(--muted);
  font-size: 13px;
}

.commission-result-grid {
  display: grid;
  gap: 10px;
}

.commission-result-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(92, 134, 164, 0.12);
}

.commission-result-item strong {
  color: var(--text);
  font-size: 14px;
  text-align: left;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  direction: ltr;
  unicode-bidi: plaintext;
  font-variant-numeric: tabular-nums;
}

.commission-result-value {
  direction: ltr;
  unicode-bidi: plaintext;
  letter-spacing: 0.02em;
}

.commission-result-currency {
  direction: rtl;
  unicode-bidi: plaintext;
  white-space: nowrap;
}
.error { color: var(--danger); margin-top: 10px; font-size: 14px; }
.contact-actions { margin-top: 12px; display: flex; gap: 10px; flex-wrap: wrap; }
.result-box { margin-top: 10px; }
.result-box.muted {
  color: var(--muted);
  font-size: 14px;
}
.result-box.error {
  color: var(--danger);
  font-size: 14px;
}
.result-box.success {
  color: #1f7a52;
  font-size: 14px;
}
body[data-theme='dark'] .result-box.success { color: #8ce0b8; }
.map-picker-wrap { margin-top: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 10px; }
.map-picker-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; color: var(--muted); font-size: 13px; }
.map-picker-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.search-address-submit-row { margin-top: -2px; margin-bottom: 2px; }
.search-address-submit-row .btn { width: 100%; }
.search-map-launcher {
  padding: 14px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(85, 151, 196, 0.1), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 253, 0.98));
  box-shadow: 0 16px 34px rgba(24, 40, 54, 0.06);
}
.search-map-launcher-card { margin-bottom: 8px; }
.search-map-launcher-hint { padding-inline: 2px; }
.search-map-wrap {
  padding: 14px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top right, rgba(85, 151, 196, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 250, 253, 0.96));
  box-shadow: 0 16px 34px rgba(24, 40, 54, 0.08);
}
.search-map-wrap.has-selection {
  border-color: rgba(36, 105, 150, 0.36);
  box-shadow: 0 18px 38px rgba(24, 67, 101, 0.12);
}
.search-map-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.search-map-selection-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.1px;
  border: 1px solid transparent;
}
.search-map-selection-badge[data-state='empty'] {
  background: rgba(109, 127, 144, 0.12);
  color: #58697a;
  border-color: rgba(109, 127, 144, 0.18);
}
.search-map-selection-badge[data-state='selected'] {
  background: rgba(42, 130, 86, 0.12);
  color: #21623f;
  border-color: rgba(42, 130, 86, 0.22);
}
.search-map-status-card {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(237, 245, 250, 0.96));
}
.search-map-status-copy {
  display: grid;
  gap: 5px;
}
.search-map-status-copy strong {
  font-size: 15px;
  color: var(--text);
}
.search-map-status-copy p {
  margin: 0;
  color: #5d7184;
  font-size: 13px;
  line-height: 1.8;
}
.search-map-status-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.search-map-meta-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.08);
  color: #32546c;
  font-size: 12px;
  font-weight: 700;
}
.leaflet-map { width: 100%; height: 280px; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); transition: height 0.25s ease; }
.search-map-wrap .leaflet-map {
  border-radius: 16px;
  border-color: rgba(36, 77, 102, 0.16);
}
.search-map-wrap.is-expanded .leaflet-map { height: 460px; }
.search-map-controls {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  padding: 12px 14px 8px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.1);
  background: rgba(255, 255, 255, 0.78);
}
.search-map-radius-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.search-map-radius-row label {
  font-size: 13px;
  font-weight: 700;
  color: #35556d;
}
.search-map-radius-row strong {
  font-size: 14px;
  color: #1d445f;
}
#searchRadiusRange {
  width: 100%;
  accent-color: #2f6fb3;
  cursor: pointer;
}
.search-map-presets {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.search-map-preset {
  border: 1px solid rgba(36, 77, 102, 0.14);
  background: rgba(244, 248, 251, 0.95);
  color: #35556d;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.search-map-preset:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(27, 49, 69, 0.08);
}
.search-map-preset.active {
  background: linear-gradient(180deg, #244d66, #1d4157);
  color: #fff;
  border-color: #244d66;
  box-shadow: 0 10px 20px rgba(36, 77, 102, 0.18);
}
.search-map-hint {
  margin: 0;
  color: #627587;
  font-size: 12px;
  line-height: 1.8;
}
.property-type-marker-wrap { background: transparent; border: none; }
.property-type-marker {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  box-shadow: 0 6px 16px rgba(25, 38, 49, 0.28);
  display: grid;
  place-items: center;
}
.property-type-marker::after {
  content: '';
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  background: inherit;
}
.property-type-marker svg { width: 24px; height: 24px; fill: #fff; }
.property-type-marker.type-villa { background: #2e8b57; }
.property-type-marker.type-apartment { background: #2f6fb3; }
.property-type-marker.type-land { background: #9a6d2f; }
.property-type-marker.type-default { background: #5b6470; }
.property-map-popup .leaflet-popup-content-wrapper {
  border-radius: 16px;
  padding: 0;
  border: 1px solid rgba(36, 77, 102, 0.18);
  box-shadow: 0 16px 34px rgba(20, 31, 42, 0.24);
  overflow: hidden;
  direction: rtl;
  text-align: right;
  font-family: 'Vazirmatn', sans-serif;
}
.neshan-property-popup .maplibregl-popup-content {
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(36, 77, 102, 0.18);
  border-radius: 16px;
  box-shadow: 0 16px 34px rgba(20, 31, 42, 0.24);
  direction: rtl;
  text-align: right;
}
.neshan-property-popup .maplibregl-popup-close-button {
  top: 6px;
  right: auto;
  left: 6px;
  z-index: 2;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #26394a;
  font-size: 20px;
}
.property-map-popup .leaflet-popup-content {
  margin: 0;
  width: 224px !important;
  direction: rtl;
  text-align: right;
  font-family: 'Vazirmatn', sans-serif;
}
.property-map-popup .leaflet-popup-tip {
  background: var(--surface);
  border: 1px solid rgba(36, 77, 102, 0.18);
  box-shadow: 0 6px 14px rgba(20, 31, 42, 0.2);
}
.property-map-popup .leaflet-popup-close-button {
  left: 8px !important;
  right: auto !important;
}
.property-map-popup .leaflet-popup-close-button {
  width: 28px;
  height: 28px;
  line-height: 24px;
  font-size: 18px;
  color: #6f8090;
  border-radius: 8px;
  margin: 6px 6px 0 0;
}
.property-map-popup .leaflet-popup-close-button:hover {
  color: #244d66;
  background: rgba(36, 77, 102, 0.08);
}
.map-popup { display: grid; background: var(--surface); }
.map-popup-mobile-media-label,
.map-popup-mobile-icon,
.map-popup-mobile-address-icon,
.map-popup-mobile-action-icon,
.map-popup-mobile-action {
  display: none;
}
.map-popup, .map-popup * {
  font-family: 'Vazirmatn', sans-serif;
  direction: rtl;
  text-align: right;
}
.map-popup-body { display: grid; gap: 8px; padding: 9px 10px 0; }
.map-popup-top {
  display: grid;
  gap: 7px;
}
.map-popup-title {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--text);
  font-weight: 700;
}
.map-popup-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.map-popup-badge {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  border: 1px solid transparent;
}
.map-popup-badge.type {
  background: rgba(47, 111, 179, 0.12);
  color: #1f598f;
  border-color: rgba(47, 111, 179, 0.24);
}
.map-popup-badge.status {
  background: rgba(46, 139, 87, 0.12);
  color: #236e47;
  border-color: rgba(46, 139, 87, 0.24);
}
.map-popup-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.map-popup-row { display: grid; gap: 3px; }
.map-popup-address {
  margin: 0;
  font-size: 11px;
  color: #5b6d7f;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.map-popup-meta-chip {
  min-height: 26px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(36, 77, 102, 0.06);
  color: #436176;
  font-size: 10px;
  font-weight: 700;
}
.map-popup-price {
  margin: 0;
  color: #1f3546;
  font-weight: 800;
  font-size: 13px;
}
.map-popup-image {
  width: 100%;
  height: 94px;
  border-radius: 0;
  object-fit: cover;
  border: none;
  background: var(--surface-soft);
}
.map-popup-image[src$="homeflow.png"] {
  object-fit: contain;
  padding: 10px;
  background: linear-gradient(180deg, #f8fbfe 0%, #eef4f9 100%);
}
.map-popup-image.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6d7f90;
  font-size: 13px;
  background: linear-gradient(180deg, #eef2f6 0%, #e5ebf1 100%);
}
.map-popup-footer { padding: 8px 10px 10px; }
.map-popup-btn {
  width: 100%;
  min-height: 34px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1px;
  box-shadow: 0 6px 14px rgba(36, 77, 102, 0.2);
  font-family: 'Vazirmatn', sans-serif;
}
.map-popup-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(36, 77, 102, 0.24);
}

@media (max-width: 600px) {
  .property-map-popup .leaflet-popup-content {
    width: 196px !important;
  }

  .property-map-popup .leaflet-popup-content-wrapper {
    border-radius: 14px;
  }

  .map-popup-body {
    gap: 7px;
    padding: 8px 9px 0;
  }

  .map-popup-title {
    font-size: 14px;
  }

  .map-popup-image {
    height: 82px;
  }

  .map-popup-address {
    font-size: 10px;
  }

  .map-popup-price {
    font-size: 12px;
  }

  .map-popup-btn {
    min-height: 32px;
    font-size: 11px;
  }

  .map-popup-footer {
    padding: 8px 9px 9px;
  }
}
.search-map-modal {
  position: fixed;
  inset: 0;
  background: rgba(10, 17, 26, 0.56);
  backdrop-filter: blur(2px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2400;
  padding: 18px;
}
.search-map-modal.hidden { display: none; }
.search-map-modal-card {
  width: min(96vw, 1320px);
  height: min(92vh, 860px);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 22px 48px rgba(10, 20, 30, 0.35);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  position: relative;
}
.search-map-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(36, 77, 102, 0.08), rgba(36, 77, 102, 0.02));
}
.search-map-modal-head h3 {
  margin: 0;
  font-size: 17px;
  color: var(--text);
}
.search-map-modal-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.search-map-modal-actions .btn-with-icon {
  gap: 8px;
}
.search-map-modal-actions .app-svg-icon {
  width: 16px;
  height: 16px;
}
.search-map-modal-canvas {
  height: 100% !important;
  border: none;
  border-radius: 0;
}
.neshan-hybrid-host {
  position: relative;
  overflow: hidden;
  background: #e9eef0;
}
.neshan-maplibre-base,
.neshan-leaflet-overlay {
  position: absolute !important;
  inset: 0;
  width: 100%;
  height: 100%;
}
.neshan-maplibre-base {
  opacity: 0;
  transition: opacity 280ms ease;
}
.neshan-maplibre-base.is-ready {
  opacity: 1;
}
.neshan-maplibre-base .maplibregl-control-container {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}
.neshan-maplibre-base .maplibregl-marker,
.neshan-maplibre-base .maplibregl-popup {
  z-index: 2;
  pointer-events: auto;
}
.neshan-leaflet-overlay {
  z-index: 1;
  background: transparent !important;
}
.neshan-hybrid-host.has-property-popup .neshan-maplibre-base {
  z-index: 4;
}
.neshan-hybrid-host.has-property-popup .neshan-leaflet-overlay {
  pointer-events: none;
}
.neshan-hybrid-host.has-property-popup .neshan-property-popup,
.neshan-hybrid-host.has-property-popup .neshan-property-popup .maplibregl-popup-content,
.neshan-hybrid-host.has-property-popup .neshan-property-popup .map-popup-btn {
  pointer-events: auto !important;
}
.neshan-leaflet-overlay .leaflet-map-pane,
.neshan-leaflet-overlay .leaflet-tile-pane {
  background: transparent !important;
}
.search-map-results-panel {
  position: absolute;
  top: 84px;
  bottom: 18px;
  right: 14px;
  z-index: 510;
  width: min(31vw, 360px);
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: 18px;
  border: 1px solid rgba(36, 77, 102, 0.16);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 34px rgba(10, 20, 30, 0.2);
  overflow: hidden;
  backdrop-filter: blur(7px);
}
.search-map-results-head {
  display: grid;
  gap: 5px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(36, 77, 102, 0.12);
}
.search-map-sheet-grabber {
  width: 48px;
  height: 5px;
  margin: -2px auto 2px;
  border-radius: 999px;
  background: rgba(90, 111, 129, 0.32);
}
.search-map-sheet-grabber .app-svg-icon {
  display: none;
}
.search-map-results-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.search-map-results-head h4 {
  margin: 0;
  font-size: 15px;
  color: var(--text);
}
.search-map-sheet-toggle {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 12px;
  background: rgba(247, 250, 253, 0.94);
  color: #35556d;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.search-map-sheet-toggle:hover {
  background: rgba(236, 244, 250, 0.98);
}
.search-map-sheet-toggle-icon {
  width: 18px;
  height: 18px;
  fill: currentColor;
  transition: transform 0.22s ease;
}
@media (min-width: 769px) {
  .search-map-sheet-grabber,
  .search-map-sheet-toggle {
    display: none;
  }
}
.search-map-results-head span {
  font-size: 12px;
  color: #5f7386;
}
.search-map-results-list {
  overflow: auto;
  padding: 12px;
  display: grid;
  gap: 10px;
  align-content: start;
  grid-auto-rows: max-content;
}
.search-map-mobile-drag-hint,
.search-map-mobile-title-icon,
.search-map-mobile-title-caption,
.search-map-mobile-state-label,
.search-map-mobile-list-intro,
.search-map-mobile-distance,
.search-map-mobile-area,
.search-map-mobile-action-arrow,
.search-map-result-price > small,
.search-map-empty-icon,
.search-map-empty-state > strong,
.search-map-empty-state > p {
  display: none;
}
.search-map-empty-state {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #6a7c8d;
  font-size: 13px;
  line-height: 1.9;
  border: 1px dashed rgba(36, 77, 102, 0.16);
  border-radius: 14px;
  padding: 16px;
  background: rgba(241, 246, 250, 0.86);
}
.search-map-result-card {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background:
    radial-gradient(circle at top right, rgba(74, 163, 216, 0.1), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 253, 0.94));
  box-shadow: 0 12px 22px rgba(18, 32, 45, 0.08);
  align-self: start;
}
.search-map-result-thumb {
  width: 100%;
  height: 96px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background: var(--surface-soft);
}
.search-map-result-thumb[src$="homeflow.png"] {
  object-fit: contain;
  padding: 10px;
  background: linear-gradient(180deg, #f8fbfe, #eef4f9);
}
.search-map-result-thumb.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6a7c8d;
  font-size: 12px;
}
.search-map-result-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.search-map-result-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.search-map-result-top strong {
  font-size: 15px;
  color: var(--text);
  line-height: 1.6;
}
.search-map-result-top span {
  white-space: nowrap;
  font-size: 11px;
  color: #21623f;
  background: rgba(42, 130, 86, 0.1);
  border-radius: 999px;
  padding: 4px 8px;
}
.search-map-result-tags {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.search-map-result-tags span {
  font-size: 11px;
  color: #35556d;
  background: rgba(36, 77, 102, 0.08);
  border-radius: 999px;
  padding: 4px 8px;
}
.search-map-result-body p {
  margin: 0;
  font-size: 12px;
  color: #5f7386;
  line-height: 1.8;
}
.search-map-result-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.search-map-result-bottom b {
  font-size: 14px;
  color: #1d445f;
}
.search-map-result-bottom .btn {
  min-height: 38px;
  padding: 8px 14px;
  font-size: 12px;
  border-radius: 12px;
}
.search-map-legend {
  position: absolute;
  top: 84px;
  right: 14px;
  z-index: 500;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(36, 77, 102, 0.22);
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(10, 20, 30, 0.2);
  padding: 8px 10px;
  min-width: 170px;
  backdrop-filter: blur(3px);
}
.search-map-legend-title {
  margin: 0 0 6px;
  color: #244d66;
  font-size: 12px;
  font-weight: 700;
}
.search-map-legend-items { display: grid; gap: 6px; }
.search-map-legend-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #2b3b49;
  font-weight: 600;
}
.legend-icon {
  width: 24px;
  height: 24px;
  border-width: 1px;
  box-shadow: 0 3px 8px rgba(15, 27, 39, 0.22);
  flex: 0 0 24px;
}
.legend-icon::after { display: none; }
.legend-icon .app-svg-icon { width: 14px; height: 14px; }

body[data-theme='dark'] .search-map-wrap,
body[data-theme='dark'] .search-map-launcher,
body[data-theme='neon-aurora'] .search-map-wrap,
body[data-theme='neon-aurora'] .search-map-launcher,
body[data-theme='sunset-flow'] .search-map-wrap,
body[data-theme='sunset-flow'] .search-map-launcher,
body[data-theme='emerald-glass'] .search-map-wrap,
body[data-theme='emerald-glass'] .search-map-launcher {
  background:
    radial-gradient(circle at top right, rgba(98, 163, 208, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(25, 35, 45, 0.94), rgba(20, 29, 38, 0.98));
}
body[data-theme='dark'] .search-map-status-card,
body[data-theme='neon-aurora'] .search-map-status-card,
body[data-theme='sunset-flow'] .search-map-status-card,
body[data-theme='emerald-glass'] .search-map-status-card,
body[data-theme='dark'] .search-map-results-panel,
body[data-theme='neon-aurora'] .search-map-results-panel,
body[data-theme='sunset-flow'] .search-map-results-panel,
body[data-theme='emerald-glass'] .search-map-results-panel,
body[data-theme='dark'] .search-map-controls,
body[data-theme='neon-aurora'] .search-map-controls,
body[data-theme='sunset-flow'] .search-map-controls,
body[data-theme='emerald-glass'] .search-map-controls,
body[data-theme='dark'] .search-map-legend,
body[data-theme='neon-aurora'] .search-map-legend,
body[data-theme='sunset-flow'] .search-map-legend,
body[data-theme='emerald-glass'] .search-map-legend,
body[data-theme='dark'] .search-map-sheet-toggle,
body[data-theme='neon-aurora'] .search-map-sheet-toggle,
body[data-theme='sunset-flow'] .search-map-sheet-toggle,
body[data-theme='emerald-glass'] .search-map-sheet-toggle {
  background: rgba(23, 33, 43, 0.92);
  border-color: rgba(126, 162, 191, 0.18);
}
body[data-theme='dark'] .search-map-modal-head,
body[data-theme='neon-aurora'] .search-map-modal-head,
body[data-theme='sunset-flow'] .search-map-modal-head,
body[data-theme='emerald-glass'] .search-map-modal-head {
  background: linear-gradient(180deg, rgba(19, 29, 39, 0.96), rgba(19, 29, 39, 0.84));
}
body[data-theme='dark'] .search-map-status-copy p,
body[data-theme='dark'] .search-map-hint,
body[data-theme='dark'] .search-map-legend-item,
body[data-theme='dark'] .search-map-results-head span,
body[data-theme='dark'] .search-map-result-body p,
body[data-theme='neon-aurora'] .search-map-status-copy p,
body[data-theme='neon-aurora'] .search-map-hint,
body[data-theme='neon-aurora'] .search-map-legend-item,
body[data-theme='neon-aurora'] .search-map-results-head span,
body[data-theme='neon-aurora'] .search-map-result-body p,
body[data-theme='sunset-flow'] .search-map-status-copy p,
body[data-theme='sunset-flow'] .search-map-hint,
body[data-theme='sunset-flow'] .search-map-legend-item,
body[data-theme='sunset-flow'] .search-map-results-head span,
body[data-theme='sunset-flow'] .search-map-result-body p,
body[data-theme='emerald-glass'] .search-map-status-copy p,
body[data-theme='emerald-glass'] .search-map-hint,
body[data-theme='emerald-glass'] .search-map-legend-item,
body[data-theme='emerald-glass'] .search-map-results-head span,
body[data-theme='emerald-glass'] .search-map-result-body p {
  color: #c8d8e6;
}
body[data-theme='dark'] .search-map-selection-badge[data-state='empty'],
body[data-theme='neon-aurora'] .search-map-selection-badge[data-state='empty'],
body[data-theme='sunset-flow'] .search-map-selection-badge[data-state='empty'],
body[data-theme='emerald-glass'] .search-map-selection-badge[data-state='empty'] {
  background: rgba(133, 154, 172, 0.14);
  color: #d2dfeb;
}
body[data-theme='dark'] .search-map-meta-chip,
body[data-theme='neon-aurora'] .search-map-meta-chip,
body[data-theme='sunset-flow'] .search-map-meta-chip,
body[data-theme='emerald-glass'] .search-map-meta-chip,
body[data-theme='dark'] .search-map-preset,
body[data-theme='neon-aurora'] .search-map-preset,
body[data-theme='sunset-flow'] .search-map-preset,
body[data-theme='emerald-glass'] .search-map-preset {
  background: rgba(36, 54, 70, 0.92);
  color: #d9e7f4;
  border-color: rgba(126, 162, 191, 0.18);
}
body[data-theme='dark'] .search-map-radius-row label,
body[data-theme='dark'] .search-map-radius-row strong,
body[data-theme='dark'] .search-map-legend-title,
body[data-theme='dark'] .search-map-results-head h4,
body[data-theme='dark'] .search-map-result-top strong,
body[data-theme='dark'] .search-map-result-bottom b,
body[data-theme='dark'] .search-map-sheet-toggle,
body[data-theme='dark'] .search-map-legend-title,
body[data-theme='neon-aurora'] .search-map-radius-row label,
body[data-theme='neon-aurora'] .search-map-radius-row strong,
body[data-theme='neon-aurora'] .search-map-legend-title,
body[data-theme='neon-aurora'] .search-map-results-head h4,
body[data-theme='neon-aurora'] .search-map-result-top strong,
body[data-theme='neon-aurora'] .search-map-result-bottom b,
body[data-theme='neon-aurora'] .search-map-sheet-toggle,
body[data-theme='sunset-flow'] .search-map-radius-row label,
body[data-theme='sunset-flow'] .search-map-radius-row strong,
body[data-theme='sunset-flow'] .search-map-legend-title,
body[data-theme='sunset-flow'] .search-map-results-head h4,
body[data-theme='sunset-flow'] .search-map-result-top strong,
body[data-theme='sunset-flow'] .search-map-result-bottom b,
body[data-theme='sunset-flow'] .search-map-sheet-toggle,
body[data-theme='emerald-glass'] .search-map-radius-row label,
body[data-theme='emerald-glass'] .search-map-radius-row strong,
body[data-theme='emerald-glass'] .search-map-legend-title,
body[data-theme='emerald-glass'] .search-map-results-head h4,
body[data-theme='emerald-glass'] .search-map-result-top strong,
body[data-theme='emerald-glass'] .search-map-result-bottom b,
body[data-theme='emerald-glass'] .search-map-sheet-toggle {
  color: #eef6ff;
}

body[data-theme='dark'] .search-map-legend-item,
body[data-theme='neon-aurora'] .search-map-legend-item,
body[data-theme='sunset-flow'] .search-map-legend-item,
body[data-theme='emerald-glass'] .search-map-legend-item {
  background: rgba(30, 44, 56, 0.88);
  border-color: rgba(126, 162, 191, 0.14);
}

.trash-grid { display: grid; gap: 10px; }
.trash-item { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 10px; }
.trash-item h4 { margin-bottom: 6px; }

.app-booting,
body.is-loading {
  overflow: hidden;
}

.app-boot-splash {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(20px, 4vw, 40px);
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(138, 177, 211, 0.2), transparent 26%),
    radial-gradient(circle at bottom left, rgba(36, 77, 102, 0.24), transparent 28%),
    linear-gradient(180deg, #0d141b 0%, #16212b 48%, #0f1720 100%);
}

.global-loader {
  position: fixed;
  inset: 0;
  padding: clamp(18px, 4vw, 32px);
  background: rgba(8, 12, 16, 0.52);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.global-loader.hidden { display: none; }
.loader-box {
  width: min(100%, 420px);
  padding: clamp(24px, 3.5vw, 34px);
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background:
    radial-gradient(circle at top, rgba(92, 140, 172, 0.14), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(242,247,251,0.96));
  box-shadow:
    0 28px 60px rgba(8, 16, 26, 0.26),
    inset 0 1px 0 rgba(255,255,255,0.58);
  text-align: center;
}

.loader-box-boot {
  background:
    radial-gradient(circle at top, rgba(95, 157, 204, 0.18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,252,0.97));
}

.loader-orb {
  position: relative;
  display: grid;
  place-items: center;
  width: 86px;
  height: 86px;
  margin: 0 auto 18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,0.92), rgba(255,255,255,0) 44%),
    linear-gradient(180deg, rgba(36, 77, 102, 0.12), rgba(36, 77, 102, 0.05));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 18px 34px rgba(26, 54, 76, 0.16);
}

.spinner-ring {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 4px solid rgba(68, 110, 136, 0.18);
  border-top-color: var(--primary);
  border-right-color: rgba(36, 77, 102, 0.5);
  animation: spin 0.9s linear infinite;
}

.spinner-core {
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--primary), var(--primary-strong));
  box-shadow: 0 0 0 8px rgba(36, 77, 102, 0.08);
}

.loader-copy {
  display: grid;
  gap: 8px;
}

.loader-copy strong {
  display: block;
  color: #183247;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 900;
  line-height: 1.5;
}

.loader-copy p {
  margin: 0;
  color: #5d7388;
  font-size: clamp(13px, 1.6vw, 15px);
  line-height: 1.9;
}

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

@media (max-width: 640px) {
  .app-boot-splash {
    padding: 18px;
  }

  .loader-box {
    width: 100%;
    max-width: 100%;
    padding: 22px 18px;
    border-radius: 24px;
  }

  .loader-orb {
    width: 74px;
    height: 74px;
    margin-bottom: 16px;
    border-radius: 24px;
  }

  .spinner-ring {
    width: 48px;
    height: 48px;
  }

  .loader-copy strong {
    font-size: 17px;
  }

  .loader-copy p {
    font-size: 13px;
    line-height: 1.8;
  }
}

.toast-container {
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 3200;
  display: grid;
  gap: 10px;
  width: min(92vw, 390px);
}

.toast {
  position: relative;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(250,252,255,0.94));
  box-shadow: 0 14px 28px rgba(21, 35, 49, 0.2);
  overflow: hidden;
  transform: translateX(0);
  transition: transform 0.24s ease, opacity 0.24s ease;
  backdrop-filter: blur(6px);
}

.toast-main {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 12px 10px 10px 12px;
}

.toast-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #3da67f, #256f54);
}

.toast-icon-wrap {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(61, 166, 127, 0.14);
  color: #2f8f69;
}

.toast-icon-wrap svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.toast-content h4 {
  margin: 0;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  color: #21485f;
}

.toast-content p {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #52697a;
}

.toast-close {
  width: 26px;
  height: 26px;
  min-width: 26px;
  border: 1px solid rgba(67, 93, 114, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  color: #667e90;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.toast-close svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.toast-close:hover {
  color: #3e5f77;
  border-color: rgba(67, 93, 114, 0.38);
}

.toast-timer {
  height: 3px;
  width: 100%;
  transform-origin: left center;
  animation: toastTimer 3.6s linear forwards;
  background: linear-gradient(90deg, #46b287, #2f8f69);
}

.toast.success .toast-icon-wrap {
  background: rgba(61, 166, 127, 0.14);
  color: #2f8f69;
  animation: toastSuccessPulse 1.35s ease-in-out infinite;
}

.toast.error .toast-accent {
  background: linear-gradient(180deg, #df6464, #b13a3a);
}

.toast.error .toast-icon-wrap {
  background: rgba(214, 90, 90, 0.14);
  color: #c44646;
  animation: toastErrorShake 0.42s ease-out;
}

.toast.error .toast-timer {
  animation-duration: 4.2s;
  background: linear-gradient(90deg, #e07070, #b13a3a);
}

.toast.warning .toast-accent {
  background: linear-gradient(180deg, #e0ab3f, #b38322);
}

.toast.warning .toast-icon-wrap {
  background: rgba(224, 171, 63, 0.16);
  color: #b28224;
  animation: toastWarningPulse 1.2s ease-in-out infinite;
}

.toast.warning .toast-timer {
  background: linear-gradient(90deg, #e0ab3f, #b38322);
}

.toast.info .toast-accent {
  background: linear-gradient(180deg, #5f92c2, #3f6f9f);
}

.toast.info .toast-icon-wrap {
  background: rgba(95, 146, 194, 0.18);
  color: #3f6f9f;
}

.toast.info .toast-timer {
  background: linear-gradient(90deg, #6ea2d2, #3f6f9f);
}

.toast.hide {
  opacity: 0;
  transform: translateX(-18px);
}

body[data-theme='dark'] .toast {
  border-color: #3b4d5f;
  background: linear-gradient(180deg, rgba(34, 45, 56, 0.96), rgba(30, 40, 50, 0.94));
}

body[data-theme='dark'] .toast-content h4 {
  color: #d9e8f5;
}

body[data-theme='dark'] .toast-content p {
  color: #b9ccdb;
}

body[data-theme='dark'] .toast-close {
  border-color: rgba(153, 179, 199, 0.26);
  background: rgba(40, 53, 67, 0.72);
  color: #c6d7e5;
}

body[data-theme='dark'] .toast-close:hover {
  color: #eff7ff;
}

@keyframes toastTimer {
  from { transform: scaleX(1); }
  to { transform: scaleX(0); }
}

@keyframes toastSuccessPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

@keyframes toastWarningPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@keyframes toastErrorShake {
  0% { transform: translateX(0); }
  30% { transform: translateX(-3px); }
  60% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.delete-modal { position: fixed; inset: 0; background: rgba(12, 18, 26, 0.45); display: flex; align-items: center; justify-content: center; z-index: 2300; }
.delete-modal.hidden { display: none; }
#previewModal { z-index: 2500; }
#shareModal { z-index: 2800; }
#clientPresentationModal { z-index: 3100; }
.delete-modal-card { width: min(92vw, 420px); background: var(--surface); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); padding: 18px; }
.delete-modal-card h3 { margin-bottom: 8px; color: var(--text); }
.delete-modal-card p { margin-bottom: 14px; color: var(--muted); }
.preview-modal-card { width: min(95vw, 1040px); max-height: 90vh; display: flex; flex-direction: column; padding: 0; overflow: hidden; border-radius: 16px; }
.preview-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; background: linear-gradient(135deg, rgba(36, 77, 102, 0.16), rgba(95, 151, 187, 0.08)); border-bottom: 1px solid var(--border); backdrop-filter: blur(10px); }
.preview-modal-head h3 { margin: 0; color: var(--text); font-size: 22px; }
.preview-modal-head .btn { min-width: 86px; }
.preview-modal-body { overflow: auto; padding: 20px; background: radial-gradient(circle at top right, rgba(36, 77, 102, 0.08), transparent 22%), linear-gradient(180deg, rgba(247, 250, 252, 0.98), rgba(240, 245, 249, 0.98)); }
.support-image-preview-wrap { display: flex; align-items: center; justify-content: center; min-height: min(72vh, 720px); }
.support-image-preview-full { width: 100%; max-width: min(92vw, 1200px); max-height: min(76vh, 820px); object-fit: contain; border-radius: 14px; background: #0f1720; }
.preview-grid { display: grid; grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.08fr); gap: 20px; align-items: start; }
.preview-gallery-wrap { border: 1px solid rgba(36, 77, 102, 0.12); background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(243,248,251,0.98)); border-radius: 24px; padding: 14px; box-shadow: 0 18px 40px rgba(20, 44, 63, 0.08); position: sticky; top: 0; }
.preview-gallery-topbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.preview-gallery-badge { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: rgba(36, 77, 102, 0.1); color: var(--primary); font-size: 12px; font-weight: 800; }
.preview-gallery-badge.muted { background: rgba(36, 77, 102, 0.06); color: var(--muted); }
.preview-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: start; }
.preview-gallery.is-empty { grid-template-columns: 1fr; }
.preview-image { width: 100%; height: 220px; object-fit: cover; border-radius: 16px; border: 1px solid rgba(36, 77, 102, 0.08); background: var(--surface); box-shadow: 0 10px 22px rgba(18, 34, 47, 0.08); }
.preview-image-fallback { object-fit: contain; padding: 20px; background: linear-gradient(180deg, #f8fbfe, #eef4f9); }
.preview-placeholder { height: 220px; border: 1px dashed var(--border); border-radius: 16px; color: var(--muted); display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #fff, #f5f8fb); }
.preview-details { display: grid; gap: 14px; }
.preview-hero-card { padding: 16px 18px; border-radius: 22px; border: 1px solid rgba(36, 77, 102, 0.1); background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(242,247,251,0.96)); box-shadow: 0 16px 36px rgba(18, 37, 51, 0.08); }
.preview-hero-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.preview-kicker { display: inline-flex; margin-bottom: 8px; padding: 6px 11px; border-radius: 999px; background: rgba(36, 77, 102, 0.08); color: var(--primary); font-size: 12px; font-weight: 800; }
.preview-price-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 14px; border-radius: 16px; background: linear-gradient(180deg, #244d66, #356988); color: #fff; font-size: 14px; font-weight: 800; box-shadow: 0 10px 22px rgba(36, 77, 102, 0.22); white-space: nowrap; }
.preview-title { margin: 0; color: var(--text); font-size: 28px; line-height: 1.25; }
.preview-description { margin: 0; color: var(--muted); line-height: 1.85; font-size: 15px; }
.preview-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.preview-stat { border: 1px solid rgba(36, 77, 102, 0.08); background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(243,247,250,0.96)); border-radius: 16px; padding: 10px 12px; font-size: 13px; color: var(--text); display: grid; gap: 6px; box-shadow: 0 10px 24px rgba(18, 35, 49, 0.04); }
.preview-stat strong { font-size: 11px; color: var(--muted); font-weight: 800; }
.preview-stat b { font-size: 14px; color: var(--text); font-weight: 800; }
.preview-section { border: 1px solid rgba(36, 77, 102, 0.1); background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,249,252,0.97)); border-radius: 18px; padding: 14px; box-shadow: 0 14px 30px rgba(18, 37, 51, 0.05); }
.preview-section h5 { margin: 0 0 8px; font-size: 13px; color: var(--muted); }
.preview-section p { margin: 0 0 6px; line-height: 1.8; }
.preview-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.preview-section-head h5 { margin: 0; }
.preview-address-text { color: var(--text); font-weight: 600; letter-spacing: 0.1px; }
.preview-address-coords { display: inline-flex; margin-top: 8px; padding: 7px 10px; border-radius: 999px; background: rgba(36, 77, 102, 0.06); color: var(--muted); font-size: 12px; direction: ltr; }
.preview-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #b8cbdc;
  background: linear-gradient(180deg, #f2f7fb, #e3edf5);
  color: #244d66;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease, background 0.14s ease;
}
.preview-copy-btn svg {
  width: 13px;
  height: 13px;
  fill: currentColor;
  flex: 0 0 13px;
}
.preview-copy-btn:hover {
  transform: translateY(-1px);
  border-color: #7aa4c2;
  box-shadow: 0 6px 14px rgba(36, 77, 102, 0.16);
  background: linear-gradient(180deg, #eef6fc, #dcecf8);
}
.preview-copy-btn:active { transform: translateY(0); }
.preview-copy-btn:focus-visible {
  outline: 2px solid #2d688c;
  outline-offset: 2px;
}
body[data-theme='dark'] .preview-copy-btn {
  border-color: #4b6479;
  background: linear-gradient(180deg, #2a3e4f, #243746);
  color: #d8ebf8;
}
body[data-theme='dark'] .preview-copy-btn:hover {
  border-color: #6694b7;
  background: linear-gradient(180deg, #30495d, #274050);
}
.preview-links { display: flex; flex-wrap: wrap; gap: 8px; }
.preview-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,246,250,0.96));
  color: var(--primary);
  border-radius: 999px;
  padding: 9px 14px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform 0.14s ease, border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}
.preview-link:hover {
  transform: translateY(-1px);
  border-color: var(--primary);
  background: var(--surface);
  box-shadow: 0 10px 18px rgba(36, 77, 102, 0.1);
}
.preview-link:active { transform: translateY(0); }
.preview-link:focus-visible {
  outline: 2px solid #2d688c;
  outline-offset: 2px;
}
.preview-link-strong {
  background: linear-gradient(135deg, #1f6497, #2e7bb1);
  color: #fff !important;
  border-color: rgba(26, 92, 140, 0.92) !important;
  box-shadow: 0 12px 24px rgba(31, 100, 151, 0.2);
}
.preview-link-strong:hover {
  background: linear-gradient(135deg, #235f8d, #2a76ab);
  border-color: rgba(23, 85, 129, 0.96) !important;
  box-shadow: 0 14px 26px rgba(31, 100, 151, 0.24);
}

.client-presentation-modal-card {
  width: min(96vw, 980px);
  max-height: 90vh;
  height: min(90vh, 860px);
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
}

.client-presentation-head {
  align-items: flex-start;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(135deg, #143c5a, #2b6f9d 62%, #6ea6c5);
}

.client-presentation-head-copy {
  display: grid;
  gap: 8px;
}

.client-presentation-kicker,
.client-presentation-chip {
  display: inline-flex;
  width: fit-content;
  min-height: 32px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.96);
  font-size: 11px;
  font-weight: 900;
}

.client-presentation-head h3,
.client-presentation-head p {
  color: #fff;
}

.client-presentation-head p {
  max-width: 520px;
  opacity: 0.84;
  line-height: 1.85;
}

.client-presentation-body {
  flex: 1;
  min-height: 0;
  padding: 20px;
  overflow: auto;
  background:
    radial-gradient(circle at top right, rgba(88, 150, 193, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(247, 251, 254, 0.98), rgba(239, 245, 250, 0.98));
}

.client-presentation-layout {
  display: grid;
  gap: 14px;
}

.client-presentation-hero,
.client-presentation-card {
  border: 1px solid rgba(36, 77, 102, 0.08);
  border-radius: 22px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,252,0.96));
  box-shadow: 0 14px 28px rgba(18, 37, 51, 0.06);
}

.client-presentation-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.client-presentation-hero h4 {
  margin: 10px 0 8px;
  color: #163d58;
  font-size: 24px;
}

.client-presentation-hero p,
.client-presentation-card p,
.client-presentation-card li,
.client-presentation-card small {
  line-height: 1.95;
  color: #355066;
}

.client-presentation-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.client-presentation-card h5 {
  margin: 0;
  color: #183548;
  font-size: 15px;
}

.client-presentation-card ul {
  margin: 0;
  padding-right: 18px;
  display: grid;
  gap: 6px;
}
.preview-link-muted { color: var(--muted); cursor: default; }
.share-modal-card {
  width: min(94vw, 760px);
  padding: 0;
  overflow: hidden;
  border-radius: 32px;
  border-color: rgba(36, 77, 102, 0.14);
  box-shadow: 0 32px 90px rgba(15, 35, 49, 0.22);
}
.share-modal-head {
  padding: 24px 24px 22px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(135deg, #163f5b, #3b779d 58%, #74a8c3 120%);
  color: #fff;
}
.share-modal-head h3 {
  color: #fff;
  font-size: clamp(26px, 3vw, 34px);
  margin-bottom: 6px;
}
.share-modal-head p {
  margin: 0;
  max-width: 420px;
  color: rgba(255,255,255,0.82);
  line-height: 1.9;
  font-size: 14px;
}
.share-modal-head .btn {
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.12);
  color: #fff;
  backdrop-filter: blur(10px);
}
.share-modal-head .btn:hover { background: rgba(255,255,255,0.18); }
.share-modal-head-copy { display: grid; gap: 8px; }
.share-modal-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.94);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
}
.share-modal-body {
  padding: 22px;
  display: grid;
  gap: 18px;
  background:
    radial-gradient(circle at top right, rgba(79, 132, 169, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(249, 252, 255, 0.98), rgba(238, 245, 250, 0.98));
}
.share-modal-intro {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,252,0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}
.share-modal-intro::before {
  content: "2 روش سریع برای ارسال";
  width: fit-content;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(22, 63, 91, 0.08);
  color: #1c4e70;
  font-size: 12px;
  font-weight: 800;
}
.share-modal-intro .muted { margin: 0; line-height: 1.95; }
.share-modal-tips { display: flex; flex-wrap: wrap; gap: 8px; }
.share-modal-tips span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}
.share-modal-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.share-modal-actions .btn {
  min-height: 92px;
  border-radius: 24px;
  font-size: 17px;
  font-weight: 900;
  padding: 18px;
  box-shadow: 0 18px 36px rgba(36, 77, 102, 0.14);
  display: grid;
  justify-items: start;
  align-content: center;
  gap: 8px;
  text-align: right;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.share-modal-actions .btn::after {
  font-size: 12px;
  font-weight: 700;
  opacity: 0.82;
}
.share-modal-actions .btn:first-child::after { content: "فایل آماده برای چاپ یا ارسال"; }
.share-modal-actions .btn:last-child::after { content: "لینک قابل کپی برای موبایل مشتری"; }
.share-modal-actions .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 42px rgba(36, 77, 102, 0.18);
}
.share-modal-actions .btn.is-busy { opacity: 0.9; cursor: wait; }
.share-modal-actions .btn:disabled,
.share-link-box .btn:disabled { opacity: 0.7; cursor: not-allowed; box-shadow: none; }
.share-link-result {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  border-radius: 24px;
  background: rgba(255,255,255,0.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}
.share-link-result::before {
  content: "پیوند آماده ارسال";
  width: fit-content;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(28, 108, 76, 0.1);
  color: #1f6d4e;
  font-size: 12px;
  font-weight: 800;
}
.share-link-result.is-copied::before {
  content: "کپی شد";
  background: rgba(26, 125, 90, 0.14);
}
.share-link-result label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.share-link-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.share-link-box input {
  min-width: 0;
  min-height: 52px;
  border-radius: 18px;
  direction: ltr;
  text-align: left;
  background: linear-gradient(180deg, #fefefe, #f5f9fc);
  border: 1px solid rgba(36, 77, 102, 0.12);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
}
.share-link-box input:focus {
  border-color: #4d87af;
  box-shadow: 0 0 0 4px rgba(77, 135, 175, 0.12);
}
.share-link-box .btn {
  min-width: 108px;
  min-height: 52px;
  border-radius: 18px;
  font-weight: 800;
}
.share-link-result.is-ready .share-link-box .btn {
  box-shadow: 0 14px 28px rgba(36, 77, 102, 0.16);
}
.customer-leads-card { overflow: hidden; }
.customer-leads-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.customer-leads-head h3 { margin: 0 0 6px; }
.customer-leads-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: rgba(36, 77, 102, 0.08); color: var(--primary); font-weight: 800; white-space: nowrap; }
.customer-leads-form { display: grid; gap: 12px; }
.customer-search-card { overflow: hidden; }
.customer-search-head,
.customer-search-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.customer-search-head h3,
.customer-search-panel-head h3 { margin: 0 0 6px; }
.customer-search-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(27, 86, 122, 0.12), rgba(77, 135, 175, 0.08));
  color: #1d587c;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
.customer-search-form { display: grid; gap: 12px; }
.customer-search-hints { display: flex; flex-wrap: wrap; gap: 8px; }
.customer-search-hints span,
.customer-search-criteria-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}
.customer-search-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.customer-search-guide-card {
  border: 1px solid rgba(36, 77, 102, 0.1);
  border-radius: 22px;
  padding: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,251,0.96));
  box-shadow: 0 14px 28px rgba(18, 37, 51, 0.05);
}
.customer-search-guide-card strong { display: block; margin-bottom: 8px; color: var(--text); }
.customer-search-guide-card p { margin: 0; color: var(--muted); line-height: 1.9; }
.customer-search-modal-card {
  width: min(96vw, 1180px);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  border-radius: 32px;
  border-color: rgba(36, 77, 102, 0.14);
  box-shadow: 0 38px 100px rgba(15, 35, 49, 0.24);
}
.mobile-home-quick-actions,
.mobile-home-modal {
  display: none;
}
.mobile-home-command {
  display: none;
}
.mobile-home-results-kicker,
.mobile-home-section-heading-icon {
  display: none;
}
.mobile-home-quick-actions {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 30px;
  border: 1px solid rgba(46, 86, 119, 0.12);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.98), transparent 34%),
    radial-gradient(circle at 85% 18%, rgba(87, 145, 199, 0.24), transparent 22%),
    linear-gradient(155deg, rgba(18, 55, 84, 0.08), rgba(255,255,255,0) 34%),
    linear-gradient(145deg, #edf5fc, #dbe8f5);
  box-shadow: 0 28px 56px rgba(22, 40, 59, 0.16);
}
.mobile-home-quick-actions::before {
  content: '';
  position: absolute;
  inset: 12px 12px auto;
  height: 84px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.12));
  pointer-events: none;
}
.mobile-home-quick-actions::after {
  content: '';
  position: absolute;
  inset: auto -40px -66px auto;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36, 77, 102, 0.18) 0%, rgba(36, 77, 102, 0) 72%);
  pointer-events: none;
}
.mobile-home-quick-actions-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.mobile-home-quick-actions-head-copy {
  display: grid;
  gap: 5px;
}
.mobile-home-quick-actions-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  color: #255f86;
  border: 1px solid rgba(67, 112, 154, 0.14);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.04em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}
.mobile-home-quick-actions-head strong {
  display: block;
  font-size: 19px;
  color: #16344b;
  position: relative;
  top: 5px;
  left: -5px;
}
.mobile-home-quick-actions-head p {
  color: #587185;
  font-size: 12px;
  line-height: 1.7;
  max-width: 228px;
}
.mobile-home-quick-actions-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 14px;
  background: rgba(17, 63, 95, 0.08);
  color: #1e4f71;
  border: 1px solid rgba(36, 77, 102, 0.08);
  font-size: 11px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.56), 0 10px 18px rgba(35, 67, 94, 0.08);
}
.mobile-home-quick-actions-meta {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 12px;
}
.mobile-home-quick-actions-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.56);
  color: #567085;
  border: 1px solid rgba(36, 77, 102, 0.08);
  font-size: 10px;
  font-weight: 800;
}
.mobile-home-quick-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.mobile-home-quick-card {
  --quick-accent: #2f9bf4;
  --quick-accent-soft: rgba(47, 155, 244, 0.16);
  display: grid;
  gap: 10px;
  min-height: 150px;
  padding: 13px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  border-radius: 26px;
  background:
    radial-gradient(circle at top right, var(--quick-accent-soft), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,249,252,0.96));
  text-align: right;
  color: inherit;
  cursor: pointer;
  box-shadow: 0 18px 32px rgba(17, 33, 48, 0.09);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
  position: relative;
  overflow: hidden;
}
.mobile-home-quick-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
  pointer-events: none;
}
.mobile-home-quick-card.accent-sky::before {
  background:
    linear-gradient(90deg, rgba(47, 155, 244, 0.95), rgba(31, 111, 229, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-amber::before {
  background:
    linear-gradient(90deg, rgba(255, 180, 49, 0.95), rgba(242, 138, 20, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-green::before {
  background:
    linear-gradient(90deg, rgba(69, 209, 124, 0.95), rgba(31, 183, 90, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-rose::before {
  background:
    linear-gradient(90deg, rgba(255, 101, 125, 0.95), rgba(235, 71, 98, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-indigo::before {
  background:
    linear-gradient(90deg, rgba(95, 141, 255, 0.95), rgba(59, 99, 235, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-violet::before {
  background:
    linear-gradient(90deg, rgba(192, 110, 255, 0.95), rgba(150, 73, 238, 0.95)) top / 100% 4px no-repeat,
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0));
}
.mobile-home-quick-card.accent-sky { --quick-accent: #2f9bf4; --quick-accent-soft: rgba(47, 155, 244, 0.18); }
.mobile-home-quick-card.accent-amber { --quick-accent: #f6a61f; --quick-accent-soft: rgba(246, 166, 31, 0.18); }
.mobile-home-quick-card.accent-green { --quick-accent: #27bf63; --quick-accent-soft: rgba(39, 191, 99, 0.18); }
.mobile-home-quick-card.accent-rose { --quick-accent: #ef5b75; --quick-accent-soft: rgba(239, 91, 117, 0.18); }
.mobile-home-quick-card.accent-indigo { --quick-accent: #4a73f0; --quick-accent-soft: rgba(74, 115, 240, 0.18); }
.mobile-home-quick-card.accent-violet { --quick-accent: #aa5af6; --quick-accent-soft: rgba(170, 90, 246, 0.18); }
.mobile-home-quick-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 38px rgba(17, 33, 48, 0.13);
  border-color: rgba(36, 77, 102, 0.14);
}
.mobile-home-quick-card:active {
  transform: translateY(1px);
}
.mobile-home-quick-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.mobile-home-quick-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 12px 24px rgba(0,0,0,0.18);
}
.mobile-home-quick-card-arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,0.72);
  color: var(--quick-accent);
  border: 1px solid rgba(36, 77, 102, 0.06);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.66);
}
.mobile-home-quick-card-arrow svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.mobile-home-quick-card-icon .app-svg-icon {
  width: 28px;
  height: 28px;
}
.mobile-home-quick-card.accent-sky .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #2f9bf4, #1f6fe5);
}
.mobile-home-quick-card.accent-amber .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #ffb431, #f28a14);
}
.mobile-home-quick-card.accent-green .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #45d17c, #1fb75a);
}
.mobile-home-quick-card.accent-rose .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #ff657d, #eb4762);
}
.mobile-home-quick-card.accent-indigo .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #5f8dff, #3b63eb);
}
.mobile-home-quick-card.accent-violet .mobile-home-quick-card-icon {
  background: linear-gradient(180deg, #c06eff, #9649ee);
}
.mobile-home-quick-card-copy {
  display: grid;
  gap: 4px;
}
.mobile-home-quick-card-copy strong {
  font-size: 15px;
  line-height: 1.45;
  color: #173247;
}
.mobile-home-quick-card-copy small {
  font-size: 11px;
  line-height: 1.65;
  color: #61788d;
  font-weight: 700;
}
.desktop-home-quick-actions {
  display: none;
}
.desktop-search-reset-slot {
  display: none;
}
.desktop-search-reset-fab {
  display: none;
}
.mobile-home-modal {
  position: fixed;
  inset: 0;
  z-index: 2850;
  align-items: end;
  justify-content: stretch;
}
.mobile-home-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 14, 22, 0.7);
  backdrop-filter: blur(10px);
}
.mobile-home-modal-card {
  position: relative;
  width: 100%;
  max-height: 92vh;
  border-radius: 26px 26px 0 0;
  border: 1px solid rgba(201, 216, 236, 0.8);
  border-bottom: none;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.94), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,253,0.97));
  box-shadow: 0 -24px 44px rgba(8, 20, 34, 0.24);
  overflow: hidden;
}
.mobile-home-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 16px 14px;
  border-bottom: 1px solid rgba(201, 216, 236, 0.8);
}
.mobile-home-modal-head-copy {
  display: grid;
  gap: 4px;
}
.mobile-home-modal-kicker {
  color: #2a6a91;
  font-size: 11px;
  font-weight: 800;
}
.mobile-home-modal-head h3 {
  font-size: 18px;
  color: #1f3146;
}
.mobile-home-modal-head p {
  color: #60788c;
  font-size: 12px;
  line-height: 1.8;
}
.mobile-home-modal-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.92);
  color: #274d69;
  display: grid;
  place-items: center;
  cursor: pointer;
  flex: 0 0 42px;
}
.mobile-home-modal-close svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.mobile-home-modal-body {
  padding: 16px;
  overflow-y: auto;
  max-height: calc(92vh - 92px);
}
.mobile-home-modal-form {
  display: grid;
  gap: 12px;
}
.mobile-home-modal-panel .search-widget-board {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
.mobile-home-modal-note,
.mobile-home-modal-help {
  color: #60788c;
  font-size: 12px;
  line-height: 1.8;
}
.mobile-home-modal-hints {
  display: grid;
  gap: 8px;
}
.mobile-home-modal-hints span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(36, 77, 102, 0.05);
  color: #315168;
  font-size: 12px;
  font-weight: 700;
}
.mobile-search-reset-fab {
  display: none;
}
body[data-theme='dark'] .mobile-home-quick-actions,
body[data-theme='dark'] .desktop-home-quick-actions,
body[data-theme='neon-aurora'] .mobile-home-quick-actions,
body[data-theme='neon-aurora'] .desktop-home-quick-actions,
body[data-theme='sunset-flow'] .mobile-home-quick-actions,
body[data-theme='sunset-flow'] .desktop-home-quick-actions,
body[data-theme='emerald-glass'] .mobile-home-quick-actions,
body[data-theme='emerald-glass'] .desktop-home-quick-actions,
body[data-theme='dark'] .mobile-home-modal-card,
body[data-theme='neon-aurora'] .mobile-home-modal-card,
body[data-theme='sunset-flow'] .mobile-home-modal-card,
body[data-theme='emerald-glass'] .mobile-home-modal-card {
  border-color: rgba(92, 122, 146, 0.34);
}
body[data-theme='dark'] .mobile-home-quick-actions,
body[data-theme='dark'] .desktop-home-quick-actions,
body[data-theme='neon-aurora'] .mobile-home-quick-actions,
body[data-theme='neon-aurora'] .desktop-home-quick-actions,
body[data-theme='emerald-glass'] .mobile-home-quick-actions,
body[data-theme='emerald-glass'] .desktop-home-quick-actions {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 42%),
    linear-gradient(145deg, rgba(24, 35, 46, 0.96), rgba(18, 28, 38, 0.94));
}
body[data-theme='sunset-flow'] .mobile-home-quick-actions,
body[data-theme='sunset-flow'] .desktop-home-quick-actions {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 42%),
    linear-gradient(145deg, rgba(64, 40, 54, 0.96), rgba(46, 30, 43, 0.94));
}
body[data-theme='dark'] .mobile-home-quick-card,
body[data-theme='neon-aurora'] .mobile-home-quick-card,
body[data-theme='emerald-glass'] .mobile-home-quick-card,
body[data-theme='dark'] .desktop-search-reset-fab,
body[data-theme='neon-aurora'] .desktop-search-reset-fab,
body[data-theme='emerald-glass'] .desktop-search-reset-fab,
body[data-theme='dark'] .mobile-home-modal-card,
body[data-theme='neon-aurora'] .mobile-home-modal-card,
body[data-theme='emerald-glass'] .mobile-home-modal-card {
  background: linear-gradient(180deg, rgba(27, 39, 52, 0.98), rgba(22, 32, 43, 0.96));
}
body[data-theme='sunset-flow'] .mobile-home-quick-card,
body[data-theme='sunset-flow'] .desktop-search-reset-fab,
body[data-theme='sunset-flow'] .mobile-home-modal-card {
  background: linear-gradient(180deg, rgba(63, 42, 56, 0.98), rgba(48, 33, 45, 0.96));
}
body[data-theme='dark'] .mobile-home-quick-actions-head strong,
body[data-theme='dark'] .desktop-home-quick-actions-head strong,
body[data-theme='dark'] .desktop-search-reset-fab-copy strong,
body[data-theme='dark'] .mobile-home-quick-card-copy strong,
body[data-theme='dark'] .mobile-home-modal-head h3,
body[data-theme='neon-aurora'] .mobile-home-quick-actions-head strong,
body[data-theme='neon-aurora'] .desktop-home-quick-actions-head strong,
body[data-theme='neon-aurora'] .desktop-search-reset-fab-copy strong,
body[data-theme='neon-aurora'] .mobile-home-quick-card-copy strong,
body[data-theme='neon-aurora'] .mobile-home-modal-head h3,
body[data-theme='sunset-flow'] .mobile-home-quick-actions-head strong,
body[data-theme='sunset-flow'] .desktop-home-quick-actions-head strong,
body[data-theme='sunset-flow'] .desktop-search-reset-fab-copy strong,
body[data-theme='sunset-flow'] .mobile-home-quick-card-copy strong,
body[data-theme='sunset-flow'] .mobile-home-modal-head h3,
body[data-theme='emerald-glass'] .mobile-home-quick-actions-head strong,
body[data-theme='emerald-glass'] .desktop-home-quick-actions-head strong,
body[data-theme='emerald-glass'] .desktop-search-reset-fab-copy strong,
body[data-theme='emerald-glass'] .mobile-home-quick-card-copy strong,
body[data-theme='emerald-glass'] .mobile-home-modal-head h3 {
  color: #eef6ff;
}
body[data-theme='dark'] .mobile-home-quick-actions-head p,
body[data-theme='dark'] .desktop-home-quick-actions-head p,
body[data-theme='dark'] .desktop-search-reset-fab-copy small,
body[data-theme='dark'] .mobile-home-quick-card-copy small,
body[data-theme='dark'] .mobile-home-modal-head p,
body[data-theme='dark'] .mobile-home-modal-note,
body[data-theme='dark'] .mobile-home-modal-help,
body[data-theme='neon-aurora'] .mobile-home-quick-actions-head p,
body[data-theme='neon-aurora'] .desktop-home-quick-actions-head p,
body[data-theme='neon-aurora'] .desktop-search-reset-fab-copy small,
body[data-theme='neon-aurora'] .mobile-home-quick-card-copy small,
body[data-theme='neon-aurora'] .mobile-home-modal-head p,
body[data-theme='neon-aurora'] .mobile-home-modal-note,
body[data-theme='neon-aurora'] .mobile-home-modal-help,
body[data-theme='sunset-flow'] .mobile-home-quick-actions-head p,
body[data-theme='sunset-flow'] .desktop-home-quick-actions-head p,
body[data-theme='sunset-flow'] .desktop-search-reset-fab-copy small,
body[data-theme='sunset-flow'] .mobile-home-quick-card-copy small,
body[data-theme='sunset-flow'] .mobile-home-modal-head p,
body[data-theme='sunset-flow'] .mobile-home-modal-note,
body[data-theme='sunset-flow'] .mobile-home-modal-help,
body[data-theme='emerald-glass'] .mobile-home-quick-actions-head p,
body[data-theme='emerald-glass'] .desktop-home-quick-actions-head p,
body[data-theme='emerald-glass'] .desktop-search-reset-fab-copy small,
body[data-theme='emerald-glass'] .mobile-home-quick-card-copy small,
body[data-theme='emerald-glass'] .mobile-home-modal-head p,
body[data-theme='emerald-glass'] .mobile-home-modal-note,
body[data-theme='emerald-glass'] .mobile-home-modal-help {
  color: rgba(224, 236, 248, 0.78);
}
body[data-theme='dark'] .mobile-search-reset-fab,
body[data-theme='neon-aurora'] .mobile-search-reset-fab,
body[data-theme='emerald-glass'] .mobile-search-reset-fab {
  border-color: rgba(76, 102, 124, 0.82);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.08), transparent 34%),
    linear-gradient(180deg, rgba(28, 40, 52, 0.96), rgba(22, 32, 43, 0.94));
  color: #e4eff8;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 16px 30px rgba(5, 16, 28, 0.24);
}
body[data-theme='sunset-flow'] .mobile-search-reset-fab {
  border-color: rgba(126, 86, 101, 0.84);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.08), transparent 34%),
    linear-gradient(180deg, rgba(69, 46, 59, 0.96), rgba(53, 36, 47, 0.94));
  color: #fff0ea;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 16px 30px rgba(39, 12, 19, 0.22);
}
@media (min-width: 769px) {
  .tabs .tab-btn[data-tab='customers'] { display: none; }
  .desktop-home-quick-actions {
    display: block;
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    padding: 22px;
    border: 1px solid rgba(36, 77, 102, 0.14);
    border-radius: 30px;
    background:
      radial-gradient(circle at 100% 0%, rgba(53, 127, 201, 0.22), transparent 30%),
      radial-gradient(circle at 0% 100%, rgba(36, 77, 102, 0.16), transparent 28%),
      linear-gradient(145deg, rgba(255,255,255,0.98), rgba(241,247,252,0.97));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.74),
      0 28px 54px rgba(17, 33, 48, 0.1);
  }
  .desktop-home-quick-actions::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.42) 38%, transparent 62%),
      radial-gradient(circle at top left, rgba(255,255,255,0.5), transparent 24%);
    opacity: 0.65;
    pointer-events: none;
  }
  .desktop-home-quick-actions-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
  }
  .desktop-home-quick-actions-head strong {
    display: block;
    margin-bottom: 6px;
    font-size: 26px;
    color: #1f3146;
    letter-spacing: -0.02em;
  }
  .desktop-home-quick-actions-head p {
    color: #60788c;
    font-size: 14px;
    line-height: 2;
    max-width: 640px;
  }
  .desktop-home-quick-actions-head > span {
    flex: 0 0 auto;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    color: var(--primary);
    border: 1px solid rgba(36, 77, 102, 0.1);
    box-shadow: 0 12px 26px rgba(36, 77, 102, 0.1);
    font-size: 12px;
    font-weight: 800;
  }
  .desktop-home-quick-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
  .desktop-home-quick-card {
    position: relative;
    overflow: hidden;
    align-content: space-between;
    min-height: 178px;
    padding: 18px 18px 16px;
    border-radius: 26px;
    border-color: rgba(36, 77, 102, 0.1);
    background:
      linear-gradient(160deg, rgba(255,255,255,0.96), rgba(238,245,251,0.94));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.82),
      0 18px 34px rgba(17, 33, 48, 0.08);
  }
  .desktop-home-quick-card:hover {
    transform: translateY(-6px);
    border-color: rgba(36, 77, 102, 0.18);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.86),
      0 26px 42px rgba(17, 33, 48, 0.14);
  }
  .desktop-home-quick-card-glow {
    position: absolute;
    inset: auto auto -24px -20px;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(53, 127, 201, 0.22), transparent 72%);
    pointer-events: none;
  }
  .desktop-home-quick-card-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(226,238,248,0.96));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.74),
      0 14px 24px rgba(36, 77, 102, 0.12);
  }
  .desktop-home-quick-card .mobile-home-quick-card-copy {
    gap: 6px;
  }
  .desktop-home-quick-card .mobile-home-quick-card-copy strong {
    font-size: 18px;
  }
  .desktop-home-quick-card .mobile-home-quick-card-copy small {
    font-size: 12px;
    line-height: 1.9;
    max-width: 18ch;
  }
  .desktop-home-quick-card-arrow {
    position: absolute;
    left: 16px;
    bottom: 16px;
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,0.84);
    color: #245b88;
    border: 1px solid rgba(36, 77, 102, 0.1);
    box-shadow: 0 10px 22px rgba(36, 77, 102, 0.1);
  }
  .desktop-home-quick-card-arrow svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }
  .desktop-home-quick-card.mobile-home-quick-card-smart-search {
    background:
      radial-gradient(circle at 100% 0%, rgba(44, 136, 212, 0.2), transparent 34%),
      linear-gradient(160deg, rgba(255,255,255,0.97), rgba(235,246,252,0.95));
  }
  .desktop-home-quick-card.mobile-home-quick-card-address-search {
    background:
      radial-gradient(circle at 100% 0%, rgba(50, 157, 138, 0.18), transparent 34%),
      linear-gradient(160deg, rgba(255,255,255,0.97), rgba(236,250,247,0.95));
  }
  .desktop-home-quick-card.mobile-home-quick-card-map-search {
    background:
      radial-gradient(circle at 100% 0%, rgba(92, 127, 219, 0.2), transparent 34%),
      linear-gradient(160deg, rgba(255,255,255,0.97), rgba(238,243,253,0.95));
  }
  .desktop-home-quick-card.mobile-home-quick-card-customer-needs {
    background:
      radial-gradient(circle at 100% 0%, rgba(218, 126, 88, 0.22), transparent 34%),
      linear-gradient(160deg, rgba(255,255,255,0.97), rgba(252,241,237,0.95));
  }
  .properties-home-layout > .mobile-home-quick-actions,
  .properties-home-layout > .search-widget-board,
  .properties-home-layout > .search-grid-simple {
    display: none;
  }
  .properties-home-layout #propertiesPanel {
    margin-top: 4px;
  }
  .desktop-search-reset-slot {
    display: flex;
    justify-content: center;
    padding: 22px 0 12px;
  }
  .desktop-search-reset-fab {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 232px;
    max-width: min(320px, calc(100vw - 64px));
    padding: 14px 16px 14px 18px;
    border: 1px solid rgba(36, 77, 102, 0.12);
    border-radius: 24px;
    background:
      radial-gradient(circle at top right, rgba(44, 119, 193, 0.16), transparent 36%),
      linear-gradient(145deg, rgba(255,255,255,0.98), rgba(241,247,252,0.96));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.8),
      0 22px 42px rgba(17, 33, 48, 0.14);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  }
  .desktop-search-reset-fab:hover {
    transform: translateY(-4px);
    border-color: rgba(36, 77, 102, 0.18);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.84),
      0 28px 46px rgba(17, 33, 48, 0.18);
  }
  .desktop-search-reset-fab-icon {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #245b88;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.98), rgba(227,238,247,0.94));
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.76),
      0 12px 24px rgba(36, 77, 102, 0.12);
  }
  .desktop-search-reset-fab-icon svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
  }
  .desktop-search-reset-fab-copy {
    display: grid;
    gap: 4px;
    text-align: right;
  }
  .desktop-search-reset-fab-copy strong {
    font-size: 20px;
    color: #1f3146;
  }
  .desktop-search-reset-fab-copy small {
    color: #60788c;
    font-size: 12px;
    line-height: 1.8;
    font-weight: 700;
  }
  .mobile-home-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
  }
  .mobile-home-modal-card {
    width: min(920px, 100%);
    max-height: min(88vh, 860px);
    border-radius: 28px;
    border-bottom: 1px solid rgba(201, 216, 236, 0.8);
    box-shadow: 0 28px 54px rgba(8, 20, 34, 0.28);
  }
  .mobile-home-modal-body {
    max-height: calc(min(88vh, 860px) - 96px);
  }
}
.customer-search-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(135deg, #163f5b, #2f6688 56%, #79acc7 120%);
  color: #fff;
}
.customer-search-modal-head-copy { display: grid; gap: 8px; }
.customer-search-modal-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.94);
  font-size: 11px;
  font-weight: 900;
}
.customer-search-modal-head h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 3vw, 34px);
}
.customer-search-modal-head p {
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,0.84);
  line-height: 1.9;
}
.customer-search-modal-head .btn {
  border-color: rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.12);
  color: #fff;
}
.customer-search-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: calc(92vh - 132px);
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding: 22px;
  background:
    radial-gradient(circle at top right, rgba(79, 132, 169, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(249, 252, 255, 0.98), rgba(238, 245, 250, 0.98));
}
.customer-search-modal-layout { display: grid; gap: 18px; }
.customer-search-modal-hero,
.customer-search-modal-section {
  border: 1px solid rgba(36, 77, 102, 0.1);
  border-radius: 24px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,251,0.96));
  box-shadow: 0 16px 34px rgba(18, 37, 51, 0.05);
}
.customer-search-modal-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr);
  gap: 16px;
  align-items: start;
}
.customer-search-modal-hero strong { display: block; margin-bottom: 8px; color: var(--text); font-size: 18px; }
.customer-search-modal-hero p { margin: 0; color: var(--muted); line-height: 1.9; }
.customer-search-criteria-chips { display: flex; flex-wrap: wrap; gap: 8px; align-content: start; }
.customer-search-modal-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.customer-search-modal-section-head h4 { margin: 0 0 4px; color: var(--text); font-size: 20px; }
.customer-search-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(27, 110, 79, 0.1);
  color: #1d6d50;
  font-weight: 900;
  white-space: nowrap;
}
.customer-search-count-badge.alt {
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
}
.customer-search-results-list { display: grid; gap: 12px; }
.customer-search-results-list.is-exact { gap: 16px; }
.customer-search-result-card {
  border: 1px solid rgba(36, 77, 102, 0.08);
  border-radius: 22px;
  padding: 14px;
  background: rgba(255,255,255,0.82);
  display: grid;
  gap: 12px;
}
.customer-search-result-card.is-exact {
  padding: 18px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(36, 77, 102, 0.06), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,248,251,0.97));
  box-shadow: 0 18px 34px rgba(18, 37, 51, 0.06);
}
.customer-search-result-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.customer-search-result-top.is-exact { gap: 0; }
.customer-search-result-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.customer-search-result-title-row > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
.customer-search-result-title-row > div:first-child p {
  word-break: break-word;
}
.customer-search-result-title-row.is-exact {
  justify-content: flex-start;
  gap: 12px;
}
.customer-search-result-title-row strong {
  display: block;
  margin-bottom: 6px;
}
.customer-search-score-ring {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #244d66, #356988);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 10px 18px rgba(36, 77, 102, 0.18);
  justify-self: start;
  align-self: start;
}
.customer-search-score-ring small { font-size: 9px; margin-right: 1px; opacity: 0.92; }
.customer-search-score-ring.is-exact {
  width: 64px;
  height: 40px;
  border-radius: 14px;
  font-size: 18px;
  flex: 0 0 64px;
  align-self: flex-start;
  justify-self: auto;
  box-shadow: 0 8px 16px rgba(36, 77, 102, 0.14);
  background: linear-gradient(180deg, #295874, #2e6484);
}
.customer-search-score-ring.is-exact small {
  display: inline-block;
  margin-right: 2px;
  font-size: 10px;
  opacity: 0.92;
}
.customer-search-result-body { min-width: 0; display: grid; gap: 8px; }
.customer-search-result-body strong { color: var(--text); font-size: 17px; }
.customer-search-result-body p,
.customer-search-result-body small { margin: 0; color: var(--muted); line-height: 1.85; }
.customer-search-result-meta { margin-top: 2px; }
.customer-search-result-summary { display: block; }
.customer-search-result-actions { display: flex; justify-content: flex-end; }
.customer-search-result-actions.is-exact {
  justify-content: flex-start;
  padding-top: 4px;
}
.customer-search-result-actions.is-exact .btn {
  min-width: 168px;
  min-height: 46px;
  border-radius: 16px;
  box-shadow: 0 10px 18px rgba(36, 77, 102, 0.16);
}
.customer-search-empty {
  border: 1px dashed rgba(36, 77, 102, 0.14);
  border-radius: 20px;
  padding: 18px;
  color: var(--muted);
  background: rgba(255,255,255,0.6);
  line-height: 1.9;
}
.customer-needs-grid { display: grid; gap: 14px; }
.customer-need-card { border: 1px solid rgba(36, 77, 102, 0.1); border-radius: 22px; padding: 16px; background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,251,0.96)); box-shadow: 0 14px 28px rgba(18, 37, 51, 0.05); display: grid; gap: 12px; }
.customer-need-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.customer-need-card-head h4 { margin: 0 0 4px; color: var(--text); }
.customer-need-card-head p { margin: 0; color: var(--muted); }
.customer-stage-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border-radius: 999px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.customer-stage-badge.stage-new { background: rgba(36, 77, 102, 0.08); color: var(--primary); }
.customer-stage-badge.stage-contacted { background: rgba(80, 120, 180, 0.12); color: #2f5f9a; }
.customer-stage-badge.stage-visit_scheduled { background: rgba(25, 137, 99, 0.12); color: #1c6e53; }
.customer-stage-badge.stage-negotiation { background: rgba(209, 125, 34, 0.14); color: #9b5f12; }
.customer-stage-badge.stage-won { background: rgba(32, 145, 84, 0.16); color: #166f45; }
.customer-stage-badge.stage-lost { background: rgba(177, 58, 58, 0.14); color: #9a3434; }
.customer-need-note { margin: 0; color: var(--muted); line-height: 1.9; }
.customer-need-note strong { color: var(--text); }
.customer-need-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.customer-need-actions .btn { flex: 1; min-width: 140px; }
.customer-match-results { display: grid; gap: 10px; }
.customer-match-list { display: grid; gap: 10px; }
.customer-match-item { border: 1px solid rgba(36, 77, 102, 0.08); border-radius: 18px; padding: 12px; background: rgba(255,255,255,0.82); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.customer-match-score { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(180deg, #244d66, #356988); color: #fff; font-weight: 900; box-shadow: 0 12px 20px rgba(36, 77, 102, 0.2); }
.customer-match-body { min-width: 0; display: grid; gap: 6px; }
.customer-match-body strong { color: var(--text); }
.customer-match-body p { margin: 0; color: var(--muted); }
.customer-match-body small { color: var(--muted); line-height: 1.8; }
.preview-nearby-card { border: 1px solid rgba(36, 77, 102, 0.1); border-radius: 22px; padding: 16px; background: radial-gradient(circle at top left, rgba(36, 77, 102, 0.08), transparent 26%), linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,247,251,0.97)); box-shadow: 0 18px 36px rgba(18, 37, 51, 0.06); }
.preview-nearby-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.preview-nearby-head h5 { margin: 0 0 4px; font-size: 16px; color: var(--text); }
.preview-nearby-head p { margin: 0; font-size: 13px; color: var(--muted); line-height: 1.8; }
.preview-nearby-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: rgba(36, 77, 102, 0.09); color: var(--primary); font-size: 12px; font-weight: 800; white-space: nowrap; }
.preview-nearby-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.preview-nearby-item { border-radius: 18px; border: 1px solid rgba(36, 77, 102, 0.08); background: rgba(255,255,255,0.88); padding: 12px; display: grid; gap: 10px; min-height: 148px; }
.preview-nearby-item-head { display: flex; align-items: flex-start; gap: 10px; }
.preview-nearby-icon { width: 36px; height: 36px; border-radius: 12px; display: inline-grid; place-items: center; background: rgba(36, 77, 102, 0.1); color: var(--primary); font-size: 16px; font-weight: 900; flex: 0 0 36px; }
.preview-nearby-item-head h6 { margin: 0 0 4px; font-size: 14px; color: var(--text); }
.preview-nearby-item-head p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.preview-nearby-item-detail { font-size: 18px; font-weight: 900; color: #163d58; line-height: 1.5; }
.preview-nearby-footnote { color: var(--muted); font-size: 12px; line-height: 1.8; }
.preview-nearby-item.is-loading .preview-nearby-item-detail { color: var(--primary); }
.preview-nearby-item.is-loading { background: linear-gradient(180deg, rgba(240,246,250,0.98), rgba(255,255,255,0.95)); }
.preview-nearby-item.is-empty,
.preview-nearby-item.is-error { background: linear-gradient(180deg, rgba(250,252,253,0.98), rgba(244,248,251,0.96)); }
.preview-nearby-item.is-error .preview-nearby-item-detail { color: var(--danger); }
.preview-nearby-item.is-ready .preview-nearby-item-detail { color: #174d6d; }
body[data-theme='dark'] .preview-modal-body { background: radial-gradient(circle at top right, rgba(91, 140, 168, 0.12), transparent 22%), linear-gradient(180deg, rgba(26, 35, 44, 0.98), rgba(21, 30, 38, 0.98)); }
body[data-theme='dark'] .share-modal-body { background: linear-gradient(180deg, rgba(24, 34, 43, 0.98), rgba(19, 28, 37, 0.98)); }
body[data-theme='dark'] .share-modal-intro,
body[data-theme='dark'] .share-link-result { border-color: rgba(118, 154, 180, 0.16); background: linear-gradient(180deg, rgba(34, 47, 58, 0.96), rgba(26, 39, 49, 0.96)); }
body[data-theme='dark'] .share-modal-tips span { background: rgba(99, 153, 191, 0.14); color: #d9ecfa; }
body[data-theme='dark'] .customer-search-badge,
body[data-theme='dark'] .customer-search-hints span,
body[data-theme='dark'] .customer-search-criteria-chips span,
body[data-theme='dark'] .customer-search-count-badge.alt {
  background: rgba(99, 153, 191, 0.14);
  color: #d9ecfa;
}
body[data-theme='dark'] .customer-search-guide-card,
body[data-theme='dark'] .customer-search-modal-hero,
body[data-theme='dark'] .customer-search-modal-section,
body[data-theme='dark'] .customer-search-result-card {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.98), rgba(24, 34, 43, 0.98));
}
body[data-theme='dark'] .customer-search-result-card.is-exact {
  background:
    radial-gradient(circle at top left, rgba(90, 142, 177, 0.12), transparent 26%),
    linear-gradient(180deg, rgba(30, 42, 53, 0.99), rgba(24, 34, 43, 0.98));
}
body[data-theme='dark'] .customer-search-score-ring.is-exact {
  background: linear-gradient(180deg, #426f8b, #355f79);
  box-shadow: 0 8px 16px rgba(4, 14, 22, 0.24);
}
body[data-theme='dark'] .customer-search-modal-body {
  background: radial-gradient(circle at top right, rgba(91, 140, 168, 0.12), transparent 22%), linear-gradient(180deg, rgba(26, 35, 44, 0.98), rgba(21, 30, 38, 0.98));
}
body[data-theme='dark'] .customer-search-modal-head p { color: rgba(255,255,255,0.82); }
body[data-theme='dark'] .customer-search-count-badge {
  background: rgba(52, 156, 111, 0.16);
  color: #c8f0de;
}
body[data-theme='dark'] .customer-search-empty {
  border-color: rgba(138, 175, 202, 0.16);
  background: rgba(18, 28, 37, 0.4);
}
body[data-theme='dark'] .share-modal-intro::before {
  background: rgba(105, 156, 193, 0.14);
  color: #d9ecfa;
}
body[data-theme='dark'] .share-modal-head p { color: rgba(255,255,255,0.8); }
body[data-theme='dark'] .share-link-result::before {
  background: rgba(79, 166, 128, 0.18);
  color: #d8f4e6;
}
body[data-theme='dark'] .share-link-box input {
  background: linear-gradient(180deg, rgba(25, 35, 44, 0.98), rgba(30, 42, 52, 0.98));
  border-color: rgba(118, 154, 180, 0.18);
  color: #eef7ff;
}
body[data-theme='dark'] .preview-gallery-wrap,
body[data-theme='dark'] .preview-hero-card,
body[data-theme='dark'] .preview-stat,
body[data-theme='dark'] .preview-section,
body[data-theme='dark'] .preview-nearby-card,
body[data-theme='dark'] .preview-nearby-item,
body[data-theme='dark'] .customer-need-card,
body[data-theme='dark'] .customer-match-item { border-color: rgba(138, 175, 202, 0.12); background: linear-gradient(180deg, rgba(29, 40, 50, 0.98), rgba(24, 34, 43, 0.98)); }
body[data-theme='dark'] .preview-gallery-badge,
body[data-theme='dark'] .preview-kicker,
body[data-theme='dark'] .preview-nearby-badge,
body[data-theme='dark'] .preview-address-coords { background: rgba(138, 175, 202, 0.12); color: #d7e8f4; }
body[data-theme='dark'] .preview-gallery-badge.muted,
body[data-theme='dark'] .preview-stat strong,
body[data-theme='dark'] .preview-nearby-item-head p,
body[data-theme='dark'] .preview-nearby-footnote { color: #a9bfce; }
body[data-theme='dark'] .preview-price-pill { background: linear-gradient(180deg, #4f7e9e, #3e6b89); }
body[data-theme='dark'] .preview-nearby-icon { background: rgba(138, 175, 202, 0.12); color: #d8e8f4; }
body[data-theme='dark'] .preview-nearby-item-detail,
body[data-theme='dark'] .preview-stat b,
body[data-theme='dark'] .preview-title { color: #edf5fb; }
body[data-theme='dark'] .preview-description,
body[data-theme='dark'] .preview-section h5 { color: #b8cad7; }
.entertainment-panel { gap: 16px; }
.entertainment-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.entertainment-headline h3 { margin: 0 0 6px; }
.entertainment-headline p { margin: 0; max-width: 720px; }
.game-meta-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.game-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(236, 244, 250, 0.86);
  color: #26455d;
  font-size: 12px;
  font-weight: 800;
}
.entertainment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
  gap: 16px;
  align-items: start;
}
.entertainment-layout-sudoku { grid-template-columns: minmax(0, 1fr) minmax(240px, 280px); }
.game-surface,
.game-side-card,
.guess-panel {
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(242, 247, 250, 0.92));
  box-shadow: 0 16px 28px rgba(15, 31, 44, 0.08);
}
.game-surface { padding: 18px; }
.game-surface-sudoku {
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.86), transparent 52%),
    linear-gradient(180deg, rgba(242, 247, 255, 0.98), rgba(233, 241, 248, 0.98));
}
.game-side-panel { display: grid; gap: 12px; }
.game-side-card { padding: 16px; }
.game-side-card h4 { margin: 0 0 8px; color: #214055; }
.game-actions-stack { display: grid; gap: 10px; }
.game-actions-stack .btn { width: 100%; }
.sudoku-board {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 0;
  width: min(100%, 520px);
  margin: 0 auto;
  border: 2px solid rgba(36, 77, 102, 0.2);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.86);
}
.sudoku-cell {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(36, 77, 102, 0.12);
  text-align: center;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  background: transparent;
  color: var(--text);
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.sudoku-cell:focus {
  outline: none;
  background: rgba(47, 121, 174, 0.1);
  box-shadow: inset 0 0 0 2px rgba(47, 121, 174, 0.34);
}
.sudoku-cell-fixed {
  background: rgba(222, 233, 241, 0.88);
  color: #19384d;
}
.sudoku-cell-invalid {
  background: rgba(233, 84, 84, 0.12);
  color: #b13131;
}
.sudoku-cell-hint {
  background: rgba(51, 163, 111, 0.16);
  color: #1e6e4c;
}
.sudoku-cell-block-right { border-right: 2px solid rgba(36, 77, 102, 0.22); }
.sudoku-cell-block-bottom { border-bottom: 2px solid rgba(36, 77, 102, 0.22); }
.ttt-status-bar {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.ttt-status-card {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: rgba(239, 246, 250, 0.84);
}
.ttt-status-card small { display: block; margin-bottom: 4px; color: #6a7f92; }
.ttt-status-card strong { color: #21384b; font-size: 15px; }
.ttt-mode-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.ttt-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  gap: 10px;
  width: min(100%, 360px);
  margin: 0 auto;
}
.ttt-cell {
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(36, 77, 102, 0.14);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(236, 243, 247, 0.92));
  color: #21384b;
  font-size: clamp(34px, 4.2vw, 44px);
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(16, 31, 42, 0.08);
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}
.ttt-cell:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 16px 24px rgba(16, 31, 42, 0.12);
}
.ttt-cell:disabled { opacity: 0.92; cursor: not-allowed; }
.ttt-cell-x { color: #2a6fa5; }
.ttt-cell-o { color: #b05b4e; }
.ttt-cell-winning {
  border-color: rgba(44, 134, 89, 0.5);
  background: linear-gradient(180deg, rgba(232, 250, 239, 0.98), rgba(212, 243, 223, 0.96));
  box-shadow: 0 18px 30px rgba(28, 111, 73, 0.16);
}
.guess-panel {
  padding: 18px;
  display: grid;
  gap: 16px;
}
.guess-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.guess-hero strong { color: #20394d; font-size: 18px; }
.guess-actions { align-items: stretch; }
.guess-actions input { flex: 1 1 180px; min-width: 0; }

body[data-theme='dark'] .game-chip {
  background: rgba(14, 26, 36, 0.4);
  border-color: rgba(138, 175, 202, 0.12);
  color: #dbeaf7;
}
body[data-theme='dark'] .game-surface,
body[data-theme='dark'] .game-side-card,
body[data-theme='dark'] .guess-panel {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(33, 47, 59, 0.96), rgba(28, 39, 49, 0.96));
  box-shadow: 0 18px 30px rgba(2, 8, 14, 0.22);
}
body[data-theme='dark'] .game-surface-sudoku {
  background: linear-gradient(180deg, rgba(31, 45, 58, 0.98), rgba(24, 35, 44, 0.98));
}
body[data-theme='dark'] .game-side-card h4,
body[data-theme='dark'] .guess-hero strong,
body[data-theme='dark'] .ttt-status-card strong { color: #edf5fb; }
body[data-theme='dark'] .sudoku-board {
  background: rgba(18, 28, 37, 0.84);
  border-color: rgba(138, 175, 202, 0.2);
}
body[data-theme='dark'] .sudoku-cell {
  border-color: rgba(138, 175, 202, 0.12);
  color: #edf5fb;
}
body[data-theme='dark'] .sudoku-cell-fixed {
  background: rgba(49, 68, 84, 0.92);
  color: #f4f8fc;
}
body[data-theme='dark'] .sudoku-cell-invalid {
  background: rgba(192, 74, 74, 0.18);
  color: #ffb8b8;
}
body[data-theme='dark'] .sudoku-cell-hint {
  background: rgba(44, 134, 89, 0.24);
  color: #c7f0d9;
}
body[data-theme='dark'] .ttt-status-card {
  border-color: rgba(138, 175, 202, 0.12);
  background: rgba(15, 27, 37, 0.44);
}
body[data-theme='dark'] .ttt-status-card small { color: #b6c9d8; }
body[data-theme='dark'] .ttt-cell {
  border-color: rgba(138, 175, 202, 0.14);
  background: linear-gradient(180deg, rgba(42, 59, 72, 0.94), rgba(28, 39, 49, 0.94));
  color: #ecf5fb;
}
body[data-theme='dark'] .ttt-cell-winning {
  background: linear-gradient(180deg, rgba(29, 89, 61, 0.8), rgba(25, 70, 50, 0.84));
}

@media (max-width: 980px) {
  .search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .search-grid-simple { grid-template-columns: 1fr; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .property-form-fields { grid-template-columns: 1fr; }
  .category-widget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .subcategory-widget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-widget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-widget-sheet { width: min(100%, 820px); }
  .tool-widget-sheet-entertainment {
    width: min(100%, 820px);
    max-height: calc(100vh - 90px);
    margin-top: 0;
  }
  .entertainment-layout,
  .entertainment-layout-sudoku { grid-template-columns: 1fr; }
  .leaflet-map { height: 240px; }
  .preview-grid { grid-template-columns: 1fr; }
  .preview-gallery-wrap { position: static; }
  .preview-nearby-grid { grid-template-columns: 1fr; }
  .customer-search-guide-grid,
  .customer-search-modal-hero { grid-template-columns: 1fr; }
  .preview-image, .preview-placeholder { height: 200px; }
  .property-form-layout { grid-template-columns: 1fr; }
  .user-area-modal { padding: 14px; }
  .user-area-dialog { width: min(100vw, 980px); max-height: 92vh; }
  .user-area-shell { flex-direction: column; min-height: auto; }
  .user-area-sidebar {
    width: 100%;
    flex-basis: auto;
    border-left: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 16px;
  }
  .user-area-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .user-area-nav-btn {
    min-height: 88px;
    display: flex;
    align-items: center;
  }
  .dashboard-shell > .tabs,
  .dashboard-shell > .tabs.tabs-dock {
    display: none !important;
  }
  .dashboard-shell > .mobile-floating-nav {
    display: block !important;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2205;
    padding: 0 10px;
  }
  .topbar #addPropertyBtn {
    display: none;
  }
  .panel {
    padding: 12px 12px calc(118px + env(safe-area-inset-bottom));
  }
  .mobile-floating-nav-shell {
    width: min(100%, 460px);
    margin: 0 auto;
    min-height: 92px;
    border-radius: 24px 24px 0 0;
    background:
      radial-gradient(circle at 50% -8%, rgba(86, 124, 255, 0.20), transparent 28%),
      linear-gradient(180deg, rgba(255,255,255,0.985), rgba(244,248,252,0.975));
  }
  .mobile-floating-nav-btn {
    gap: 7px;
  }
  .mobile-floating-nav-btn.active .mobile-floating-nav-icon {
    transform: translateY(-1px);
  }
  .mobile-floating-nav-icon {
    width: 26px;
    height: 26px;
    color: currentColor;
  }
  .mobile-floating-nav-label {
    font-size: 10px;
    letter-spacing: -0.01em;
  }
  .mobile-floating-nav-add {
    transform: translateY(-22px);
  }
  .mobile-floating-nav-add-core {
    width: 74px;
    height: 74px;
    box-shadow:
      0 22px 36px rgba(73, 90, 255, 0.30),
      inset 0 1px 0 rgba(255,255,255,0.42);
  }
  .user-area-sidebar-footer { margin-top: 0; padding-top: 0; border-top: none; }
  .user-area-content { padding: 22px 20px 20px; }
}

@media (max-width: 600px) {
  .preview-modal-card {
    width: 100vw;
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
  }
  .preview-modal-head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 14px;
  }
  .preview-modal-head h3 { font-size: 18px; }
  .preview-modal-head .btn {
    min-width: 72px;
    min-height: 40px;
    border-radius: 12px;
  }
  .preview-modal-body {
    padding: 12px 12px calc(18px + env(safe-area-inset-bottom));
  }
  .preview-grid { gap: 14px; }
  .preview-gallery-wrap,
  .preview-hero-card,
  .preview-nearby-card,
  .preview-section { border-radius: 18px; }
  .preview-gallery { grid-template-columns: 1fr; }
  .preview-gallery-topbar { align-items: stretch; }
  .preview-gallery-badge { justify-content: center; width: 100%; }
  .preview-image,
  .preview-placeholder { height: 220px; }
  .preview-hero-main {
    flex-direction: column;
    align-items: stretch;
  }
  .preview-price-pill {
    width: 100%;
    justify-content: center;
  }
  .preview-title { font-size: 22px; }
  .preview-description { font-size: 14px; }
  .preview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preview-stat {
    min-height: 78px;
    align-content: start;
  }
  .preview-nearby-head,
  .preview-section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .preview-copy-btn,
  .preview-link { width: 100%; }
  .preview-links {
    display: grid;
    grid-template-columns: 1fr;
  }
  .property-content-assistant,
  .client-presentation-hero,
  .client-presentation-card {
    border-radius: 18px;
    padding: 14px;
  }
  .property-content-assistant-launch {
    align-items: stretch;
  }
  .property-content-assistant-launch .btn {
    width: 100%;
  }
  .property-content-assistant-head,
  .client-presentation-card-head,
  .client-presentation-hero {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .property-content-assistant-actions,
  .property-content-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .property-content-assistant-grid,
  .client-presentation-layout {
    grid-template-columns: 1fr;
  }
  .property-content-assistant-modal {
    padding: 10px;
  }
  .property-content-assistant-dialog {
    max-height: calc(100vh - 20px);
    padding: 16px;
    border-radius: 20px;
  }
  .property-content-assistant-head {
    position: sticky;
    top: -16px;
    z-index: 3;
    margin: -16px -16px 0;
    padding: 16px;
    background:
      linear-gradient(180deg, rgba(246, 250, 253, 0.98), rgba(246, 250, 253, 0.92));
    border-bottom: 1px solid rgba(36, 77, 102, 0.08);
    backdrop-filter: blur(8px);
  }
  .client-presentation-modal-card {
    width: 100vw;
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
  }
  .client-presentation-head {
    padding: 18px 14px;
  }
  .client-presentation-body {
    padding: 12px 12px calc(18px + env(safe-area-inset-bottom));
  }
  .client-presentation-hero h4 {
    font-size: 21px;
  }
  .share-modal-actions,
  .share-link-box,
  .customer-match-item { grid-template-columns: 1fr; }
  .customer-search-modal-card {
    width: 100vw;
    max-height: 100vh;
    height: 100vh;
    border-radius: 0;
  }
  .customer-search-modal-head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 18px 14px 14px;
  }
  .customer-search-modal-head h3 { font-size: 22px; }
  .customer-search-modal-body { padding: 14px 12px calc(18px + env(safe-area-inset-bottom)); }
  .customer-search-modal-body { max-height: calc(100vh - 110px); }
  .customer-search-result-top {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }
  .customer-search-result-title-row {
    flex-direction: column;
    align-items: stretch;
  }
  .customer-search-score-ring {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 14px;
    box-shadow: 0 8px 14px rgba(36, 77, 102, 0.14);
  }
  .customer-search-score-ring small { font-size: 8px; }
  .customer-search-score-ring.is-exact {
    width: 52px;
    height: 34px;
    border-radius: 12px;
    font-size: 14px;
    align-self: flex-start;
    flex: 0 0 52px;
  }
  .customer-search-score-ring.is-exact small { font-size: 8px; }
  .customer-search-result-actions.is-exact .btn {
    width: 100%;
    min-width: 0;
  }
  .customer-search-result-actions .btn,
  .customer-search-panel-head .btn { width: 100%; }
  .share-link-box .btn,
  .share-modal-actions .btn { width: 100%; }
  .share-modal-actions .btn { min-height: 84px; padding: 16px; border-radius: 20px; }
  .share-modal-card { width: min(100vw - 16px, 760px); border-radius: 24px; }
  .share-modal-head { padding: 18px 16px; }
  .share-modal-body { padding: 16px; }
  .share-modal-intro,
  .share-link-result { padding: 14px; border-radius: 18px; }
  .share-link-box input,
  .share-link-box .btn { min-height: 48px; }
  .customer-match-score { width: 100%; height: 52px; }
  .customer-leads-head,
  .customer-need-card-head,
  .customer-search-head,
  .customer-search-panel-head,
  .customer-search-modal-section-head { flex-direction: column; }
  .customer-need-actions .btn { min-width: 0; width: 100%; }
  .dashboard-shell { padding: 8px; }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    border-radius: 10px;
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
  }
  .topbar-brand { gap: 10px; }
  .topbar-brand-logo { width: 46px; height: 46px; flex-basis: 46px; border-radius: 14px; padding: 7px; }
  .topbar h1 { font-size: 18px; }
  .topbar small { font-size: 11px; }
  .topbar-brand-copy { min-width: 0; }
  .topbar-actions {
    width: auto;
    justify-content: flex-start;
    justify-self: end;
    align-self: start;
    margin: 0;
  }
  .topbar #openUserAreaBtn.topbar-user-btn {
    min-width: 110px;
    padding: 6px 7px 6px 9px;
    border-radius: 13px;
    gap: 5px;
    box-shadow: 0 8px 16px rgba(19, 43, 64, 0.05);
  }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-main { gap: 8px; }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy strong { font-size: 10px; }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-copy small { font-size: 8px; }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-icon { width: 24px; height: 24px; border-radius: 8px; flex-basis: 24px; }
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-icon .app-svg-icon,
  .topbar #openUserAreaBtn.topbar-user-btn .topbar-user-btn-chevron .app-svg-icon { width: 12px; height: 12px; }
  .mobile-home-quick-actions,
  .mobile-home-modal { display: flex; }
  .desktop-home-quick-actions { display: none; }
  .desktop-search-reset-slot { display: none; }
  .mobile-home-quick-actions { display: block; }
  .mobile-floating-compare-btn {
    top: -48px;
    left: 12px;
    gap: 8px;
    min-height: 42px;
    padding: 0 14px 0 11px;
    border-radius: 18px;
    border-color: rgba(167, 196, 220, 0.96);
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.92), transparent 40%),
      linear-gradient(135deg, rgba(255,255,255,0.98), rgba(236,244,250,0.98) 52%, rgba(228,239,248,0.96));
    color: #1d4d72;
    box-shadow:
      0 16px 30px rgba(17, 46, 71, 0.16),
      0 6px 14px rgba(36, 77, 102, 0.10),
      inset 0 1px 0 rgba(255,255,255,0.94);
    backdrop-filter: blur(14px) saturate(1.12);
  }
  .mobile-floating-compare-btn.active {
    color: #103b5d;
    border-color: rgba(104, 155, 195, 0.96);
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.98), transparent 36%),
      linear-gradient(135deg, rgba(245,251,255,0.99), rgba(219,235,246,0.99) 55%, rgba(201,225,241,0.98));
    box-shadow:
      0 18px 34px rgba(18, 65, 102, 0.22),
      0 8px 18px rgba(36, 77, 102, 0.12),
      inset 0 1px 0 rgba(255,255,255,0.98);
  }
  .mobile-floating-compare-icon {
    width: 22px;
    height: 22px;
    border-radius: 12px;
    background: rgba(36, 77, 102, 0.10);
    color: currentColor;
    flex: 0 0 22px;
  }
  .mobile-floating-compare-icon .app-svg-icon {
    width: 14px;
    height: 14px;
  }
  .mobile-floating-compare-label {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: -0.01em;
  }
  .tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .tabs .tab-btn[data-tab='customers'] { display: none; }
  .tabs-dock {
    padding: 10px;
    border-radius: 26px;
    gap: 8px;
    scroll-snap-type: x proximity;
  }
  .tab-btn { white-space: nowrap; min-width: max-content; padding: 9px 12px; }
  .tab-btn-dock {
    min-width: 118px;
    padding: 10px 12px;
    gap: 10px;
    border-radius: 20px;
    scroll-snap-align: start;
  }
  .tab-btn-icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    flex-basis: 42px;
  }
  .tab-btn-icon .app-svg-icon {
    width: 21px;
    height: 21px;
  }
  .tab-btn-copy strong { font-size: 14px; }
  .tab-btn-copy small { display: none; }
  .subtabs { flex-wrap: nowrap; overflow-x: auto; }
  .subtab-btn { white-space: nowrap; min-width: max-content; }
  .panel { padding: 12px 12px calc(118px + env(safe-area-inset-bottom)); border-radius: 12px; }
  .tool-hub { gap: 14px; }
  .tool-hub-hero { padding: 16px 14px 14px; border-radius: 18px; }
  .tool-hub-hero h3 { font-size: 21px; }
  .tool-hub-hero p { font-size: 13px; line-height: 1.85; }
  .tool-widget-grid { grid-template-columns: 1fr; gap: 10px; }
  .tool-widget { grid-template-columns: 54px 1fr; gap: 12px; padding: 14px; border-radius: 18px; }
  .tool-widget-icon { width: 54px; height: 54px; border-radius: 16px; }
  .tool-widget-icon .app-svg-icon { width: 28px; height: 28px; }
  .tool-widget-copy strong { font-size: 16px; }
  .tool-widget-copy span { font-size: 12px; line-height: 1.75; }
  .tool-widget-modal {
    padding: 0;
    align-items: stretch;
    justify-items: stretch;
  }
  .tool-widget-modal-entertainment {
    padding-top: 0;
    align-items: stretch;
  }
  .tool-widget-backdrop { backdrop-filter: blur(2px); }
  .tool-widget-sheet {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
  .tool-widget-sheet-entertainment {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin-top: 0;
    margin-bottom: 0;
  }
  .tool-widget-sheet-head {
    padding: max(14px, env(safe-area-inset-top)) 14px 12px;
  }
  .tool-widget-sheet-entertainment .tool-widget-sheet-head {
    position: sticky;
    top: 0;
    z-index: 8;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 252, 0.96));
  }
  .tool-widget-sheet-hero { grid-template-columns: 52px 1fr; gap: 10px; }
  .tool-widget-sheet-icon { width: 52px; height: 52px; border-radius: 16px; }
  .tool-widget-sheet-icon .app-svg-icon { width: 26px; height: 26px; }
  .tool-widget-sheet-hero h3 { font-size: 20px; }
  .tool-widget-sheet-hero p { font-size: 12px; line-height: 1.8; }
  .tool-widget-sheet-close { width: 38px; height: 38px; border-radius: 12px; }
  .tool-widget-sheet-entertainment .tool-widget-sheet-close {
    position: relative;
    z-index: 9;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 18px rgba(14, 31, 46, 0.12);
  }

  .email-verification-modal {
    padding: 0;
    align-items: end;
  }

  .email-verification-card {
    width: 100%;
    max-height: 94vh;
    border-radius: 26px 26px 0 0;
    padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
  }

  .email-verification-header {
    padding: 12px;
  }

  .email-verification-header h4 {
    font-size: 19px;
  }

  .email-verification-inputs {
    gap: 8px;
  }

  .email-verification-digit {
    min-height: 54px;
    border-radius: 16px;
    font-size: 20px;
  }

  .email-verification-actions .btn,
  .email-verification-meta .btn {
    width: 100%;
  }

  .panel-code-help-card {
    width: min(100vw - 16px, 560px);
    border-radius: 24px;
    padding: 18px 14px;
  }

  .panel-code-help-header {
    padding: 12px;
  }

  .panel-code-help-hero strong {
    font-size: 15px;
  }
  .tool-widget-sheet-body {
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom));
    max-height: calc(100dvh - 92px);
  }
  .tool-widget-sheet-body-entertainment > .tool-widget-panel { width: 100%; }
  .tool-widget-panel > h3 { font-size: 19px; }
  .entertainment-headline { gap: 12px; }
  .game-meta-chips { width: 100%; }
  .game-surface,
  .game-side-card,
  .guess-panel { border-radius: 18px; }
  .game-surface { padding: 14px; }
  .sudoku-board { width: 100%; max-width: 100%; }
  .sudoku-cell { font-size: 17px; }
  .ttt-status-bar { grid-template-columns: 1fr; }
  .ttt-board { width: 100%; max-width: 320px; gap: 8px; }
  .ttt-cell { border-radius: 18px; }
  .guess-actions { flex-direction: column; }
  .guess-actions .btn,
  .guess-actions input { width: 100%; }
  .preview-modal-head h3 { font-size: 19px; }
  .preview-modal-body { padding: 12px; }
  .share-modal-head { align-items: flex-start; }
  .share-modal-head h3 { font-size: 23px; }
  .share-modal-body { padding: 14px; }
  .share-modal-intro,
  .share-link-result { padding: 12px; border-radius: 16px; }
  .preview-title { font-size: 22px; }
  .card { padding: 12px; }
  .property-grid { grid-template-columns: 1fr; gap: 10px; }
  .property-card {
    padding: 12px 12px 11px;
    border-radius: 22px;
    gap: 11px;
  }
  .property-card-kicker {
    font-size: 11px;
  }
  .property-card-badge {
    width: 32px;
    height: 32px;
    border-radius: 11px;
    flex-basis: 32px;
  }
  .cover,
  .cover.placeholder {
    border-radius: 16px;
  }
  .property-card-media-top {
    top: 10px;
    right: 10px;
  }
  .property-card-chips {
    gap: 6px;
  }
  .property-chip {
    min-height: 30px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 10px;
  }
  .property-card-title {
    font-size: 16px;
  }
  .property-card-address {
    font-size: 11px;
  }
  .property-card-meta-grid {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .property-card-price-row {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 9px 10px;
  }
  .property-card-price-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .property-card-ribbon {
    min-height: 32px;
    padding: 0 10px;
    font-size: 10px;
  }
  .property-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .property-action-btn {
    min-height: 40px;
    border-radius: 13px;
    font-size: 11px;
    gap: 4px;
    padding: 0 6px;
  }
  .property-action-btn-icon .app-svg-icon {
    width: 13px;
    height: 13px;
  }
  .image-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-form { gap: 14px; }
  .property-form-hero { padding: 16px; border-radius: 20px; }
  .property-form-hero-copy h2 { font-size: 24px; }
  .property-form-hero-copy p { font-size: 13px; }
  .property-form-hero-meta { grid-template-columns: 1fr; }
  .property-form-section { padding: 14px; border-radius: 18px; }
  .property-form-section-head { flex-direction: column; }
  .property-form-section-head h3 { font-size: 17px; }
  .property-form-field input:not([type='checkbox']):not([type='radio']),
  .property-form-field textarea,
  .property-form-upload input[type='file'] { min-height: 50px; border-radius: 14px; }
  .property-form-field textarea { min-height: 118px; }
  .property-form-star-toggle { min-height: 50px; }
  .property-form-image-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-form-map-card { padding: 10px; border-radius: 18px; }
  .property-form-actions { display: grid; grid-template-columns: 1fr; }
  .search-grid { grid-template-columns: 1fr; }
  .properties-mobile-layout > .search-widget-board,
  .properties-mobile-layout > .search-grid-simple { display: none; }
  .search-grid-simple .row-actions { grid-column: 1 / -1; width: 100%; }
  .search-widget-board,
  .property-classification-card { padding: 14px; border-radius: 18px; }
  .classification-ladder-grid { grid-template-columns: 1fr; }
  .category-widget-grid,
  .subcategory-widget-grid { grid-template-columns: 1fr; }
  .category-widget,
  .subcategory-widget { border-radius: 16px; padding: 12px; }
  .compact-classification-nav,
  .compact-classification-subnav { display: grid; grid-template-columns: 1fr; }
  .category-widget-icon,
  .subcategory-widget-icon { width: 42px; height: 42px; border-radius: 13px; }
  .search-widget-head h3,
  .property-classification-head h3 { font-size: 17px; }
  .classification-meta-item,
  .search-results-banner > span { min-width: 100%; }
  .current-view-banner { display: none; }
  .topbar-actions, .row-actions, .property-actions { width: 100%; }
  .topbar-actions .btn, .row-actions .btn, .property-actions .btn { flex: 1; }
  .btn { min-height: 42px; }
  .mobile-home-quick-actions { margin-bottom: 12px; padding: 14px; border-radius: 24px; }
  .mobile-home-quick-actions-head { gap: 8px; margin-bottom: 10px; }
  .mobile-home-quick-actions-head strong { font-size: 17px; }
  .mobile-home-quick-actions-kicker { min-height: 22px; padding: 0 9px; font-size: 9px; }
  .mobile-home-quick-actions-head p { max-width: 100%; line-height: 1.65; }
  .mobile-home-quick-actions-meta { gap: 6px; margin-bottom: 10px; }
  .mobile-home-quick-actions-meta span { min-height: 24px; padding: 0 9px; font-size: 9px; }
  .mobile-home-quick-grid { gap: 10px; }
  .mobile-home-quick-card { min-height: 136px; padding: 11px; border-radius: 22px; gap: 9px; }
  .mobile-home-quick-card-top { gap: 8px; }
  .mobile-home-quick-card-arrow { width: 30px; height: 30px; border-radius: 11px; }
  .mobile-home-quick-card-arrow svg { width: 16px; height: 16px; }
  .mobile-home-quick-card-icon { width: 48px; height: 48px; border-radius: 15px; }
  .mobile-home-quick-card-icon .app-svg-icon { width: 24px; height: 24px; }
  .mobile-home-quick-card-copy strong { font-size: 13px; }
  .mobile-home-quick-card-copy small { font-size: 10px; line-height: 1.55; }
  .mobile-home-modal-card { max-height: 94vh; }
  .mobile-home-modal.is-customer-needs {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }
  .mobile-home-modal.is-address-search {
    align-items: stretch;
    justify-content: stretch;
    padding: 0;
  }
  .mobile-home-modal.is-customer-needs .mobile-home-modal-card {
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
  .mobile-home-modal.is-address-search .mobile-home-modal-card {
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
  .mobile-home-modal.is-customer-needs .mobile-home-modal-body {
    max-height: calc(100vh - 92px);
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom));
  }
  .mobile-home-modal.is-address-search .mobile-home-modal-body {
    max-height: calc(100vh - 92px);
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom));
  }
  .mobile-home-modal-head {
    padding: max(14px, env(safe-area-inset-top)) 14px 12px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,249,252,0.94));
    backdrop-filter: blur(10px);
  }
  .mobile-home-modal-head h3 { font-size: 16px; }
  .mobile-home-modal-head p { font-size: 11px; }
  .mobile-home-modal-body { padding: 14px 14px calc(16px + env(safe-area-inset-bottom)); }
  .mobile-home-modal-form .row-actions { width: 100%; }
  .mobile-home-modal-form .row-actions .btn { width: 100%; }
  .properties-mobile-layout #propertiesPanel {
    padding-bottom: 0;
  }
  .properties-mobile-layout #propertiesPanel .card:last-child,
  .properties-mobile-layout #propertiesPanel .property-grid:last-child,
  .properties-mobile-layout #propertiesPanel .stack:last-child {
    margin-bottom: 0;
  }
  .mobile-search-reset-fab {
    position: absolute;
    top: -48px;
    right: 14px;
    left: auto;
    bottom: auto;
    transform: none;
    z-index: 2212;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    width: auto;
    max-width: min(calc(100vw - 108px), 250px);
    padding: 0 14px 0 11px;
    border: 1px solid rgba(168, 196, 219, 0.94);
    border-radius: 18px;
    background:
      radial-gradient(circle at top left, rgba(255,255,255,0.94), transparent 38%),
      linear-gradient(135deg, rgba(255,255,255,0.985), rgba(237,245,250,0.98) 55%, rgba(228,239,247,0.96));
    color: #17496c;
    backdrop-filter: blur(16px) saturate(1.08);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,0.92),
      0 16px 30px rgba(18, 45, 69, 0.18),
      0 6px 14px rgba(36, 77, 102, 0.10);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  }
  .mobile-search-reset-fab:active {
    transform: translateY(1px);
  }
  .mobile-search-reset-fab-icon {
    width: 22px;
    height: 22px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    flex: 0 0 22px;
    background: rgba(31, 100, 185, 0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.66);
  }
  .mobile-search-reset-fab-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
  }
  .mobile-search-reset-fab-copy {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1;
  }
  .map-picker-head { flex-direction: column; align-items: stretch; }
  .map-picker-actions { width: 100%; }
  .map-picker-actions .btn { width: 100%; }
  .search-map-wrap.is-expanded .leaflet-map { height: 320px; }
  .leaflet-map { height: 220px; }
  .search-map-status-card,
  .search-map-controls { padding: 12px; }
  .search-map-radius-row,
  .map-picker-head { align-items: flex-start; }
  .search-map-modal { padding: 8px; }
  .search-map-modal {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
    background: rgba(8, 14, 22, 0.78);
    backdrop-filter: blur(10px);
  }
  .search-map-modal-card {
    width: 100%;
    height: 100dvh;
    border-radius: 0;
    border: none;
    box-shadow: none;
    grid-template-rows: auto 1fr;
  }
  .search-map-modal-head {
    position: relative;
    z-index: 530;
    padding: max(12px, env(safe-area-inset-top)) 12px 10px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 252, 0.88));
    backdrop-filter: blur(12px);
  }
  .search-map-modal-head h3 {
    font-size: 15px;
    line-height: 1.5;
    max-width: 65%;
  }
  .search-map-modal-actions {
    width: auto;
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .search-map-modal-actions .btn {
    flex: initial;
    min-height: 44px;
    padding-inline: 10px;
    font-size: 12px;
  }
  .search-map-legend {
    display: none;
  }
  .search-map-results-panel {
    left: 0;
    right: 0;
    width: auto;
    top: auto;
    bottom: 0;
    height: var(--search-map-sheet-height, min(21vh, 180px));
    border-radius: 26px 26px 0 0;
    border-left: none;
    border-right: none;
    border-bottom: none;
    box-shadow: 0 -18px 36px rgba(7, 18, 30, 0.22);
    transition: height 0.28s ease, box-shadow 0.28s ease;
  }
  .search-map-results-head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 10px 14px 10px;
    background: inherit;
    backdrop-filter: blur(10px);
    cursor: ns-resize;
    touch-action: none;
  }
  .search-map-sheet-grabber {
    width: 54px;
    height: 6px;
    margin: 2px auto 4px;
    background: rgba(88, 106, 121, 0.4);
  }
  .search-map-results-title-row { align-items: center; }
  .search-map-results-head h4 { font-size: 14px; }
  .search-map-results-head span { font-size: 11px; }
  .search-map-results-list {
    padding: 10px 12px calc(14px + env(safe-area-inset-bottom));
    gap: 8px;
  }
  .search-map-legend {
    top: calc(max(70px, env(safe-area-inset-top) + 58px));
    right: 12px;
    left: 12px;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 24px rgba(11, 22, 34, 0.14);
  }
  .search-map-legend-title {
    font-size: 10px;
    margin-bottom: 8px;
    text-align: center;
    color: #5a7184;
    letter-spacing: 0.1px;
  }
  .search-map-legend-items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }
  .search-map-legend-item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    font-size: 10px;
    line-height: 1.45;
    padding: 8px 4px;
    border-radius: 14px;
    background: rgba(246, 250, 253, 0.86);
    border: 1px solid rgba(36, 77, 102, 0.08);
  }
  .legend-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .search-map-result-card {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
  }
  .search-map-result-thumb {
    width: 100%;
    height: 148px;
    border-radius: 14px;
  }
  .search-map-result-thumb.placeholder {
    min-height: 148px;
    border-radius: 14px;
  }
  .search-map-result-body {
    gap: 10px;
  }
  .search-map-result-top {
    align-items: flex-start;
    gap: 10px;
  }
  .search-map-result-top strong {
    font-size: 14px;
    line-height: 1.6;
    flex: 1;
  }
  .search-map-result-top span {
    font-size: 10px;
    padding: 4px 8px;
    flex: 0 0 auto;
  }
  .search-map-result-tags {
    gap: 7px;
  }
  .search-map-result-tags span { font-size: 10px; padding: 3px 7px; }
  .search-map-result-body p {
    font-size: 11px;
    line-height: 1.8;
    color: #607488;
  }
  .search-map-result-bottom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
  }
  .search-map-result-bottom b {
    font-size: 13px;
    text-align: right;
  }
  .search-map-result-bottom .btn {
    width: 100%;
    min-height: 38px;
    padding: 8px 12px;
    font-size: 12px;
  }
  .toast-container { left: 10px; right: 10px; }
  .toast { min-width: 0; width: 100%; }
  .user-area-modal { padding: 8px; }
  .user-area-dialog { width: 100%; max-height: 95vh; border-radius: 18px; }
  .user-area-dialog {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    overflow: hidden;
  }
  .user-area-modal {
    inset: 0;
    padding: 0;
  }
  .user-area-backdrop {
    display: none;
  }
  .user-area-shell { display: none; }
  .user-area-mobile-home {
    display: flex;
    flex-direction: column;
    height: 100%;
    background:
      radial-gradient(circle at top right, rgba(86, 150, 225, 0.18), transparent 24%),
      linear-gradient(180deg, rgba(245, 249, 255, 0.98), rgba(232, 239, 248, 0.98));
    color: var(--text);
  }
  .user-area-mobile-home-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 16px 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 245, 252, 0.94));
    border-bottom: 1px solid rgba(169, 188, 207, 0.32);
  }
  .user-area-mobile-home-copy {
    display: grid;
    gap: 6px;
  }
  .user-area-mobile-home-copy span {
    font-size: 13px;
    color: var(--muted);
    letter-spacing: 0.02em;
  }
  .user-area-mobile-home-copy h2 {
    margin: 0;
    font-size: 31px;
    line-height: 1.1;
    color: #183548;
  }
  .user-area-mobile-home-copy p {
    margin: 0;
    color: #5d7086;
    font-size: 12px;
    line-height: 1.9;
  }
  .user-area-mobile-home-close {
    position: static;
    color: #26465d;
    border-color: rgba(169, 188, 207, 0.38);
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(232,239,247,0.94));
    box-shadow: 0 8px 18px rgba(33, 54, 71, 0.08);
  }
  .user-area-mobile-list {
    flex: 1;
    overflow-y: auto;
    padding: 14px 12px calc(18px + env(safe-area-inset-bottom));
    display: grid;
    gap: 12px;
    background:
      radial-gradient(circle at top right, rgba(64, 120, 255, 0.12), transparent 24%),
      linear-gradient(180deg, rgba(239, 245, 252, 0.98), rgba(228, 236, 245, 1));
  }
  .user-area-mobile-entry {
    width: 100%;
    border: 1px solid rgba(169, 188, 207, 0.24);
    border-radius: 26px;
    padding: 16px 14px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: right;
    color: var(--text);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(243, 247, 252, 0.98));
    box-shadow: 0 16px 34px rgba(24, 74, 140, 0.12);
  }
  .user-area-mobile-entry-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 10px 22px rgba(0,0,0,0.18);
  }
  .user-area-mobile-entry-icon .app-svg-icon,
  .user-area-mobile-entry-arrow .app-svg-icon,
  .user-area-mobile-panel-icon .app-svg-icon {
    width: 24px;
    height: 24px;
  }
  .user-area-mobile-entry-copy {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: 6px;
  }
  .user-area-mobile-entry-copy strong {
    font-size: 18px;
    color: #183548;
  }
  .user-area-mobile-entry-copy small {
    color: #64788f;
    font-size: 12px;
    line-height: 1.8;
  }
  .user-area-mobile-entry-arrow {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    color: #557089;
    border-radius: 12px;
    background: rgba(230, 238, 247, 0.96);
  }
  .user-area-mobile-entry.is-selected {
    border-color: rgba(87, 130, 170, 0.3);
  }
  .user-area-mobile-entry.accent-sky .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-sky {
    background: linear-gradient(180deg, #2f9bf4, #1f6fe5);
  }
  .user-area-mobile-entry.accent-amber .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-amber {
    background: linear-gradient(180deg, #ffb431, #f28a14);
  }
  .user-area-mobile-entry.accent-green .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-green {
    background: linear-gradient(180deg, #45d17c, #1fb75a);
  }
  .user-area-mobile-entry.accent-rose .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-rose {
    background: linear-gradient(180deg, #ff657d, #eb4762);
  }
  .user-area-mobile-entry.accent-indigo .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-indigo {
    background: linear-gradient(180deg, #5f8dff, #3b63eb);
  }
  .user-area-mobile-entry.accent-violet .user-area-mobile-entry-icon,
  .user-area-mobile-panel-icon.accent-violet {
    background: linear-gradient(180deg, #c06eff, #9649ee);
  }
  .user-area-mobile-entry-danger {
    border-color: rgba(208, 112, 112, 0.2);
    background: linear-gradient(180deg, rgba(255, 246, 246, 0.98), rgba(251, 236, 236, 0.98));
  }
  .user-area-mobile-entry-danger .user-area-mobile-entry-icon {
    background: linear-gradient(180deg, #ff8a5c, #f06731);
  }
  .user-area-mobile-panel-modal {
    display: flex;
    position: absolute;
    inset: 0;
    z-index: 3;
    background: rgba(236, 242, 249, 0.98);
  }
  .user-area-mobile-panel-dialog {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background:
      radial-gradient(circle at top right, rgba(67, 128, 255, 0.12), transparent 24%),
      linear-gradient(180deg, rgba(244, 248, 253, 0.99), rgba(233, 240, 247, 1));
  }
  .user-area-mobile-panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 14px;
    direction: ltr;
    border-bottom: 1px solid rgba(169, 188, 207, 0.28);
    background: rgba(250, 252, 255, 0.94);
  }
  .user-area-mobile-panel-back {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border: 1px solid rgba(169, 188, 207, 0.32);
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #244a6a;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(235,241,247,0.96));
  }
  .user-area-mobile-panel-back svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }
  .user-area-mobile-panel-title {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: 3px;
    direction: rtl;
    text-align: right;
  }
  .user-area-mobile-panel-title span {
    font-size: 11px;
    color: #698198;
  }
  .user-area-mobile-panel-title strong {
    font-size: 18px;
    color: #183548;
  }
  .user-area-mobile-panel-title small {
    color: #64788f;
    line-height: 1.7;
  }
  .user-area-mobile-panel-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
  }
  .user-area-mobile-panel-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px 12px calc(18px + env(safe-area-inset-bottom));
  }
  .user-area-sidebar {
    position: relative;
    padding: 16px 12px 12px;
    gap: 14px;
    background:
      linear-gradient(180deg, rgba(15, 34, 46, 0.98), rgba(12, 25, 35, 0.98));
  }
  .user-area-brand { margin-bottom: 18px; }
  .user-area-brand h3 { font-size: 16px; }
  .user-area-brand-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }
  .user-area-nav {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 78%);
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }
  .user-area-nav-btn {
    padding: 12px 14px;
    min-height: 78px;
    scroll-snap-align: start;
  }
  #userAreaLogoutMobileBtn {
    display: flex;
    align-items: center;
  }
  .user-area-nav-copy strong { font-size: 14px; }
  .user-area-nav-copy small { font-size: 11px; }
  .user-area-sidebar-footer {
    display: none;
  }
  .user-area-logout-btn {
    min-height: 44px;
    border-radius: 14px;
  }
  .user-area-content {
    flex: 1;
    padding: 16px 14px 14px;
    overscroll-behavior: contain;
  }
  .user-area-head {
    margin-bottom: 16px;
    padding-bottom: 14px;
  }
  .user-area-head h2 { font-size: 22px; }
  .user-area-head span { font-size: 13px; line-height: 1.7; }
  .user-area-panel .row-actions .btn { width: 100%; }
}

@media (max-width: 480px) {
  .property-content-assistant-modal {
    inset: 0;
    padding: 0;
    place-items: stretch;
  }

  .property-content-assistant-dialog {
    width: 100vw;
    min-height: 100vh;
    max-height: 100vh;
    border-radius: 0;
    padding: 14px 12px calc(18px + env(safe-area-inset-bottom));
  }

  .property-content-assistant-head {
    top: -14px;
    margin: -14px -12px 0;
    padding: 14px 12px 12px;
  }

  .property-content-assistant-head h4 {
    font-size: 17px;
  }

  .property-content-assistant-head p,
  .property-content-assistant-launch-copy p {
    font-size: 12px;
    line-height: 1.8;
  }

  .property-content-card {
    padding: 12px;
    border-radius: 16px;
  }

  .property-content-card strong {
    font-size: 15px;
    line-height: 1.8;
  }
}

.support-chat-shell {
  display: grid;
  gap: 18px;
  max-width: 920px;
  margin: 0 auto;
}

.support-entry-shell {
  display: grid;
  gap: 18px;
}

.support-entry-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  gap: 18px;
  align-items: center;
  padding: 24px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 24px;
  background: linear-gradient(180deg, #fff, #f4f8fb);
  box-shadow: 0 20px 50px rgba(20, 44, 63, 0.1);
}

.support-entry-card h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.support-entry-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.9;
}

.support-entry-open {
  justify-self: end;
  min-width: 160px;
}

.support-chat-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  padding: 24px;
}

.support-chat-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 28, 40, 0.48);
  backdrop-filter: blur(8px);
}

.support-chat-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(860px, 94vh);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 26px;
  background: #f7fbfd;
  box-shadow: 0 30px 90px rgba(3, 18, 29, 0.32);
}

.support-chat-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(36, 77, 102, 0.12);
  background: linear-gradient(180deg, #fff, #f4f8fb);
}

.support-chat-modal-head h3 {
  margin: 0;
  font-size: 20px;
}

.support-chat-modal-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(36, 77, 102, 0.14);
  border-radius: 999px;
  background: #fff;
  color: var(--primary);
  font-size: 24px;
  cursor: pointer;
}

.support-chat-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(36, 77, 102, 0.22), transparent 30%),
    radial-gradient(circle at bottom left, rgba(108, 162, 196, 0.14), transparent 26%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(236, 244, 249, 0.98));
  box-shadow: 0 22px 50px rgba(20, 44, 63, 0.09);
}

.support-chat-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.1);
  color: var(--primary);
  font-size: 12px;
  font-weight: 800;
}

.support-chat-hero h3 {
  margin: 0 0 6px;
  font-size: 28px;
}

.support-chat-hero p {
  margin: 0;
  color: var(--muted);
  line-height: 1.9;
}

.support-chat-badges {
  display: grid;
  align-content: start;
  gap: 10px;
}

.support-chat-badges span {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background: rgba(255, 255, 255, 0.66);
  color: var(--primary);
  font-size: 13px;
  font-weight: 700;
  backdrop-filter: blur(14px);
}

.support-chat-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 14px;
  min-height: 0;
  height: 100%;
  padding: 22px;
  border: 1px solid rgba(36, 77, 102, 0.12);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(242, 247, 251, 0.98)),
    radial-gradient(circle at top, rgba(90, 140, 172, 0.08), transparent 50%);
  box-shadow: 0 28px 70px rgba(20, 44, 63, 0.16);
  overflow: hidden;
  align-items: stretch;
}

.support-chat-headbar,
.support-chat-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.support-chat-headbar p,
.support-chat-form-actions small {
  margin: 4px 0 0;
  color: var(--muted);
}

.support-chat-headbar-rich {
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background: linear-gradient(180deg, rgba(244, 249, 252, 0.94), rgba(255, 255, 255, 0.98));
}

.support-chat-headcopy {
  display: grid;
  gap: 4px;
}

.support-chat-summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.support-chat-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(36, 77, 102, 0.08);
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
}

.support-chat-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.support-chat-status-badge.is-open {
  background: rgba(42, 111, 151, 0.12);
  color: #235b79;
}

.support-chat-status-badge.is-answered {
  background: rgba(21, 121, 92, 0.12);
  color: #176b53;
}

.support-chat-status-badge.is-closed {
  background: rgba(131, 40, 60, 0.12);
  color: #8a3145;
}

.support-chat-messages {
  min-height: 0;
  height: 100%;
  overflow: auto;
  padding: 12px 10px 12px 4px;
  display: grid;
  align-content: start;
  gap: 14px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(244, 249, 252, 0.9));
  border: 1px solid rgba(36, 77, 102, 0.08);
}

.support-chat-bubble {
  max-width: min(100%, 720px);
  padding: 16px 18px;
  border-radius: 24px;
  display: grid;
  gap: 8px;
  box-shadow: 0 16px 34px rgba(26, 43, 57, 0.08);
}

.support-chat-bubble.is-user {
  justify-self: end;
  border: 1px solid rgba(36, 77, 102, 0.24);
  background: linear-gradient(135deg, #244d66, #3f7393);
  color: #fff;
  border-bottom-left-radius: 10px;
}

.support-chat-bubble.is-support {
  justify-self: start;
  border: 1px solid rgba(36, 77, 102, 0.12);
  background: linear-gradient(180deg, #ffffff, #eef4f8);
  color: var(--text);
  border-bottom-right-radius: 10px;
}

.support-chat-bubble-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
}

.support-chat-bubble.is-user .support-chat-bubble-meta span {
  color: rgba(255, 255, 255, 0.82);
}

.support-chat-bubble.is-support .support-chat-bubble-meta span {
  color: var(--muted);
}

.support-chat-bubble p {
  margin: 0;
  line-height: 1.9;
  word-break: break-word;
}

.support-chat-reply-quote,
.support-chat-pending-reply,
.spnl-support-reply-quote,
.spnl-support-pending-reply {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-inline-start: 3px solid rgba(36, 77, 102, 0.4);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.62);
  color: inherit;
}

.support-chat-reply-quote span,
.support-chat-pending-reply span,
.spnl-support-reply-quote span,
.spnl-support-pending-reply span {
  color: inherit;
  opacity: 0.78;
  font-size: 12px;
  line-height: 1.7;
}

.support-chat-pending-reply,
.spnl-support-pending-reply {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  background: rgba(36, 77, 102, 0.08);
}

.support-chat-pending-reply button,
.spnl-support-pending-reply button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: rgba(20, 44, 63, 0.18);
  cursor: pointer;
}

.support-chat-reply-btn,
.spnl-support-reply-btn {
  justify-self: start;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(36, 77, 102, 0.14);
  background: rgba(255, 255, 255, 0.74);
  color: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.support-chat-attachments,
.spnl-support-attachments {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 160px));
  gap: 10px;
}

.support-chat-attachments a,
.spnl-support-attachments a {
  display: block;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(36, 77, 102, 0.16);
  background: rgba(255, 255, 255, 0.5);
  cursor: zoom-in;
}

.support-chat-attachments img,
.spnl-support-attachments img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.support-chat-form {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(36, 77, 102, 0.08);
  background: linear-gradient(180deg, rgba(248, 251, 253, 0.95), rgba(255, 255, 255, 0.98));
  overflow: hidden;
  align-self: end;
}

.support-chat-form-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.support-chat-form-head small {
  margin: 0;
  color: var(--muted);
  line-height: 1.8;
}

.support-chat-form label {
  font-weight: 700;
  color: var(--text);
}

.support-chat-form textarea {
  width: 100%;
  min-height: 132px;
  border-radius: 20px;
  border: 1px solid rgba(36, 77, 102, 0.14);
  background: rgba(255, 255, 255, 0.98);
  padding: 15px 16px;
  resize: vertical;
}

.support-chat-form textarea:focus {
  outline: none;
  border-color: rgba(36, 77, 102, 0.46);
  box-shadow: 0 0 0 4px rgba(36, 77, 102, 0.1);
}

.support-chat-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.support-chat-file-btn,
.spnl-support-file-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(36, 77, 102, 0.18);
  background: rgba(255, 255, 255, 0.92);
  color: var(--primary);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.support-chat-attachment-preview,
.spnl-support-attachment-preview {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-height: 0;
}

.support-chat-attachment-chip,
.spnl-support-attachment-chip {
  position: relative;
  display: inline-flex;
  width: 82px;
  height: 64px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(36, 77, 102, 0.16);
  background: #fff;
}

.support-chat-attachment-chip img,
.spnl-support-attachment-chip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.support-chat-attachment-chip button,
.spnl-support-attachment-chip button {
  position: absolute;
  top: 4px;
  inset-inline-end: 4px;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 999px;
  background: rgba(14, 32, 45, 0.78);
  color: #fff;
  cursor: pointer;
}

.support-chat-empty,
.support-chat-loading {
  display: grid;
  place-items: center;
  text-align: center;
  min-height: 220px;
  padding: 24px;
  border: 1px dashed rgba(36, 77, 102, 0.18);
  border-radius: 20px;
  color: var(--muted);
}

.support-chat-submit-btn {
  min-height: 42px;
  min-width: 132px;
  white-space: nowrap;
}

body[data-theme='dark'] .support-chat-hero,
body[data-theme='dark'] .support-chat-panel {
  border-color: rgba(138, 175, 202, 0.12);
  background: linear-gradient(180deg, rgba(29, 40, 50, 0.98), rgba(23, 33, 42, 0.98));
}

body[data-theme='dark'] .support-chat-headbar-rich,
body[data-theme='dark'] .support-chat-form {
  border-color: rgba(138, 175, 202, 0.1);
  background: linear-gradient(180deg, rgba(31, 44, 55, 0.96), rgba(24, 35, 44, 0.98));
}

body[data-theme='dark'] .support-chat-messages {
  background: linear-gradient(180deg, rgba(23, 33, 42, 0.92), rgba(27, 39, 49, 0.96));
  border-color: rgba(138, 175, 202, 0.1);
}

body[data-theme='dark'] .support-chat-kicker,
body[data-theme='dark'] .support-chat-badges span {
  background: rgba(138, 175, 202, 0.1);
  color: #d8e8f4;
}

body[data-theme='dark'] .support-chat-hero h3,
body[data-theme='dark'] .support-chat-form label {
  color: #eef6fd;
}

body[data-theme='dark'] .support-chat-hero p,
body[data-theme='dark'] .support-chat-headbar p,
body[data-theme='dark'] .support-chat-form-head small,
body[data-theme='dark'] .support-chat-bubble.is-support .support-chat-bubble-meta span {
  color: #aebfcc;
}

body[data-theme='dark'] .support-chat-bubble.is-support {
  background: linear-gradient(180deg, rgba(38, 54, 66, 0.98), rgba(31, 43, 53, 0.98));
  color: #e8f2f8;
  border-color: rgba(138, 175, 202, 0.12);
}

body[data-theme='dark'] .support-chat-summary span {
  background: rgba(138, 175, 202, 0.1);
  color: #d8e8f4;
}

body[data-theme='dark'] .support-chat-form textarea {
  background: rgba(19, 28, 35, 0.92);
  color: #eef6fd;
  border-color: rgba(138, 175, 202, 0.14);
}

@media (max-width: 900px) {
  .support-entry-card {
    grid-template-columns: 1fr;
  }

  .support-entry-open {
    justify-self: stretch;
  }

  .support-chat-hero {
    grid-template-columns: 1fr;
  }

  .support-chat-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .support-chat-modal {
    padding: 0;
  }

  .support-chat-modal-dialog {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
  }

  .support-chat-panel {
    min-height: auto;
    height: 100%;
    padding: 12px;
    border-radius: 18px;
    gap: 10px;
  }

  .support-chat-hero {
    padding: 16px;
    border-radius: 18px;
  }

  .support-chat-hero h3 {
    font-size: 22px;
  }

  .support-chat-messages {
    padding: 10px 6px 10px 2px;
  }

  .support-chat-bubble {
    max-width: 100%;
    padding: 12px 14px;
  }

  .support-chat-headbar-rich,
  .support-chat-form {
    padding: 14px;
    border-radius: 18px;
  }

  .support-chat-form-head {
    gap: 8px;
  }

  .support-chat-summary {
    justify-content: flex-start;
  }

  .support-chat-summary span {
    min-height: 34px;
  }

  .support-chat-badges {
    grid-template-columns: 1fr;
  }

  .support-chat-form textarea {
    min-height: 110px;
  }

  .support-chat-form-actions,
  .support-chat-actions {
    width: 100%;
  }

  .support-chat-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
  }

  .support-chat-file-btn,
  .support-chat-submit-btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 420px) {
  .support-chat-modal-head {
    padding: 14px;
  }

  .support-chat-modal-head h3 {
    font-size: 18px;
  }

  .support-chat-kicker {
    margin-bottom: 8px;
  }

  .support-chat-actions {
    grid-template-columns: 1fr;
  }

  .support-chat-file-btn,
  .support-chat-submit-btn,
  .support-chat-summary span,
  .support-chat-summary .btn {
    width: 100%;
  }
}

.two-factor-status-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px 22px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at top right, rgba(36, 77, 102, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 251, 0.98));
  box-shadow: 0 18px 34px rgba(21, 45, 63, 0.08);
}

.two-factor-status-shell[data-state='enabled'] {
  border-color: rgba(40, 116, 94, 0.34);
  background:
    radial-gradient(circle at top right, rgba(40, 116, 94, 0.18), transparent 34%),
    linear-gradient(180deg, rgba(241, 252, 248, 0.98), rgba(232, 247, 239, 0.98));
}

.two-factor-status-shell[data-state='disabled'] {
  border-color: rgba(177, 58, 58, 0.18);
}

.two-factor-status-shell[data-state='locked'],
.two-factor-status-shell[data-state='error'] {
  border-color: rgba(177, 58, 58, 0.3);
  background:
    radial-gradient(circle at top right, rgba(177, 58, 58, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(255, 250, 250, 0.98), rgba(251, 243, 243, 0.98));
}

.two-factor-status-shell[data-state='pending'] {
  border-color: rgba(36, 77, 102, 0.28);
}

.two-factor-status-copy {
  display: grid;
  gap: 6px;
}

.two-factor-status-kicker,
.create-user-launcher-kicker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.two-factor-status-copy strong {
  font-size: 22px;
  line-height: 1.45;
}

.two-factor-status-copy p {
  color: var(--muted);
  line-height: 1.8;
}

.two-factor-status-badge {
  min-width: 108px;
  min-height: 108px;
  border-radius: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(36, 77, 102, 0.1);
  color: var(--primary);
  font-size: 18px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(36, 77, 102, 0.08);
}

.two-factor-status-shell[data-state='enabled'] .two-factor-status-badge {
  background: rgba(40, 116, 94, 0.14);
  color: var(--success);
}

.two-factor-status-shell[data-state='locked'] .two-factor-status-badge,
.two-factor-status-shell[data-state='error'] .two-factor-status-badge {
  background: rgba(177, 58, 58, 0.12);
  color: var(--danger);
}

.two-factor-setup-panel {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 18px;
  border: 1px dashed var(--border);
  border-radius: 22px;
  background: var(--surface-soft);
}

.two-factor-setup-visual {
  display: flex;
  justify-content: center;
}

.two-factor-qr-image {
  width: 100%;
  max-width: 220px;
  border-radius: 18px;
  border: 1px solid var(--border);
  padding: 10px;
  background: #fff;
}

.two-factor-setup-copy {
  display: grid;
  gap: 10px;
}

.two-factor-secret-box {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(36, 77, 102, 0.08);
  overflow-wrap: anywhere;
}

.two-factor-secret-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.two-factor-copy-btn {
  white-space: nowrap;
}

.account-panel-code {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at top left, rgba(46, 125, 88, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.98));
}

.account-panel-code-copy {
  min-width: 0;
}

.account-panel-code-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}

.account-panel-code-copy strong {
  display: block;
  margin-top: 8px;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.25;
  word-break: break-word;
}

.account-panel-code-copy .muted {
  margin: 8px 0 0;
}

.account-panel-code-btn {
  white-space: nowrap;
}

.create-user-launcher {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at top left, rgba(36, 77, 102, 0.1), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.98));
}

.create-user-launcher strong {
  display: block;
  margin-top: 6px;
  font-size: 22px;
}

.user-access-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.user-access-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 24, 32, 0.56);
  backdrop-filter: blur(4px);
}

.user-access-dialog {
  position: relative;
  width: min(920px, 100%);
  max-height: min(88vh, 960px);
  overflow: auto;
  border-radius: 30px;
  padding: 24px;
  background: var(--surface);
  box-shadow: 0 34px 70px rgba(14, 30, 43, 0.24);
}

.user-access-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.user-access-close {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  background: var(--surface-soft);
  color: var(--text);
  font-size: 28px;
  cursor: pointer;
}

.user-access-form,
.user-access-scope-grid,
.user-access-role-lock,
.user-access-summary {
  display: grid;
  gap: 14px;
}

.user-access-role-lock {
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--surface-soft);
  border: 1px solid var(--border);
}

.user-access-role-lock strong {
  font-size: 20px;
}

.user-access-role-lock small {
  color: var(--muted);
}

.user-access-scope-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.user-access-choice {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.user-access-choice:hover,
.user-access-choice.active {
  transform: translateY(-2px);
  border-color: rgba(36, 77, 102, 0.45);
  box-shadow: 0 16px 28px rgba(20, 42, 59, 0.1);
}

.user-access-choice input {
  position: absolute;
  top: 16px;
  left: 16px;
}

.user-access-choice strong {
  font-size: 16px;
}

.user-access-choice span,
.user-access-property-item span,
.user-manage-access span,
.user-access-empty {
  color: var(--muted);
  line-height: 1.7;
}

.user-access-property-list {
  display: grid;
  gap: 10px;
  max-height: 280px;
  overflow: auto;
  padding: 10px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
}

.user-access-property-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px solid transparent;
}

.user-access-property-item:has(input:checked) {
  border-color: rgba(36, 77, 102, 0.3);
  background: rgba(36, 77, 102, 0.06);
}

.user-access-summary {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(36, 77, 102, 0.07);
}

.user-manage-card {
  display: grid;
  gap: 10px;
}

.user-manage-access {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(36, 77, 102, 0.06);
}

@media (max-width: 900px) {
  .user-access-scope-grid,
  .two-factor-setup-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .account-panel-code,
  .two-factor-status-shell,
  .create-user-launcher {
    grid-template-columns: 1fr;
  }

  .account-panel-code,
  .two-factor-status-shell,
  .create-user-launcher {
    display: grid;
  }

  .account-panel-code-btn {
    width: 100%;
  }

  .two-factor-status-badge {
    min-width: 100%;
    min-height: 74px;
    border-radius: 20px;
  }

  .user-access-modal {
    padding: 12px;
  }

  .user-access-dialog {
    padding: 18px;
    border-radius: 24px;
  }
}

/* Premium mobile navigation island — intentionally isolated from desktop. */
@media (max-width: 980px) {
  .dashboard-shell > .mobile-floating-nav {
    left: 0;
    right: 0;
    bottom: max(8px, env(safe-area-inset-bottom));
    padding: 0 10px;
    pointer-events: none;
  }

  .mobile-search-reset-fab {
    pointer-events: auto;
  }

  .mobile-floating-nav-shell {
    isolation: isolate;
    width: min(calc(100vw - 20px), 470px);
    min-height: 82px;
    padding: 9px 9px 8px;
    align-items: end;
    gap: 3px;
    border: 1px solid rgba(168, 194, 215, 0.72);
    border-radius: 28px;
    background:
      radial-gradient(circle at 50% -42%, rgba(65, 118, 176, 0.16), transparent 37%),
      linear-gradient(160deg, rgba(255,255,255,0.965), rgba(242,247,251,0.94));
    box-shadow:
      0 20px 50px rgba(18, 45, 68, 0.18),
      0 5px 16px rgba(18, 45, 68, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.96);
    backdrop-filter: blur(24px) saturate(1.25);
    pointer-events: auto;
  }

  .mobile-floating-nav-shell::before {
    content: '';
    position: absolute;
    top: -31px;
    left: 50%;
    z-index: -1;
    width: 88px;
    height: 54px;
    border: 1px solid rgba(165, 192, 214, 0.56);
    border-bottom: none;
    border-radius: 48px 48px 18px 18px;
    background: linear-gradient(180deg, rgba(250,253,255,0.96), rgba(240,246,251,0.94));
    box-shadow:
      0 -10px 24px rgba(23, 55, 80, 0.08),
      inset 0 1px 0 rgba(255,255,255,0.95);
    transform: translateX(-50%);
  }

  .mobile-floating-nav-btn {
    position: relative;
    min-width: 0;
    min-height: 62px;
    padding: 6px 2px 5px;
    gap: 4px;
    border-radius: 18px;
    color: #74899c;
    -webkit-tap-highlight-color: transparent;
    transition:
      color 0.2s ease,
      background-color 0.2s ease,
      transform 0.16s ease;
  }

  .mobile-floating-nav-btn::after {
    content: '';
    position: absolute;
    bottom: 2px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0;
    transform: scale(0.4);
    transition: opacity 0.18s ease, transform 0.18s ease;
  }

  .mobile-floating-nav-btn:hover {
    color: #4d6c84;
  }

  .mobile-floating-nav-btn:active {
    transform: scale(0.94);
  }

  .mobile-floating-nav-btn.active {
    color: #174e76;
    background: linear-gradient(180deg, rgba(48, 108, 151, 0.09), rgba(48, 108, 151, 0.035));
  }

  .mobile-floating-nav-btn.active::after {
    opacity: 1;
    transform: scale(1);
  }

  .mobile-floating-nav-btn.active .mobile-floating-nav-icon {
    transform: translateY(-2px);
    background: linear-gradient(145deg, rgba(39, 101, 148, 0.16), rgba(255,255,255,0.72));
    box-shadow:
      0 8px 18px rgba(29, 73, 106, 0.12),
      inset 0 1px 0 rgba(255,255,255,0.8);
  }

  .mobile-floating-nav-icon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
  }

  .mobile-floating-nav-icon .app-svg-icon {
    width: 20px;
    height: 20px;
  }

  .mobile-floating-nav-label {
    max-width: 100%;
    overflow: hidden;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: -0.025em;
    line-height: 1.25;
    text-overflow: ellipsis;
  }

  .mobile-floating-nav-add {
    position: relative;
    align-self: end;
    min-width: 0;
    min-height: 66px;
    padding: 0 1px 2px;
    gap: 3px;
    color: #244d66;
    transform: none;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-floating-nav-add-core {
    width: 64px;
    height: 64px;
    margin-top: -33px;
    border: 5px solid rgba(247,251,254,0.98);
    border-radius: 23px;
    background:
      radial-gradient(circle at 30% 22%, rgba(255,255,255,0.52), transparent 27%),
      linear-gradient(145deg, #347cb0 0%, #245f8b 54%, #163f62 100%);
    box-shadow:
      0 17px 30px rgba(27, 77, 116, 0.32),
      0 5px 12px rgba(27, 77, 116, 0.18),
      inset 0 1px 0 rgba(255,255,255,0.44);
    transform: rotate(0.001deg);
    transition:
      transform 0.2s cubic-bezier(.2,.8,.2,1),
      box-shadow 0.2s ease,
      filter 0.2s ease;
  }

  .mobile-floating-nav-add-core::before {
    content: '';
    position: absolute;
    inset: -8px;
    z-index: -1;
    border-radius: 29px;
    background: rgba(46, 112, 160, 0.1);
    box-shadow: 0 0 0 1px rgba(56, 116, 158, 0.08);
  }

  .mobile-floating-nav-add-core::after {
    inset: 5px;
    border-radius: 17px;
    border-color: rgba(255,255,255,0.2);
  }

  .mobile-floating-nav-add-icon {
    width: 27px;
    height: 27px;
    filter: drop-shadow(0 3px 8px rgba(10, 35, 54, 0.24));
    transition: transform 0.2s cubic-bezier(.2,.8,.2,1);
  }

  .mobile-floating-nav-add-label {
    display: block;
    color: #1f557c;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: -0.025em;
    line-height: 1.2;
    white-space: nowrap;
  }

  .mobile-floating-nav-add:hover .mobile-floating-nav-add-core {
    filter: brightness(1.04);
    transform: translateY(-2px);
  }

  .mobile-floating-nav-add:active {
    transform: none;
  }

  .mobile-floating-nav-add:active .mobile-floating-nav-add-core {
    transform: translateY(2px) scale(0.94);
    box-shadow:
      0 10px 20px rgba(27, 77, 116, 0.26),
      inset 0 1px 0 rgba(255,255,255,0.36);
  }

  .mobile-floating-nav-add:active .mobile-floating-nav-add-icon {
    transform: rotate(90deg);
  }

  .mobile-floating-nav-add.active .mobile-floating-nav-add-core {
    box-shadow:
      0 18px 34px rgba(24, 83, 128, 0.4),
      0 0 0 4px rgba(52, 124, 176, 0.13),
      inset 0 1px 0 rgba(255,255,255,0.46);
  }

  .mobile-floating-nav-add.active .mobile-floating-nav-add-icon {
    transform: rotate(45deg);
  }

  .mobile-floating-nav-btn:focus-visible,
  .mobile-floating-nav-add:focus-visible {
    outline: 3px solid rgba(41, 111, 162, 0.34);
    outline-offset: 2px;
  }

  .panel {
    padding-bottom: calc(132px + env(safe-area-inset-bottom));
  }

  .mobile-floating-compare-btn {
    top: -46px;
  }

  body[data-theme='dark'] .mobile-floating-nav-shell,
  body[data-theme='neon-aurora'] .mobile-floating-nav-shell,
  body[data-theme='emerald-glass'] .mobile-floating-nav-shell {
    border-color: rgba(120, 157, 185, 0.3);
    background:
      radial-gradient(circle at 50% -42%, rgba(69, 133, 184, 0.2), transparent 38%),
      linear-gradient(160deg, rgba(24,38,50,0.97), rgba(16,29,39,0.96));
    box-shadow:
      0 20px 50px rgba(0, 0, 0, 0.36),
      inset 0 1px 0 rgba(255,255,255,0.08);
  }

  body[data-theme='dark'] .mobile-floating-nav-shell::before,
  body[data-theme='neon-aurora'] .mobile-floating-nav-shell::before,
  body[data-theme='emerald-glass'] .mobile-floating-nav-shell::before {
    border-color: rgba(120, 157, 185, 0.24);
    background: linear-gradient(180deg, rgba(25,42,55,0.98), rgba(18,32,43,0.97));
    box-shadow:
      0 -10px 24px rgba(0,0,0,0.2),
      inset 0 1px 0 rgba(255,255,255,0.07);
  }

  body[data-theme='dark'] .mobile-floating-nav-add-core,
  body[data-theme='neon-aurora'] .mobile-floating-nav-add-core,
  body[data-theme='emerald-glass'] .mobile-floating-nav-add-core {
    border-color: rgba(20,35,46,0.98);
  }

  body[data-theme='dark'] .mobile-floating-nav-add-label,
  body[data-theme='neon-aurora'] .mobile-floating-nav-add-label,
  body[data-theme='emerald-glass'] .mobile-floating-nav-add-label {
    color: #d9ebf7;
  }

  body[data-theme='sunset-flow'] .mobile-floating-nav-add-core {
    border-color: rgba(57,34,37,0.98);
    background:
      radial-gradient(circle at 30% 22%, rgba(255,255,255,0.4), transparent 27%),
      linear-gradient(145deg, #df795c, #b94e4e 54%, #7e3344);
  }

  body[data-theme='sunset-flow'] .mobile-floating-nav-add-label {
    color: #ffe3d5;
  }
}

@media (max-width: 420px) {
  .mobile-floating-nav-shell {
    width: calc(100vw - 14px);
    padding-inline: 6px;
    gap: 1px;
    border-radius: 25px;
  }

  .dashboard-shell > .mobile-floating-nav {
    padding-inline: 7px;
  }

  .mobile-floating-nav-btn {
    padding-inline: 0;
  }

  .mobile-floating-nav-icon {
    width: 31px;
    height: 31px;
  }

  .mobile-floating-nav-icon .app-svg-icon {
    width: 18px;
    height: 18px;
  }

  .mobile-floating-nav-label,
  .mobile-floating-nav-add-label {
    font-size: 8px;
  }

  .mobile-floating-nav-add-core {
    width: 60px;
    height: 60px;
    margin-top: -30px;
    border-radius: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-floating-nav-btn,
  .mobile-floating-nav-btn::after,
  .mobile-floating-nav-icon,
  .mobile-floating-nav-add-core,
  .mobile-floating-nav-add-icon {
    transition: none !important;
  }
}

/* Mobile home workspace: isolated from the desktop experience. */
@media (max-width: 600px) {
  .properties-home-layout {
    display: grid;
    gap: 12px;
  }

  .mobile-home-command {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 19px 15px 14px;
    overflow: hidden;
    border: 1px solid rgba(66, 117, 153, 0.18);
    border-radius: 26px;
    background:
      radial-gradient(circle at -5% -8%, rgba(89, 174, 213, 0.24), transparent 37%),
      radial-gradient(circle at 105% 75%, rgba(77, 133, 184, 0.15), transparent 34%),
      linear-gradient(145deg, rgba(248, 252, 255, 0.99), rgba(225, 239, 248, 0.98));
    box-shadow:
      0 18px 38px rgba(24, 65, 95, 0.12),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
    isolation: isolate;
  }

  .mobile-home-command::after {
    content: '';
    position: absolute;
    top: -54px;
    left: -42px;
    z-index: -1;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(50, 113, 157, 0.1);
    border-radius: 50%;
    box-shadow: 0 0 0 22px rgba(255, 255, 255, 0.08);
  }

  .mobile-home-command-copy {
    display: grid;
    gap: 5px;
  }

  .mobile-home-command-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    color: #296487;
    font-size: 10px;
    font-weight: 900;
  }

  .mobile-home-command-kicker-dot,
  .mobile-home-results-kicker i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #28ae67;
    box-shadow: 0 0 0 4px rgba(40, 174, 103, 0.13);
  }

  .mobile-home-command h2 {
    margin: 0;
    color: #17364d;
    font-size: 20px;
    line-height: 1.55;
    letter-spacing: -0.025em;
  }

  .mobile-home-command p {
    max-width: 310px;
    margin: 0;
    color: #60798c;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.85;
  }

  .mobile-home-command-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 8px;
  }

  .mobile-home-command-primary,
  .mobile-home-command-secondary {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 62px;
    padding: 9px 10px;
    border-radius: 18px;
    text-align: right;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease;
  }

  .mobile-home-command-primary {
    border: 1px solid rgba(24, 80, 122, 0.25);
    background:
      radial-gradient(circle at 15% 0%, rgba(255, 255, 255, 0.2), transparent 35%),
      linear-gradient(145deg, #2b78aa, #195581);
    color: #fff;
    box-shadow: 0 11px 22px rgba(27, 86, 127, 0.24);
  }

  .mobile-home-command-secondary {
    border: 1px solid rgba(58, 110, 148, 0.15);
    background: rgba(255, 255, 255, 0.72);
    color: #224f6d;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
  }

  .mobile-home-command-primary:active,
  .mobile-home-command-secondary:active {
    transform: scale(0.98);
  }

  .mobile-home-command-action-icon {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.16);
  }

  .mobile-home-command-secondary .mobile-home-command-action-icon {
    background: rgba(43, 119, 170, 0.1);
  }

  .mobile-home-command-action-icon svg,
  .mobile-home-command-action-icon .app-svg-icon {
    width: 19px;
    height: 19px;
  }

  .mobile-home-command-primary .mobile-home-command-action-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
  }

  .mobile-home-command-actions button > span:last-child {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .mobile-home-command-actions strong {
    overflow: hidden;
    font-size: 11px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-home-command-actions small {
    overflow: hidden;
    color: inherit;
    font-size: 8px;
    font-weight: 700;
    opacity: 0.7;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-home-command-trust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 0 2px;
    color: #587287;
    font-size: 8px;
    font-weight: 800;
  }

  .mobile-home-command-trust span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    white-space: nowrap;
  }

  .mobile-home-command-trust i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #4b8fb9;
  }

  .properties-home-layout .mobile-home-quick-actions {
    margin: 0;
    padding: 14px;
    border-radius: 24px;
    background:
      radial-gradient(circle at 100% 0%, rgba(95, 147, 186, 0.13), transparent 33%),
      linear-gradient(155deg, rgba(250, 253, 255, 0.99), rgba(237, 244, 249, 0.98));
    box-shadow: 0 13px 28px rgba(26, 62, 88, 0.08);
  }

  .properties-home-layout .mobile-home-quick-actions::before,
  .properties-home-layout .mobile-home-quick-actions::after {
    display: none;
  }

  .properties-home-layout .mobile-home-quick-actions-head {
    align-items: end;
    margin-bottom: 12px;
  }

  .properties-home-layout .mobile-home-quick-actions-head-copy {
    gap: 2px;
  }

  .properties-home-layout .mobile-home-quick-actions-kicker {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #4e7895;
    font-size: 8px;
  }

  .properties-home-layout .mobile-home-quick-actions-head strong {
    top: auto;
    left: auto;
    font-size: 16px;
  }

  .properties-home-layout .mobile-home-quick-actions-head p {
    max-width: 240px;
    margin: 0;
    font-size: 9px;
    line-height: 1.65;
  }

  .properties-home-layout .mobile-home-quick-actions-head > span {
    min-height: 29px;
    padding: 0 10px;
    border-radius: 11px;
    font-size: 9px;
  }

  .properties-home-layout .mobile-home-quick-grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .properties-home-layout .mobile-home-quick-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 29px;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 8px 9px;
    border-radius: 17px;
    box-shadow: 0 7px 16px rgba(23, 54, 76, 0.055);
  }

  .properties-home-layout .mobile-home-quick-card::before {
    background: linear-gradient(180deg, var(--quick-accent), var(--quick-accent)) right / 3px 100% no-repeat;
    opacity: 0.82;
  }

  .properties-home-layout .mobile-home-quick-card-top {
    display: contents;
  }

  .properties-home-layout .mobile-home-quick-card-icon {
    grid-column: 1;
    grid-row: 1;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    box-shadow: 0 7px 14px color-mix(in srgb, var(--quick-accent) 24%, transparent);
  }

  .properties-home-layout .mobile-home-quick-card-icon .app-svg-icon {
    width: 21px;
    height: 21px;
  }

  .properties-home-layout .mobile-home-quick-card-copy {
    grid-column: 2;
    grid-row: 1;
    gap: 1px;
    min-width: 0;
  }

  .properties-home-layout .mobile-home-quick-card-copy strong {
    font-size: 12px;
  }

  .properties-home-layout .mobile-home-quick-card-copy small {
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .properties-home-layout .mobile-home-quick-card-arrow {
    grid-column: 3;
    grid-row: 1;
    width: 29px;
    height: 29px;
    border-radius: 10px;
  }

  .properties-home-layout #propertiesPanel {
    margin-top: 1px;
  }

  .mobile-home-results {
    gap: 10px;
  }

  .mobile-home-results-summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 72px;
    padding: 12px 13px;
    overflow: hidden;
    border: 1px solid rgba(66, 119, 156, 0.16);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0% 0%, rgba(80, 154, 195, 0.14), transparent 40%),
      rgba(248, 252, 254, 0.95);
    box-shadow: 0 10px 22px rgba(22, 57, 82, 0.07);
  }

  .mobile-home-results-summary > div {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .mobile-home-results-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #617b8d;
    font-size: 8px;
    font-weight: 800;
  }

  .mobile-home-results-summary strong {
    color: #183b53;
    font-size: 13px;
  }

  .mobile-home-results-summary p {
    overflow: hidden;
    margin: 0;
    color: #657d8e;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-home-results-summary > span {
    min-width: auto;
    min-height: 38px;
    padding: 0 12px;
    border-radius: 13px;
    background: linear-gradient(145deg, #2b78aa, #1d5d8b);
    color: #fff;
    font-size: 10px;
    box-shadow: 0 8px 17px rgba(31, 94, 137, 0.2);
  }

  .mobile-home-result-section {
    padding: 11px;
    border: 1px solid rgba(68, 113, 145, 0.12);
    border-radius: 22px;
    box-shadow: 0 11px 24px rgba(23, 53, 75, 0.07);
  }

  .mobile-home-result-section > h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 10px;
    color: #213f54;
    font-size: 14px;
  }

  .mobile-home-section-heading-icon {
    display: grid;
    place-items: center;
    flex: 0 0 31px;
    width: 31px;
    height: 31px;
    border-radius: 11px;
    background: rgba(47, 113, 158, 0.1);
    color: #2b709e;
  }

  .is-featured-section .mobile-home-section-heading-icon {
    background: rgba(243, 178, 49, 0.14);
    color: #d18c14;
  }

  .mobile-home-section-heading-icon svg,
  .mobile-home-section-heading-icon .app-svg-icon {
    width: 16px;
    height: 16px;
  }

  .mobile-home-result-section > .property-grid {
    gap: 9px;
  }

  .mobile-home-result-section > .property-grid > .muted {
    width: 100%;
    margin: 0;
    padding: 22px 12px;
    border: 1px dashed rgba(76, 119, 149, 0.22);
    border-radius: 16px;
    background: rgba(239, 246, 250, 0.65);
    text-align: center;
    font-size: 10px;
  }

  .mobile-home-result-section .property-card {
    padding: 9px;
    border-radius: 19px;
    box-shadow: 0 8px 20px rgba(19, 48, 69, 0.07);
  }

  .mobile-home-result-section .property-card-media {
    border-radius: 14px;
  }

  .mobile-home-result-section .property-actions {
    gap: 5px;
  }

  .mobile-home-result-section .property-action-btn {
    min-height: 42px;
    border-radius: 12px;
  }

  body[data-theme='dark'] .mobile-home-command,
  body[data-theme='neon-aurora'] .mobile-home-command,
  body[data-theme='emerald-glass'] .mobile-home-command,
  body[data-theme='dark'] .mobile-home-results-summary,
  body[data-theme='neon-aurora'] .mobile-home-results-summary,
  body[data-theme='emerald-glass'] .mobile-home-results-summary {
    border-color: rgba(111, 154, 184, 0.25);
    background:
      radial-gradient(circle at 0% 0%, rgba(64, 136, 180, 0.18), transparent 38%),
      linear-gradient(145deg, rgba(25, 42, 55, 0.98), rgba(18, 32, 43, 0.98));
  }

  body[data-theme='sunset-flow'] .mobile-home-command,
  body[data-theme='sunset-flow'] .mobile-home-results-summary {
    border-color: rgba(192, 126, 105, 0.27);
    background:
      radial-gradient(circle at 0% 0%, rgba(199, 112, 83, 0.18), transparent 38%),
      linear-gradient(145deg, rgba(66, 43, 54, 0.98), rgba(48, 33, 45, 0.98));
  }

  body[data-theme='dark'] .mobile-home-command h2,
  body[data-theme='neon-aurora'] .mobile-home-command h2,
  body[data-theme='emerald-glass'] .mobile-home-command h2,
  body[data-theme='sunset-flow'] .mobile-home-command h2,
  body[data-theme='dark'] .mobile-home-results-summary strong,
  body[data-theme='neon-aurora'] .mobile-home-results-summary strong,
  body[data-theme='emerald-glass'] .mobile-home-results-summary strong,
  body[data-theme='sunset-flow'] .mobile-home-results-summary strong {
    color: var(--text);
  }

  body[data-theme='dark'] .mobile-home-command p,
  body[data-theme='neon-aurora'] .mobile-home-command p,
  body[data-theme='emerald-glass'] .mobile-home-command p,
  body[data-theme='sunset-flow'] .mobile-home-command p,
  body[data-theme='dark'] .mobile-home-command-trust,
  body[data-theme='neon-aurora'] .mobile-home-command-trust,
  body[data-theme='emerald-glass'] .mobile-home-command-trust,
  body[data-theme='sunset-flow'] .mobile-home-command-trust,
  body[data-theme='dark'] .mobile-home-results-summary p,
  body[data-theme='neon-aurora'] .mobile-home-results-summary p,
  body[data-theme='emerald-glass'] .mobile-home-results-summary p,
  body[data-theme='sunset-flow'] .mobile-home-results-summary p {
    color: var(--muted);
  }
}

@media (max-width: 370px) {
  .mobile-home-command-actions {
    grid-template-columns: 1fr;
  }

  .mobile-home-command-trust span:last-child {
    display: none;
  }
}

/* Mobile tool centers: calculations, utilities and entertainment only. */
@media (max-width: 600px) {
  .tool-hub {
    gap: 13px;
  }

  .tool-hub-hero {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 11px 12px;
    min-height: 0;
    padding: 17px 14px 14px;
    overflow: hidden;
    border: 1px solid rgba(94, 137, 168, 0.18);
    border-radius: 24px;
    box-shadow:
      0 16px 34px rgba(20, 53, 78, 0.1),
      inset 0 1px 0 rgba(255,255,255,0.82);
  }

  .tool-hub-hero::after {
    top: -52px;
    left: -48px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(63, 111, 149, 0.1);
    border-radius: 50%;
    background: transparent;
  }

  .tool-hub-hero-calculations {
    background:
      radial-gradient(circle at 0% 0%, rgba(88, 174, 169, 0.2), transparent 34%),
      linear-gradient(145deg, rgba(246,252,252,0.98), rgba(226,240,245,0.98));
  }

  .tool-hub-hero-utilities {
    background:
      radial-gradient(circle at 0% 0%, rgba(200, 164, 73, 0.19), transparent 34%),
      linear-gradient(145deg, rgba(253,251,244,0.98), rgba(235,242,225,0.98));
  }

  .tool-hub-hero-entertainment {
    background:
      radial-gradient(circle at 0% 0%, rgba(102, 114, 220, 0.2), transparent 34%),
      linear-gradient(145deg, rgba(248,248,255,0.98), rgba(231,241,249,0.98));
  }

  .tool-hub-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    min-height: 25px;
    padding: 0 9px;
    font-size: 8px;
    letter-spacing: -0.01em;
  }

  .tool-hub-mobile-orb {
    display: grid;
    place-items: center;
    align-self: center;
    width: 58px;
    height: 58px;
    grid-row: 1;
    grid-column: 1;
    margin-top: 21px;
    border: 1px solid rgba(57, 106, 143, 0.14);
    border-radius: 19px;
    background: rgba(255,255,255,0.66);
    color: #245d84;
    box-shadow:
      0 10px 22px rgba(24, 65, 95, 0.12),
      inset 0 1px 0 rgba(255,255,255,0.9);
    backdrop-filter: blur(10px);
  }

  .tool-hub-mobile-orb .app-svg-icon {
    width: 28px;
    height: 28px;
  }

  .tool-hub-hero-copy {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    grid-row: 1;
    grid-column: 2;
    padding-top: 23px;
  }

  .tool-hub-hero h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: -0.025em;
  }

  .tool-hub-hero p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .tool-hub-mobile-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column: 1 / -1;
    gap: 7px;
  }

  .tool-hub-mobile-summary > span {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(75, 121, 155, 0.11);
    border-radius: 13px;
    background: rgba(255,255,255,0.56);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
  }

  .tool-hub-mobile-summary b {
    overflow: hidden;
    color: #244d66;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tool-hub-mobile-summary small {
    color: #728797;
    font-size: 8px;
  }

  .tool-widget-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .tool-widget {
    --tool-accent: #3976a2;
    position: relative;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 91px;
    padding: 12px 11px 12px 13px;
    overflow: hidden;
    border: 1px solid rgba(75, 118, 150, 0.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tool-accent) 10%, transparent), transparent 34%),
      linear-gradient(160deg, rgba(255,255,255,0.98), rgba(242,247,250,0.95));
    box-shadow:
      0 10px 24px rgba(17, 46, 69, 0.07),
      inset 0 1px 0 rgba(255,255,255,0.92);
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.16s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  }

  .tool-widget::before {
    content: attr(data-tool-index);
    position: absolute;
    top: 7px;
    left: 9px;
    color: color-mix(in srgb, var(--tool-accent) 38%, transparent);
    font-size: 9px;
    font-weight: 900;
  }

  .tool-widget-blue { --tool-accent: #337cad; }
  .tool-widget-teal { --tool-accent: #228e86; }
  .tool-widget-gold { --tool-accent: #b88725; }
  .tool-widget-rose { --tool-accent: #b85b70; }
  .tool-widget-emerald { --tool-accent: #338762; }
  .tool-widget-indigo { --tool-accent: #596bc9; }

  .tool-widget:hover {
    transform: none;
    box-shadow:
      0 10px 24px rgba(17, 46, 69, 0.07),
      inset 0 1px 0 rgba(255,255,255,0.92);
  }

  .tool-widget:active {
    transform: scale(0.975);
    border-color: color-mix(in srgb, var(--tool-accent) 30%, transparent);
    box-shadow:
      0 5px 14px rgba(17, 46, 69, 0.09),
      inset 0 1px 0 rgba(255,255,255,0.86);
  }

  .tool-widget-icon {
    width: 52px;
    height: 52px;
    border-radius: 17px;
    box-shadow:
      0 8px 18px color-mix(in srgb, var(--tool-accent) 14%, transparent),
      inset 0 1px 0 rgba(255,255,255,0.84);
  }

  .tool-widget-icon .app-svg-icon {
    width: 26px;
    height: 26px;
  }

  .tool-widget-copy {
    min-width: 0;
    gap: 2px;
  }

  .tool-widget-copy small {
    color: var(--tool-accent);
    font-size: 8px;
    font-weight: 900;
  }

  .tool-widget-copy strong {
    overflow: hidden;
    color: var(--text);
    font-size: 14px;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tool-widget-copy > span {
    display: -webkit-box;
    overflow: hidden;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .tool-widget-mobile-launch {
    display: grid;
    place-items: center;
    gap: 1px;
    width: 34px;
    height: 44px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--tool-accent) 9%, transparent);
    color: var(--tool-accent);
  }

  .tool-widget-mobile-launch span {
    display: none;
  }

  .tool-widget-mobile-launch b {
    font-size: 17px;
    line-height: 1;
    transition: transform 0.16s ease;
  }

  .tool-widget:active .tool-widget-mobile-launch b {
    transform: translateX(-3px);
  }

  .tool-widget-modal {
    padding: 0;
    align-items: stretch;
    justify-items: stretch;
  }

  .tool-widget-backdrop {
    background: rgba(5, 13, 21, 0.74);
    backdrop-filter: blur(8px);
  }

  .tool-widget-sheet,
  .tool-widget-sheet-entertainment {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border: none;
    border-radius: 0;
    background: linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%);
    box-shadow: none;
  }

  .tool-widget-sheet-head,
  .tool-widget-sheet-entertainment .tool-widget-sheet-head {
    position: sticky;
    top: 0;
    z-index: 12;
    align-items: center;
    min-height: 84px;
    padding: max(10px, env(safe-area-inset-top)) 12px 10px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    box-shadow: 0 8px 24px rgba(13, 37, 55, 0.07);
    backdrop-filter: blur(18px) saturate(1.15);
  }

  .tool-widget-sheet-hero {
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-width: 0;
  }

  .tool-widget-sheet-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  .tool-widget-sheet-icon .app-svg-icon {
    width: 23px;
    height: 23px;
  }

  .tool-widget-sheet-hero > div {
    min-width: 0;
  }

  .tool-widget-sheet-hero small {
    margin-bottom: 1px;
    font-size: 8px;
  }

  .tool-widget-sheet-hero h3 {
    overflow: hidden;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tool-widget-sheet-hero p {
    display: none;
  }

  .tool-widget-sheet-close,
  .tool-widget-sheet-entertainment .tool-widget-sheet-close {
    position: relative;
    top: auto;
    z-index: 13;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: var(--surface);
    box-shadow: 0 6px 16px rgba(14, 37, 54, 0.09);
  }

  .tool-widget-sheet-body {
    max-height: calc(100dvh - 84px);
    padding: 16px 13px calc(24px + env(safe-area-inset-bottom));
    overscroll-behavior: contain;
  }

  .tool-widget-panel {
    gap: 14px;
  }

  .tool-widget-panel > h3 {
    position: relative;
    margin: 0;
    padding-right: 12px;
    color: var(--text);
    font-size: 18px;
  }

  .tool-widget-panel > h3::before {
    content: '';
    position: absolute;
    top: 6px;
    bottom: 6px;
    right: 0;
    width: 4px;
    border-radius: 999px;
    background: var(--primary);
  }

  .tool-widget-panel .form-grid {
    gap: 12px;
  }

  .tool-widget-panel input,
  .tool-widget-panel select,
  .tool-widget-panel textarea {
    min-height: 52px;
    border-radius: 15px;
    font-size: 16px;
  }

  .tool-widget-panel label {
    font-size: 11px;
    font-weight: 800;
  }

  .tool-widget-panel .note,
  .tool-widget-panel .result-box {
    border-radius: 16px;
    font-size: 11px;
    line-height: 1.85;
  }

  .tool-widget-panel .row-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tool-widget-panel .row-actions .btn {
    width: 100%;
    min-height: 50px;
    border-radius: 15px;
  }

  .entertainment-headline {
    gap: 10px;
  }

  .entertainment-headline h3 {
    font-size: 18px;
  }

  .game-meta-chips {
    gap: 6px;
  }

  .game-chip {
    min-height: 30px;
    padding-inline: 9px;
    font-size: 9px;
  }

  .game-surface,
  .game-side-card,
  .guess-panel {
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(15, 39, 58, 0.07);
  }

  .game-surface {
    padding: 11px;
  }

  body[data-theme='dark'] .tool-hub-mobile-summary > span,
  body[data-theme='dark'] .tool-hub-mobile-orb {
    border-color: rgba(138, 175, 202, 0.12);
    background: rgba(19, 32, 43, 0.52);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  }

  body[data-theme='dark'] .tool-hub-mobile-summary b {
    color: #e3f0f8;
  }

  body[data-theme='dark'] .tool-hub-mobile-summary small {
    color: #9fb5c5;
  }

  body[data-theme='dark'] .tool-widget {
    background:
      radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tool-accent) 14%, transparent), transparent 34%),
      linear-gradient(160deg, rgba(31,45,56,0.98), rgba(23,35,44,0.97));
  }
}

.tenant-location-help-row {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.tenant-location-help-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #7d8792;
  font-size: 13px;
  line-height: 1.9;
  text-align: right;
  cursor: pointer;
}

.tenant-location-help-link:hover {
  color: #335f7d;
}

.tenant-location-preview {
  font-size: 12px;
  color: #335f7d;
}

.tenant-location-preview.is-empty {
  color: #8c97a3;
}

.tenant-location-picker-open {
  overflow: hidden;
}

.tenant-location-picker-modal {
  position: fixed;
  inset: 0;
  z-index: 3400;
  display: grid;
  place-items: center;
  padding: 18px;
}

.tenant-location-picker-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 33, 0.48);
  backdrop-filter: blur(6px);
}

.tenant-location-picker-card {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  padding: 18px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(19, 40, 58, 0.28);
  display: grid;
  gap: 14px;
}

.tenant-location-picker-head,
.tenant-location-picker-meta,
.tenant-location-picker-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tenant-location-picker-head p,
.tenant-location-picker-meta {
  margin: 0;
}

.tenant-location-picker-close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: #eef3f8;
  color: #264e69;
  font-size: 26px;
  cursor: pointer;
}

.tenant-location-picker-map {
  min-height: 360px;
  border-radius: 18px;
  overflow: hidden;
}

@media (max-width: 720px) {
  .tenant-location-picker-card {
    padding: 14px;
    border-radius: 18px;
  }

  .tenant-location-picker-head,
  .tenant-location-picker-meta,
  .tenant-location-picker-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tenant-location-picker-map {
    min-height: 300px;
  }
}

/* Mobile map results sheet: touch-first handle and compact result list. */
@media (max-width: 600px) {
  .search-map-results-panel {
    border-top: 1px solid rgba(93, 137, 168, 0.24);
    border-radius: 30px 30px 0 0;
    background:
      radial-gradient(circle at 100% 0%, rgba(83, 148, 188, 0.13), transparent 34%),
      linear-gradient(180deg, rgba(251, 253, 255, 0.985), rgba(239, 246, 250, 0.98));
    box-shadow:
      0 -22px 48px rgba(9, 27, 41, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(20px) saturate(1.08);
    transition: height 0.3s cubic-bezier(0.22, 0.8, 0.22, 1), box-shadow 0.22s ease;
  }

  .search-map-results-panel[data-sheet-state='dragging'] {
    transition: box-shadow 0.18s ease;
    box-shadow:
      0 -28px 58px rgba(9, 27, 41, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);
  }

  .search-map-results-head {
    position: relative;
    gap: 7px;
    padding: 7px 14px 11px;
    border-bottom-color: rgba(71, 115, 146, 0.11);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(247, 251, 253, 0.68));
    cursor: ns-resize;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
  }

  .search-map-results-head:focus-visible {
    outline: 3px solid rgba(44, 123, 174, 0.28);
    outline-offset: -3px;
  }

  .search-map-sheet-grabber {
    display: grid;
    place-items: center;
    width: 34px;
    height: 17px;
    margin: 0 auto;
    background: transparent;
    color: #7993a4;
    box-shadow: none;
  }

  .search-map-sheet-grabber .app-svg-icon {
    display: block;
    width: 30px;
    height: 16px;
  }

  .search-map-mobile-drag-hint {
    display: block;
    margin-top: -1px;
    color: #8296a4 !important;
    font-size: 8px !important;
    font-weight: 800;
    text-align: center;
  }

  .search-map-results-title-row {
    gap: 9px;
  }

  .search-map-results-title-copy {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
  }

  .search-map-mobile-title-icon {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(47, 116, 162, 0.14);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(64, 143, 193, 0.16), rgba(42, 112, 158, 0.08));
    color: #2772a2;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.76);
  }

  .search-map-mobile-title-icon .app-svg-icon {
    width: 20px;
    height: 20px;
  }

  .search-map-results-title-copy > div {
    display: grid;
    gap: 1px;
    min-width: 0;
  }

  .search-map-results-head h4 {
    font-size: 14px;
    line-height: 1.45;
  }

  .search-map-mobile-title-caption {
    display: block;
    overflow: hidden;
    color: #748a99;
    font-size: 8px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-sheet-toggle {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-color: rgba(53, 111, 151, 0.15);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    color: #286f9e;
    box-shadow:
      0 7px 15px rgba(25, 68, 98, 0.09),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }

  .search-map-sheet-toggle:active {
    transform: scale(0.96);
  }

  .search-map-results-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .search-map-results-meta-row #searchMapResultsMeta {
    overflow: hidden;
    color: #526f82;
    font-size: 9px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-mobile-state-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 23px;
    padding: 0 8px;
    border: 1px solid rgba(42, 113, 158, 0.11);
    border-radius: 999px;
    background: rgba(43, 119, 170, 0.08);
    color: #2c709a !important;
    font-size: 8px !important;
    font-weight: 900;
  }

  .search-map-results-list {
    overscroll-behavior: contain;
    scrollbar-width: none;
    gap: 8px;
    padding: 10px 10px calc(16px + env(safe-area-inset-bottom));
    scroll-padding-top: 8px;
    transition: opacity 0.18s ease;
  }

  .search-map-results-list::-webkit-scrollbar {
    display: none;
  }

  .search-map-results-panel[data-sheet-state='collapsed'] .search-map-results-list {
    opacity: 0.46;
    pointer-events: none;
    mask-image: linear-gradient(to bottom, #000 0, transparent 94%);
    -webkit-mask-image: linear-gradient(to bottom, #000 0, transparent 94%);
  }

  .search-map-mobile-list-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 3px 4px;
  }

  .search-map-mobile-list-icon {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(39, 112, 158, 0.09);
    color: #2c719d;
  }

  .search-map-mobile-list-icon .app-svg-icon {
    width: 16px;
    height: 16px;
  }

  .search-map-mobile-list-intro > div {
    display: grid;
    gap: 1px;
    min-width: 0;
  }

  .search-map-mobile-list-intro strong {
    color: #284a60;
    font-size: 11px;
  }

  .search-map-mobile-list-intro small {
    overflow: hidden;
    color: #748997;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-mobile-list-intro > span {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 26px;
    padding: 0 9px;
    border-radius: 9px;
    background: rgba(39, 112, 158, 0.09);
    color: #286d99;
    font-size: 8px;
    font-weight: 900;
  }

  .search-map-result-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 10px;
    padding: 9px;
    overflow: hidden;
    border-color: rgba(58, 108, 143, 0.11);
    border-radius: 19px;
    background:
      radial-gradient(circle at 100% 0%, rgba(57, 132, 181, 0.09), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 252, 0.96));
    box-shadow:
      0 9px 20px rgba(19, 49, 70, 0.075),
      inset 0 1px 0 rgba(255, 255, 255, 0.88);
  }

  .search-map-result-media {
    position: relative;
    min-width: 0;
  }

  .search-map-result-thumb,
  .search-map-result-thumb.placeholder {
    width: 96px;
    height: 100%;
    min-height: 132px;
    border-radius: 14px;
  }

  .search-map-mobile-distance {
    position: absolute;
    right: 6px;
    bottom: 6px;
    left: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 25px;
    padding: 0 6px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 9px;
    background: rgba(15, 38, 54, 0.76);
    color: #fff;
    backdrop-filter: blur(8px);
    font-size: 8px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-mobile-distance i,
  .search-map-mobile-distance .app-svg-icon {
    display: grid;
    width: 12px;
    height: 12px;
  }

  .search-map-result-body {
    align-content: start;
    gap: 6px;
  }

  .search-map-result-top {
    gap: 5px;
  }

  .search-map-result-top strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .search-map-result-top > span {
    display: none;
  }

  .search-map-result-tags {
    flex-wrap: nowrap;
    gap: 4px;
    overflow: hidden;
  }

  .search-map-result-tags span {
    flex: 0 0 auto;
    max-width: 86px;
    padding: 3px 6px;
    overflow: hidden;
    border-radius: 7px;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-mobile-area {
    display: inline-flex;
    align-items: center;
    gap: 3px;
  }

  .search-map-mobile-area i,
  .search-map-mobile-area .app-svg-icon {
    display: grid;
    width: 10px;
    height: 10px;
  }

  .search-map-result-body p {
    display: -webkit-box;
    overflow: hidden;
    color: #617889;
    font-size: 9px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  .search-map-result-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 5px;
    margin-top: auto;
  }

  .search-map-result-price {
    display: grid;
    gap: 1px;
    min-width: 0;
  }

  .search-map-result-price > small {
    display: block;
    color: #7c909e;
    font-size: 7px;
    font-weight: 700;
  }

  .search-map-result-bottom b {
    overflow: hidden;
    color: #1f526f;
    font-size: 9px;
    font-weight: 900;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .search-map-result-bottom .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: auto;
    min-width: 72px;
    min-height: 36px;
    padding: 0 9px;
    border-radius: 11px;
    font-size: 9px;
    white-space: nowrap;
  }

  .search-map-mobile-action-arrow {
    display: grid;
    place-items: center;
    width: 13px;
    height: 13px;
  }

  .search-map-mobile-action-arrow .app-svg-icon {
    width: 13px;
    height: 13px;
  }

  .search-map-empty-state {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    min-height: 142px;
    padding: 18px 16px;
    border-color: rgba(55, 112, 151, 0.18);
    border-radius: 18px;
    background:
      radial-gradient(circle at 50% 0%, rgba(68, 144, 191, 0.1), transparent 45%),
      rgba(246, 250, 252, 0.8);
  }

  .search-map-desktop-empty-copy {
    display: none;
  }

  .search-map-empty-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(45, 119, 166, 0.1);
    color: #2b75a4;
  }

  .search-map-empty-icon .app-svg-icon {
    width: 22px;
    height: 22px;
  }

  .search-map-empty-state > strong {
    display: block;
    color: #2a4d63;
    font-size: 11px;
  }

  .search-map-empty-state > p {
    display: block;
    max-width: 250px;
    margin: 0;
    color: #718693;
    font-size: 9px;
    line-height: 1.8;
  }

  body[data-theme='dark'] .search-map-results-panel,
  body[data-theme='neon-aurora'] .search-map-results-panel,
  body[data-theme='emerald-glass'] .search-map-results-panel {
    border-top-color: rgba(111, 158, 190, 0.27);
    background:
      radial-gradient(circle at 100% 0%, rgba(55, 132, 180, 0.16), transparent 36%),
      linear-gradient(180deg, rgba(24, 38, 49, 0.985), rgba(17, 30, 40, 0.985));
  }

  body[data-theme='sunset-flow'] .search-map-results-panel {
    border-top-color: rgba(196, 128, 107, 0.27);
    background:
      radial-gradient(circle at 100% 0%, rgba(202, 113, 85, 0.16), transparent 36%),
      linear-gradient(180deg, rgba(65, 43, 54, 0.985), rgba(46, 32, 43, 0.985));
  }

  body[data-theme='dark'] .search-map-results-head,
  body[data-theme='neon-aurora'] .search-map-results-head,
  body[data-theme='emerald-glass'] .search-map-results-head,
  body[data-theme='sunset-flow'] .search-map-results-head {
    background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012));
  }

  body[data-theme='dark'] .search-map-result-card,
  body[data-theme='neon-aurora'] .search-map-result-card,
  body[data-theme='emerald-glass'] .search-map-result-card,
  body[data-theme='sunset-flow'] .search-map-result-card,
  body[data-theme='dark'] .search-map-empty-state,
  body[data-theme='neon-aurora'] .search-map-empty-state,
  body[data-theme='emerald-glass'] .search-map-empty-state,
  body[data-theme='sunset-flow'] .search-map-empty-state {
    border-color: rgba(113, 154, 183, 0.18);
    background:
      radial-gradient(circle at 100% 0%, rgba(67, 135, 178, 0.1), transparent 35%),
      rgba(27, 41, 52, 0.94);
  }

  body[data-theme='dark'] .search-map-mobile-list-intro strong,
  body[data-theme='neon-aurora'] .search-map-mobile-list-intro strong,
  body[data-theme='emerald-glass'] .search-map-mobile-list-intro strong,
  body[data-theme='sunset-flow'] .search-map-mobile-list-intro strong,
  body[data-theme='dark'] .search-map-empty-state > strong,
  body[data-theme='neon-aurora'] .search-map-empty-state > strong,
  body[data-theme='emerald-glass'] .search-map-empty-state > strong,
  body[data-theme='sunset-flow'] .search-map-empty-state > strong {
    color: var(--text);
  }

  body[data-theme='dark'] .search-map-mobile-title-caption,
  body[data-theme='neon-aurora'] .search-map-mobile-title-caption,
  body[data-theme='emerald-glass'] .search-map-mobile-title-caption,
  body[data-theme='sunset-flow'] .search-map-mobile-title-caption,
  body[data-theme='dark'] .search-map-mobile-list-intro small,
  body[data-theme='neon-aurora'] .search-map-mobile-list-intro small,
  body[data-theme='emerald-glass'] .search-map-mobile-list-intro small,
  body[data-theme='sunset-flow'] .search-map-mobile-list-intro small,
  body[data-theme='dark'] .search-map-empty-state > p,
  body[data-theme='neon-aurora'] .search-map-empty-state > p,
  body[data-theme='emerald-glass'] .search-map-empty-state > p,
  body[data-theme='sunset-flow'] .search-map-empty-state > p {
    color: var(--muted);
  }
}

@media (max-width: 360px) {
  .search-map-result-card {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 8px;
  }

  .search-map-result-thumb,
  .search-map-result-thumb.placeholder {
    width: 88px;
  }

  .search-map-result-bottom .btn {
    min-width: 38px;
    width: 38px;
    padding: 0;
  }

  .search-map-result-bottom .btn > span:first-child {
    display: none;
  }
}

/* Mobile property popup for MapLibre/Neshan; desktop rules above remain intact. */
@media (max-width: 600px) {
  .maplibregl-popup.property-map-popup.neshan-property-popup,
  .maplibregl-popup.property-map-popup.neshan-property-popup.maplibregl-popup-anchor-bottom {
    z-index: 522;
    isolation: isolate;
    width: min(278px, calc(100vw - 30px));
    max-width: min(278px, calc(100vw - 30px)) !important;
    filter: drop-shadow(0 16px 22px rgba(7, 24, 37, 0.18));
  }

  .neshan-property-popup .maplibregl-popup-content,
  .property-map-popup .leaflet-popup-content-wrapper {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(75, 126, 162, 0.18);
    border-radius: 20px;
    background:
      radial-gradient(circle at 100% 0%, rgba(82, 151, 193, 0.12), transparent 34%),
      linear-gradient(180deg, rgba(253, 254, 255, 0.99), rgba(241, 247, 251, 0.99));
    box-shadow:
      0 18px 38px rgba(8, 28, 43, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(18px) saturate(1.06);
  }

  .neshan-property-popup .maplibregl-popup-content {
    position: relative;
    z-index: 2;
  }

  .property-map-popup .leaflet-popup-content {
    width: min(278px, calc(100vw - 30px)) !important;
  }

  .property-map-popup .leaflet-popup-tip {
    background: rgba(241, 247, 251, 0.99);
    box-shadow: 5px 5px 12px rgba(11, 34, 50, 0.12);
  }

  .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip {
    position: relative;
    z-index: 0;
    width: 28px;
    height: 17px;
    margin-top: -7px;
    border: 0 !important;
    background: transparent !important;
    filter: drop-shadow(0 5px 5px rgba(10, 31, 46, 0.16));
    pointer-events: none;
  }

  .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::before {
    content: '';
    position: absolute;
    top: -9px;
    left: 50%;
    width: 17px;
    height: 17px;
    border-right: 1px solid rgba(75, 126, 162, 0.16);
    border-bottom: 1px solid rgba(75, 126, 162, 0.16);
    border-radius: 0 0 5px 0;
    background: rgba(241, 247, 251, 0.99);
    transform: translateX(-50%) rotate(45deg);
  }

  .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 6px;
    height: 6px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    background: #2d7cad;
    box-shadow: 0 3px 7px rgba(25, 87, 128, 0.3);
    transform: translateX(-50%);
  }

  .neshan-property-popup .maplibregl-popup-close-button,
  .property-map-popup .leaflet-popup-close-button {
    top: 8px;
    right: auto !important;
    left: 8px !important;
    z-index: 6;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 11px;
    background: rgba(18, 42, 58, 0.68);
    color: #fff;
    font-size: 0;
    line-height: 1;
    box-shadow:
      0 8px 18px rgba(8, 27, 40, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    transition: transform 0.16s ease, background 0.16s ease;
  }

  .neshan-property-popup .maplibregl-popup-close-button::before,
  .property-map-popup .leaflet-popup-close-button::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: url('assets/ui-icons/popup-close.svg') center / contain no-repeat;
    mask: url('assets/ui-icons/popup-close.svg') center / contain no-repeat;
  }

  .neshan-property-popup .maplibregl-popup-close-button:active,
  .property-map-popup .leaflet-popup-close-button:active {
    transform: scale(0.94);
    background: rgba(18, 42, 58, 0.86);
  }

  .map-popup {
    overflow: hidden;
    background: transparent;
  }

  .map-popup-media {
    position: relative;
    min-height: 76px;
    overflow: hidden;
    background: #dfe8ee;
  }

  .map-popup-media::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(10, 27, 39, 0.02) 32%, rgba(9, 27, 39, 0.44) 100%);
  }

  .map-popup-image {
    display: block;
    height: 76px;
    transform: scale(1.01);
  }

  .map-popup-mobile-media-label {
    position: absolute;
    right: 8px;
    bottom: 7px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 24px;
    padding: 0 7px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background: rgba(13, 40, 57, 0.68);
    color: #fff;
    font-size: 8px;
    font-weight: 850;
    box-shadow: 0 7px 16px rgba(6, 22, 33, 0.15);
    backdrop-filter: blur(9px);
  }

  .map-popup-mobile-media-label i,
  .map-popup-mobile-media-label .app-svg-icon {
    display: grid;
    width: 13px;
    height: 13px;
  }

  .map-popup-body {
    gap: 6px;
    padding: 8px 9px 0;
  }

  .map-popup-top {
    gap: 5px;
  }

  .map-popup-title {
    padding-left: 2px;
    overflow: hidden;
    color: #1d3d52;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: -0.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .map-popup-badges {
    flex-wrap: nowrap;
    gap: 4px;
    overflow: hidden;
  }

  .map-popup-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    max-width: 48%;
    padding: 0 7px;
    overflow: hidden;
    border-radius: 8px;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .map-popup-mobile-icon {
    display: grid;
    place-items: center;
    flex: 0 0 11px;
    width: 11px;
    height: 11px;
  }

  .map-popup-mobile-icon .app-svg-icon {
    width: 11px;
    height: 11px;
  }

  .map-popup-meta {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.75fr);
    gap: 5px;
  }

  .map-popup-price,
  .map-popup-meta-chip {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-width: 0;
    min-height: 34px;
    padding: 0 8px;
    overflow: hidden;
    border: 1px solid rgba(54, 116, 157, 0.12);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
    color: #214f6b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
    font-size: 9px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .map-popup-price .map-popup-mobile-icon {
    flex-basis: 15px;
    width: 15px;
    height: 15px;
    color: #238455;
  }

  .map-popup-price .map-popup-mobile-icon .app-svg-icon {
    width: 15px;
    height: 15px;
  }

  .map-popup-meta-chip .map-popup-mobile-icon {
    color: #347ba8;
  }

  .map-popup-row {
    grid-template-columns: 23px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    border: 1px solid rgba(56, 109, 145, 0.1);
    border-radius: 10px;
    background: rgba(48, 108, 148, 0.055);
  }

  .map-popup-mobile-address-icon {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 7px;
    background: rgba(43, 116, 162, 0.1);
    color: #2d74a0;
  }

  .map-popup-mobile-address-icon .app-svg-icon {
    width: 12px;
    height: 12px;
  }

  .map-popup-address {
    overflow: hidden;
    color: #5a7384;
    font-size: 9px;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-line-clamp: initial;
  }

  .map-popup-footer {
    padding: 7px 9px 9px;
  }

  .map-popup-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    border-radius: 11px;
    background:
      radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.2), transparent 34%),
      linear-gradient(145deg, #2d7cad, #1b5b86);
    font-size: 10px;
    font-weight: 900;
    box-shadow: 0 11px 22px rgba(27, 87, 128, 0.24);
  }

  .map-popup-mobile-action-icon {
    display: grid;
    place-items: center;
    width: 15px;
    height: 15px;
  }

  .map-popup-mobile-action-icon .app-svg-icon {
    width: 15px;
    height: 15px;
  }

  .map-popup-desktop-action {
    display: none;
  }

  .map-popup-mobile-action {
    display: inline;
  }

  body[data-theme='dark'] .neshan-property-popup .maplibregl-popup-content,
  body[data-theme='neon-aurora'] .neshan-property-popup .maplibregl-popup-content,
  body[data-theme='emerald-glass'] .neshan-property-popup .maplibregl-popup-content,
  body[data-theme='dark'] .property-map-popup .leaflet-popup-content-wrapper,
  body[data-theme='neon-aurora'] .property-map-popup .leaflet-popup-content-wrapper,
  body[data-theme='emerald-glass'] .property-map-popup .leaflet-popup-content-wrapper {
    border-color: rgba(108, 157, 190, 0.25);
    background:
      radial-gradient(circle at 100% 0%, rgba(58, 137, 184, 0.15), transparent 35%),
      linear-gradient(180deg, rgba(25, 40, 51, 0.99), rgba(17, 30, 40, 0.99));
  }

  body[data-theme='sunset-flow'] .neshan-property-popup .maplibregl-popup-content,
  body[data-theme='sunset-flow'] .property-map-popup .leaflet-popup-content-wrapper {
    border-color: rgba(197, 131, 109, 0.25);
    background:
      radial-gradient(circle at 100% 0%, rgba(204, 113, 83, 0.16), transparent 35%),
      linear-gradient(180deg, rgba(66, 43, 54, 0.99), rgba(47, 32, 43, 0.99));
  }

  body[data-theme='dark'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::before,
  body[data-theme='neon-aurora'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::before,
  body[data-theme='emerald-glass'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::before {
    border-color: rgba(108, 157, 190, 0.22);
    background: rgba(17, 30, 40, 0.99);
  }

  body[data-theme='sunset-flow'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::before {
    border-color: rgba(197, 131, 109, 0.22);
    background: rgba(47, 32, 43, 0.99);
  }

  body[data-theme='dark'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::after,
  body[data-theme='neon-aurora'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::after,
  body[data-theme='emerald-glass'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::after {
    border-color: rgba(17, 30, 40, 0.92);
    background: #58a7d3;
  }

  body[data-theme='sunset-flow'] .maplibregl-popup-anchor-bottom.neshan-property-popup .maplibregl-popup-tip::after {
    border-color: rgba(47, 32, 43, 0.92);
    background: #df8468;
  }

  body[data-theme='dark'] .property-map-popup .leaflet-popup-tip,
  body[data-theme='neon-aurora'] .property-map-popup .leaflet-popup-tip,
  body[data-theme='emerald-glass'] .property-map-popup .leaflet-popup-tip {
    background: rgba(17, 30, 40, 0.99);
  }

  body[data-theme='sunset-flow'] .property-map-popup .leaflet-popup-tip {
    background: rgba(47, 32, 43, 0.99);
  }

  body[data-theme='dark'] .map-popup-title,
  body[data-theme='neon-aurora'] .map-popup-title,
  body[data-theme='emerald-glass'] .map-popup-title,
  body[data-theme='sunset-flow'] .map-popup-title {
    color: var(--text);
  }

  body[data-theme='dark'] .map-popup-price,
  body[data-theme='dark'] .map-popup-meta-chip,
  body[data-theme='neon-aurora'] .map-popup-price,
  body[data-theme='neon-aurora'] .map-popup-meta-chip,
  body[data-theme='emerald-glass'] .map-popup-price,
  body[data-theme='emerald-glass'] .map-popup-meta-chip,
  body[data-theme='sunset-flow'] .map-popup-price,
  body[data-theme='sunset-flow'] .map-popup-meta-chip,
  body[data-theme='dark'] .map-popup-row,
  body[data-theme='neon-aurora'] .map-popup-row,
  body[data-theme='emerald-glass'] .map-popup-row,
  body[data-theme='sunset-flow'] .map-popup-row {
    border-color: rgba(111, 155, 184, 0.16);
    background: rgba(255, 255, 255, 0.045);
    color: var(--text);
  }
}

@media (max-width: 350px) {
  .maplibregl-popup.property-map-popup.neshan-property-popup,
  .maplibregl-popup.property-map-popup.neshan-property-popup.maplibregl-popup-anchor-bottom {
    width: min(266px, calc(100vw - 20px));
    max-width: min(266px, calc(100vw - 20px)) !important;
  }

  .property-map-popup .leaflet-popup-content {
    width: min(266px, calc(100vw - 20px)) !important;
  }

  .map-popup-image,
  .map-popup-media {
    height: 68px;
    min-height: 68px;
  }

  .map-popup-body {
    padding-inline: 8px;
  }

  .map-popup-footer {
    padding-inline: 8px;
  }
}
