:root {
      --bg: #f4f6fb;
      --surface: rgba(255,255,255,.88);
      --surface-strong: #ffffff;
      --text: #111827;
      --muted: #667085;
      --stroke: rgba(17, 24, 39, .08);
      --primary: #6f5cff;
      --primary-dark: #5642ff;
      --primary-soft: rgba(111, 92, 255, .10);
      --pink: #ff4ecd;
      --success: #12b76a;
      --warning: #f79009;
      --dark: #0f172a;
      --shadow-soft: 0 14px 40px rgba(15, 23, 42, .06);
      --shadow-card: 0 18px 44px rgba(15, 23, 42, .08);
      --radius-xl: 28px;
      --radius-lg: 22px;
      --radius-md: 18px;
      --radius-sm: 14px;
    }

    * { box-sizing: border-box; }

    html,
    body {
      min-height: 100%;
    }

body.home-reference-page {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: var(--text);
      background: #ffffff;
      min-height: 100vh;
    }

body.home-reference-page h1,
body.home-reference-page h2,
body.home-reference-page h3,
body.home-reference-page h4,
body.home-reference-page h5,
body.home-reference-page h6,
body.home-reference-page button,
body.home-reference-page input,
body.home-reference-page select,
body.home-reference-page textarea {
      font-family: inherit;
    }

    a { text-decoration: none; }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 1040;
      backdrop-filter: blur(16px);
      background: rgba(255,255,255,.72);
      border-bottom: 1px solid rgba(17,24,39,.06);
    }

    .navbar-brand {
      display: inline-flex;
      align-items: center;
      padding: 0;
      font-size: 1.05rem;
      font-weight: 800;
      letter-spacing: -.03em;
      color: var(--text);
    }

    .brand-logo {
      display: block;
      width: auto;
      height: 36px;
      max-width: 100%;
    }

    .brand-logo--footer {
      height: 28px;
    }

    .brand-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--primary) 0%, var(--pink) 100%);
      display: inline-block;
      box-shadow: 0 0 0 8px rgba(111,92,255,.10);
    }

    .nav-chip {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .72rem 1rem;
      border-radius: 999px;
      color: #344054;
      font-weight: 600;
      border: 1px solid transparent;
      transition: .2s ease;
    }

    .nav-chip:hover,
    .nav-chip.is-active {
      background: rgba(111,92,255,.08);
      border-color: rgba(111,92,255,.10);
      color: var(--primary-dark);
    }

    .hero-section {
      padding: 2rem 0 1.4rem;
    }

    .hero-shell {
      position: relative;
      overflow: hidden;
      border-radius: var(--radius-xl);
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.14), transparent 28%),
        linear-gradient(135deg, #111f3d 0%, #3d3bbf 48%, #7b61ff 100%);
      box-shadow: 0 26px 70px rgba(45, 56, 119, .18);
      padding: 2rem;
      color: #fff;
    }

    .hero-layout {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
      gap: 1.2rem;
      align-items: stretch;
    }

    .hero-content {
      min-width: 0;
    }

    .hero-shell::before,
    .hero-shell::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      background: rgba(255,255,255,.08);
      filter: blur(1px);
    }

    .hero-shell::before {
      width: 260px;
      height: 260px;
      right: -60px;
      top: -80px;
    }

    .hero-shell::after {
      width: 200px;
      height: 200px;
      left: -60px;
      bottom: -90px;
    }

    .hero-kicker {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .52rem .82rem;
      border-radius: 999px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(10px);
      font-size: .82rem;
      font-weight: 700;
      margin-bottom: 1rem;
    }

    .hero-title {
      font-size: clamp(2rem, 3vw, 3rem);
      line-height: 1.02;
      letter-spacing: -.04em;
      font-weight: 800;
      max-width: 700px;
      margin-bottom: .85rem;
    }

    .hero-desc {
      color: rgba(255,255,255,.84);
      max-width: 720px;
      line-height: 1.7;
      margin-bottom: 1.2rem;
    }

    .hero-stat-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .75rem;
      max-width: 720px;
    }

    .hero-visual {
      position: relative;
      min-height: 320px;
      overflow: hidden;
      border-radius: 24px;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
    }

    .hero-visual-image {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .hero-visual-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(12, 19, 54, .12) 0%, rgba(12, 19, 54, .3) 45%, rgba(12, 19, 54, .78) 100%),
        linear-gradient(135deg, rgba(111,92,255,.14), transparent 45%);
      pointer-events: none;
    }

    .hero-visual-copy {
      position: absolute;
      left: 1rem;
      right: 1rem;
      bottom: 1rem;
      z-index: 1;
      display: grid;
      gap: .3rem;
    }

    .hero-visual-city {
      display: inline-flex;
      width: fit-content;
      padding: .38rem .7rem;
      border-radius: 999px;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(10px);
      font-size: .78rem;
      font-weight: 700;
      color: #ffffff;
    }

    .hero-visual-place {
      font-size: clamp(1.05rem, 1.8vw, 1.35rem);
      line-height: 1.1;
      font-weight: 800;
      color: #ffffff;
      text-shadow: 0 8px 24px rgba(10, 15, 44, .34);
    }

    .hero-visual-credit {
      display: flex;
      flex-wrap: wrap;
      gap: .35rem;
      align-items: center;
      font-size: .72rem;
      color: rgba(255,255,255,.82);
    }

    .hero-visual-credit a {
      color: inherit;
      text-decoration: underline;
      text-decoration-color: rgba(255,255,255,.4);
      text-underline-offset: .14rem;
    }

    .hero-visual-credit-separator {
      opacity: .72;
    }

    .hero-stat {
      border-radius: 18px;
      padding: .95rem 1rem;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.16);
      backdrop-filter: blur(10px);
    }

    .hero-stat-value {
      font-size: 1.1rem;
      font-weight: 800;
      margin-bottom: .15rem;
    }

    .hero-stat-label {
      color: rgba(255,255,255,.74);
      font-size: .82rem;
    }

    .floating-panel {
      margin-top: -1.15rem;
      position: relative;
      z-index: 3;
    }

    .filter-shell {
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(17,24,39,.06);
      border-radius: 26px;
      padding: 1rem;
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(12px);
    }

    .filter-grid {
      display: grid;
      grid-template-columns: 1.2fr .9fr .9fr .85fr auto;
      gap: .8rem;
      align-items: center;
    }

    .field-box {
      background: #fff;
      border: 1px solid rgba(17,24,39,.08);
      border-radius: 18px;
      padding: .78rem .92rem;
      min-height: 60px;
    }

    .field-label {
      display: block;
      color: var(--muted);
      font-size: .75rem;
      font-weight: 700;
      margin-bottom: .32rem;
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    .field-value,
    .field-box input,
    .field-box select {
      border: 0;
      outline: 0;
      box-shadow: none;
      width: 100%;
      padding: 0;
      font-size: .98rem;
      font-weight: 600;
      color: var(--text);
      background: transparent;
    }

    .btn-find {
      min-height: 60px;
      border-radius: 18px;
      padding-inline: 1.25rem;
      font-weight: 800;
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--pink) 100%);
      border: 0;
      box-shadow: 0 16px 30px rgba(111, 92, 255, .22);
    }

    .btn-find:hover {
      background: linear-gradient(135deg, #4f39ff 0%, #ff3cc6 100%);
    }

    .chip-row {
      display: flex;
      flex-wrap: wrap;
      gap: .6rem;
      margin-top: .8rem;
    }

    .smart-chip {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .62rem .9rem;
      border-radius: 999px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.08);
      color: #344054;
      font-size: .88rem;
      font-weight: 600;
      transition: .2s ease;
    }

    .smart-chip:hover,
    .smart-chip.is-active {
      background: rgba(111,92,255,.08);
      border-color: rgba(111,92,255,.18);
      color: var(--primary-dark);
    }

    .section-space {
      padding: 1.5rem 0 3rem;
    }

    .section-heading {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 1rem;
      margin-bottom: 1rem;
    }

    .section-title {
      font-size: clamp(1.6rem, 2vw, 2rem);
      letter-spacing: -.03em;
      font-weight: 800;
      margin-bottom: .35rem;
    }

    .section-desc {
      color: var(--muted);
      margin-bottom: 0;
    }

    .toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: .85rem;
      margin-bottom: 1rem;
    }

    .toolbar-group {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
      align-items: center;
    }

    .soft-button,
    .toolbar-select {
      background: rgba(255,255,255,.9);
      border: 1px solid rgba(17,24,39,.08);
      border-radius: 14px;
      min-height: 46px;
      padding: .7rem .9rem;
      font-weight: 600;
      color: #344054;
      box-shadow: var(--shadow-soft);
    }

    .toolbar-select {
      min-width: 210px;
    }

    .soft-button.is-active {
      background: rgba(111,92,255,.10);
      color: var(--primary-dark);
      border-color: rgba(111,92,255,.16);
    }

    .catalog-card {
      height: 100%;
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .catalog-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-card);
      border-color: rgba(111,92,255,.16);
    }

    .card-cover {
      position: relative;
      min-height: 158px;
      padding: 1rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 34%),
        linear-gradient(135deg, #212d54 0%, #4654d6 55%, #7d69ff 100%);
    }

    .card-cover.cover-2 {
      background:
        radial-gradient(circle at top left, rgba(255,255,255,.20), transparent 30%),
        linear-gradient(135deg, #2c1744 0%, #6544ef 58%, #c866ff 100%);
    }

    .card-cover.cover-3 {
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 34%),
        linear-gradient(135deg, #0d2946 0%, #1b5d9e 55%, #5bc1ff 100%);
    }

    .card-cover.cover-4 {
      background:
        radial-gradient(circle at bottom left, rgba(255,255,255,.18), transparent 36%),
        linear-gradient(135deg, #1f243d 0%, #8a3cff 58%, #ff63b2 100%);
    }

    .cover-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: .6rem;
    }

    .cover-badge,
    .cover-rating {
      display: inline-flex;
      align-items: center;
      gap: .38rem;
      padding: .46rem .72rem;
      border-radius: 999px;
      background: rgba(255,255,255,.13);
      border: 1px solid rgba(255,255,255,.18);
      color: #fff;
      font-size: .78rem;
      font-weight: 700;
      backdrop-filter: blur(8px);
    }

    .cover-badge.js-availability-badge {
      max-width: min(240px, 100%);
      white-space: normal;
      line-height: 1.25;
      overflow-wrap: anywhere;
    }

    .cover-rating {
      background: rgba(15,23,42,.22);
    }

    .cover-bottom {
      display: flex;
      align-items: flex-end;
      gap: .8rem;
      min-width: 0;
    }

    .cover-bottom > div:last-child {
      flex: 1 1 auto;
      min-width: 0;
    }

    .cover-photo {
      width: 56px;
      height: 56px;
      border-radius: 16px;
      overflow: hidden;
      position: relative;
      flex: 0 0 auto;
      background: rgba(255,255,255,.18);
      border: 1px solid rgba(255,255,255,.18);
      box-shadow: 0 12px 22px rgba(15, 23, 42, .14);
    }

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

    .cover-photo-fallback {
      position: absolute;
      inset: 0;
      display: none;
      place-items: center;
      color: #fff;
      font-weight: 800;
      background: rgba(255,255,255,.12);
    }

    .cover-photo.is-placeholder .cover-photo-fallback {
      display: grid;
    }

    .logo-box {
      width: 52px;
      height: 52px;
      border-radius: 16px;
      display: inline-grid;
      place-items: center;
      background: rgba(255,255,255,.18);
      border: 1px solid rgba(255,255,255,.18);
      color: #fff;
      font-weight: 800;
      box-shadow: 0 12px 22px rgba(15, 23, 42, .14);
      flex: 0 0 auto;
    }

    .cover-name {
      color: #fff;
      font-size: 1.1rem;
      line-height: 1.05;
      letter-spacing: -.02em;
      font-weight: 800;
      margin-bottom: .25rem;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
      overflow-wrap: anywhere;
    }

    .cover-subtitle {
      color: rgba(255,255,255,.84);
      font-size: .84rem;
      margin: 0;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
      overflow-wrap: anywhere;
    }

    .card-body-inner {
      padding: 1rem 1rem 1.05rem;
      display: flex;
      flex-direction: column;
      min-height: auto;
    }

    .mini-meta {
      display: grid;
      gap: .65rem;
      margin-bottom: .85rem;
    }

    .mini-row {
      display: flex;
      align-items: flex-start;
      gap: .68rem;
      color: #344054;
      font-size: .9rem;
    }

    .mini-row > div {
      min-width: 0;
    }

    .mini-icon {
      width: 34px;
      height: 34px;
      border-radius: 12px;
      display: inline-grid;
      place-items: center;
      flex: 0 0 auto;
      background: rgba(111,92,255,.10);
      color: var(--primary-dark);
    }

    .text-truncate-2 {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
    }

    .price-line {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: .7rem;
      padding: .82rem .9rem;
      border-radius: 16px;
      background: linear-gradient(180deg, #faf7ff 0%, #f7f5ff 100%);
      border: 1px solid rgba(111,92,255,.12);
      margin-bottom: .85rem;
    }

    .price-line > div:first-child {
      order: 2;
      min-width: 0;
    }

    .price-line .next-slot {
      order: 1;
      justify-self: start;
    }

    .price-label {
      color: var(--muted);
      font-size: .76rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-weight: 700;
      margin-bottom: .2rem;
      overflow-wrap: anywhere;
    }

    .price-value {
      font-size: 1.12rem;
      font-weight: 800;
      letter-spacing: -.03em;
      color: var(--dark);
    }

    .next-slot {
      display: inline-flex;
      align-items: center;
      gap: .42rem;
      padding: .5rem .72rem;
      border-radius: 999px;
      font-size: .78rem;
      font-weight: 700;
      color: #0f172a;
      background: #f8fafc;
      border: 1px solid rgba(17,24,39,.06);
      max-width: 100%;
      justify-content: flex-start;
      text-align: left;
      white-space: normal;
    }

    .next-slot.is-fast {
      color: var(--success);
      background: rgba(18,183,106,.10);
      border-color: rgba(18,183,106,.14);
    }

    .slot-row {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-bottom: .9rem;
    }

    .tag-row {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: .45rem;
      margin-bottom: 1rem;
    }

    .service-tag {
      display: inline-flex;
      align-items: center;
      padding: .42rem .62rem;
      border-radius: 999px;
      background: #f8fafc;
      color: #344054;
      border: 1px solid rgba(17,24,39,.06);
      font-size: .77rem;
      font-weight: 600;
      max-width: 100%;
      white-space: normal;
      overflow-wrap: anywhere;
    }

    .card-actions {
      display: grid;
      grid-template-columns: 1fr auto auto;
      gap: .55rem;
    }

    .btn-primary-soft {
      border: 0;
      color: #fff;
      font-weight: 800;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--pink) 100%);
      min-height: 46px;
    }

    .btn-light-soft {
      min-height: 46px;
      min-width: 46px;
      border-radius: 14px;
      border: 1px solid rgba(17,24,39,.08);
      background: #fff;
      color: #344054;
      font-weight: 700;
    }

    .info-band {
      margin-top: 2rem;
      padding: 1.25rem 1.35rem;
      border-radius: 22px;
      background: rgba(255,255,255,.88);
      border: 1px solid rgba(17,24,39,.06);
      box-shadow: var(--shadow-soft);
    }

    .lazy-card-item.is-hidden {
      display: none;
    }

    .lazy-load-shell {
      padding-top: 1.25rem;
    }

    .lazy-load-meta {
      color: var(--muted);
      font-weight: 600;
    }

    .lazy-load-sentinel {
      width: 100%;
      height: 2px;
      margin-top: 1rem;
    }

    .btn-primary-soft.is-loading {
      opacity: .8;
      pointer-events: none;
    }

    .footer-shell {
      padding: 2.2rem 0 3rem;
      color: var(--muted);
    }

    @media (max-width: 1399.98px) {
      .filter-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
      }
      .filter-grid .btn-find {
        grid-column: 1 / -1;
      }
    }

    @media (max-width: 991.98px) {
      .hero-layout {
        grid-template-columns: 1fr;
      }
      .hero-shell {
        padding: 1.5rem;
      }
      .hero-visual {
        min-height: 280px;
      }
      .hero-stat-grid,
      .filter-grid {
        grid-template-columns: 1fr 1fr;
      }
      .card-actions {
        grid-template-columns: 1fr auto auto;
      }
    }

    @media (max-width: 767.98px) {
      .hero-stat-grid,
      .filter-grid,
      .card-actions {
        grid-template-columns: 1fr;
      }
      .hero-layout {
        gap: 1rem;
      }
      .hero-shell {
        border-radius: 24px;
      }
      .hero-visual {
        min-height: 220px;
      }
      .hero-visual-copy {
        left: .85rem;
        right: .85rem;
        bottom: .85rem;
      }
      .filter-shell {
        border-radius: 22px;
      }
      .toolbar {
        align-items: stretch;
      }
      .toolbar-group,
      .toolbar-select {
        width: 100%;
      }
      .toolbar-select {
        min-width: 100%;
      }
      .auth-grid {
        grid-template-columns: 1fr;
      }
      .auth-card-head {
        flex-direction: column;
      }
      .auth-hero-shell,
      .doc-hero-shell,
      .cabinet-hero-shell,
      .auth-card,
      .doc-content-card,
      .cabinet-card,
      .verify-card {
        padding: 1.1rem;
      }
      .auth-hero-actions,
      .verify-actions,
      .cabinet-actions,
      .cabinet-history-links {
        flex-direction: column;
      }
      .auth-switch-chip,
      .verify-action,
      .cabinet-action-primary,
      .cabinet-action-secondary {
        width: 100%;
      }
    }

body.home-reference-page .city-dropdown-toggle {
      min-width: 160px;
    }

body.home-reference-page .city-dropdown-menu {
      min-width: 220px;
      border: 1px solid rgba(17,24,39,.08);
      border-radius: 16px;
      padding: .45rem;
      box-shadow: var(--shadow-soft);
    }

body.home-reference-page .city-dropdown-menu .dropdown-item {
      border-radius: 12px;
      padding: .65rem .85rem;
      font-weight: 600;
      color: #344054;
    }

body.home-reference-page .city-dropdown-menu .dropdown-item:hover,
body.home-reference-page .city-dropdown-menu .dropdown-item.active {
      background: rgba(111,92,255,.08);
      color: var(--primary-dark);
    }

body.home-reference-page .cards-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.5rem;
      align-items: start;
    }

body.home-reference-page .cards-grid > * {
      min-width: 0;
    }

body.home-reference-page .catalog-card.master-card {
      display: flex;
      flex-direction: column;
      min-width: 0;
      height: auto;
      align-self: start;
    }

body.home-reference-page .card-body-inner {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      height: auto;
    }

body.home-reference-page .catalog-card.is-top-promo {
      border-color: rgba(111,92,255,.18);
      box-shadow: 0 20px 48px rgba(90, 77, 193, .14);
    }

body.home-reference-page .cover-badge--promo {
      background: rgba(15,23,42,.24);
    }

body.home-reference-page .cover-badge.is-loading {
      color: #ffffff;
      background: rgba(255,255,255,.18);
      border-color: rgba(255,255,255,.24);
    }

body.home-reference-page .cover-badge.is-available {
      color: #ffffff;
      background: rgba(18,183,106,.18);
      border-color: rgba(198,246,213,.32);
    }

body.home-reference-page .cover-badge.is-unavailable {
      color: #ffffff;
      background: rgba(15,23,42,.22);
      border-color: rgba(255,255,255,.14);
    }

body.home-reference-page .cover-badge.is-error {
      color: #ffffff;
      background: rgba(244,112,103,.22);
      border-color: rgba(254,205,202,.30);
    }

body.home-reference-page .cover-name,
body.home-reference-page .cover-name a,
body.home-reference-page .cover-subtitle,
body.home-reference-page .cover-subtitle a {
      color: inherit;
    }

body.home-reference-page .cover-subtitle {
      margin: 0;
    }

body.home-reference-page .text-truncate-2 a {
      color: inherit;
      text-decoration: underline;
      text-decoration-color: rgba(52,64,84,.24);
      text-underline-offset: 3px;
    }

body.home-reference-page .text-truncate-2 a:hover {
      color: var(--primary-dark);
      text-decoration-color: rgba(86,66,255,.32);
    }

body.home-reference-page .next-slot.is-loading {
      color: #344054;
      background: #f8fafc;
      border-color: rgba(17,24,39,.06);
    }

body.home-reference-page .next-slot.is-available {
      color: var(--success);
      background: rgba(18,183,106,.10);
      border-color: rgba(18,183,106,.14);
    }

body.home-reference-page .next-slot.is-unavailable {
      color: #667085;
      background: #f8fafc;
      border-color: rgba(17,24,39,.06);
    }

body.home-reference-page .next-slot.is-error {
      color: #b42318;
      background: rgba(244,112,103,.10);
      border-color: rgba(244,112,103,.16);
    }

body.home-reference-page .card-actions .btn,
body.home-reference-page .card-actions button {
      width: 100%;
    }

body.home-reference-page .card-actions > * {
      min-width: 0;
    }

body.home-reference-page .card-actions {
      grid-template-columns: minmax(0, 1fr) 46px 46px;
      gap: .65rem;
      margin-top: auto;
      padding-top: .15rem;
      align-items: stretch;
    }

body.home-reference-page .card-actions .btn-primary-soft,
body.home-reference-page .card-actions button.btn-primary-soft {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .85rem 1rem;
      white-space: nowrap;
      box-shadow: 0 16px 30px rgba(111, 92, 255, .22);
    }

body.home-reference-page .card-actions .btn-light-soft {
      display: inline-grid;
      place-items: center;
      width: 46px;
      min-width: 46px;
      padding: 0;
      box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    }

body.home-reference-page .btn-light-soft i,
body.home-reference-page .btn-primary-soft i {
      line-height: 1;
    }

body.home-reference-page .empty-box {
      padding: 1.6rem;
      border-radius: var(--radius-lg);
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page .empty-box h2 {
      font-size: 1.3rem;
      letter-spacing: -.03em;
      margin-bottom: .55rem;
    }

body.home-reference-page .empty-box p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

body.home-reference-page .toolbar-form {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
      align-items: center;
    }

body.home-reference-page .toolbar-form input[type="hidden"] {
      display: none;
    }

body.home-reference-page .info-band + .info-band {
      margin-top: 1rem;
    }

body.home-reference-page .info-band__head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 1rem;
      margin-bottom: 1rem;
    }

body.home-reference-page .info-band__title {
      font-size: 1.2rem;
      font-weight: 800;
      letter-spacing: -.03em;
      margin: 0;
      color: var(--dark);
    }

body.home-reference-page .info-band__desc {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

body.home-reference-page .info-band__links {
      display: flex;
      flex-wrap: wrap;
      gap: .55rem;
    }

body.home-reference-page .info-band__links a {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .62rem .9rem;
      border-radius: 999px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.08);
      color: #344054;
      font-size: .88rem;
      font-weight: 600;
      transition: .2s ease;
    }

body.home-reference-page .info-band__links a:hover {
      background: rgba(111,92,255,.08);
      border-color: rgba(111,92,255,.18);
      color: var(--primary-dark);
    }

body.home-reference-page .landing-custom-stack {
      display: grid;
      gap: 1rem;
      margin-bottom: 1.1rem;
    }

body.home-reference-page .landing-custom-block {
      position: relative;
      overflow: hidden;
      border-radius: 26px;
      padding: 1.35rem;
      background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(246,248,255,.98) 100%);
      border: 1px solid rgba(17,24,39,.08);
      box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
    }

body.home-reference-page .landing-custom-block--spotlight {
      background:
        radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(135deg, #111f3d 0%, #3d3bbf 48%, #7b61ff 100%);
      color: #ffffff;
      border-color: rgba(17,31,61,.18);
      box-shadow: 0 28px 60px rgba(45, 56, 119, .18);
    }

body.home-reference-page .landing-custom-block--cta {
      background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 55%, #60a5fa 100%);
      color: #ffffff;
      border-color: rgba(15,23,42,.18);
      box-shadow: 0 28px 60px rgba(29, 78, 216, .16);
    }

body.home-reference-page .landing-custom-block__intro {
      display: grid;
      gap: .75rem;
      margin-bottom: .95rem;
    }

body.home-reference-page .landing-custom-block__eyebrow {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      padding: .42rem .78rem;
      border-radius: 999px;
      background: rgba(111,92,255,.10);
      color: var(--primary-dark);
      font-size: .76rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .06em;
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__eyebrow,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__eyebrow {
      background: rgba(255,255,255,.12);
      color: #ffffff;
    }

body.home-reference-page .landing-custom-block__title {
      margin: 0;
      font-size: clamp(1.35rem, 2vw, 2rem);
      line-height: 1.08;
      letter-spacing: -.04em;
      font-weight: 800;
      color: var(--dark);
    }

body.home-reference-page .landing-custom-block__desc {
      margin: 0;
      color: var(--muted);
      line-height: 1.7;
      max-width: 900px;
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__title,
body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__desc,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__title,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__desc {
      color: #ffffff;
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__desc,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__desc {
      color: rgba(255,255,255,.84);
    }

body.home-reference-page .landing-custom-block__actions {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
    }

body.home-reference-page .landing-custom-block__grid + .landing-custom-block__actions {
      margin-top: .95rem;
    }

body.home-reference-page .landing-custom-block__action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 0 1.1rem;
      border-radius: 999px;
      background: var(--primary-dark);
      color: #ffffff;
      font-size: .9rem;
      font-weight: 700;
      border: 1px solid transparent;
      transition: .2s ease;
    }

body.home-reference-page .landing-custom-block__action:hover {
      background: #4338ca;
      color: #ffffff;
    }

body.home-reference-page .landing-custom-block__action--secondary {
      background: rgba(255,255,255,.84);
      color: var(--primary-dark);
      border-color: rgba(111,92,255,.14);
    }

body.home-reference-page .landing-custom-block__action--secondary:hover {
      background: #ffffff;
      color: var(--primary-dark);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action {
      background: #ffffff;
      color: #111f3d;
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action:hover,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action:hover {
      background: rgba(255,255,255,.92);
      color: #111f3d;
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action--secondary,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action--secondary {
      background: rgba(255,255,255,.12);
      color: #ffffff;
      border-color: rgba(255,255,255,.18);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action--secondary:hover,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action--secondary:hover {
      background: rgba(255,255,255,.18);
      color: #ffffff;
    }

body.home-reference-page .landing-custom-block__grid {
      display: grid;
      gap: .85rem;
    }

body.home-reference-page .landing-custom-block__grid--cards {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

body.home-reference-page .landing-custom-block__grid--metrics {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }

body.home-reference-page .landing-custom-block__card,
body.home-reference-page .landing-custom-block__metric {
      height: 100%;
      padding: 1rem;
      border-radius: 20px;
      background: rgba(255,255,255,.9);
      border: 1px solid rgba(17,24,39,.08);
    }

body.home-reference-page .landing-custom-block__step-index {
      display: inline-grid;
      place-items: center;
      width: 36px;
      height: 36px;
      border-radius: 12px;
      margin-bottom: .8rem;
      background: rgba(111,92,255,.10);
      color: var(--primary-dark);
      font-weight: 800;
    }

body.home-reference-page .landing-custom-block__card-title {
      margin: 0 0 .45rem;
      font-size: 1rem;
      font-weight: 800;
      letter-spacing: -.02em;
      color: var(--dark);
    }

body.home-reference-page .landing-custom-block__card-desc {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
      font-size: .92rem;
    }

body.home-reference-page .landing-custom-block__metric-value {
      font-size: 1.5rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: -.03em;
      color: var(--dark);
      margin-bottom: .45rem;
    }

body.home-reference-page .landing-custom-block__metric-label {
      color: var(--muted);
      line-height: 1.55;
      font-size: .9rem;
    }

body.home-reference-page .landing-custom-block {
      --theme-surface: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(246,248,255,.98) 100%);
      --theme-border: rgba(17,24,39,.08);
      --theme-shadow: 0 18px 44px rgba(15, 23, 42, .06);
      --theme-title: var(--dark);
      --theme-desc: var(--muted);
      --theme-chip-bg: rgba(111,92,255,.10);
      --theme-chip-text: var(--primary-dark);
      --theme-card-bg: rgba(255,255,255,.9);
      --theme-card-border: rgba(17,24,39,.08);
      --theme-step-bg: var(--theme-chip-bg);
      --theme-step-text: var(--theme-chip-text);
      --theme-primary-bg: var(--primary-dark);
      --theme-primary-text: #ffffff;
      --theme-secondary-bg: rgba(255,255,255,.84);
      --theme-secondary-text: var(--primary-dark);
      --theme-secondary-border: rgba(111,92,255,.14);
      --theme-hero-bg: linear-gradient(135deg, #111f3d 0%, #3d3bbf 48%, #7b61ff 100%);
      --theme-hero-border: rgba(17,31,61,.18);
      --theme-hero-shadow: 0 28px 60px rgba(45, 56, 119, .18);
      --theme-hero-title: #ffffff;
      --theme-hero-desc: rgba(255,255,255,.84);
      --theme-hero-chip-bg: rgba(255,255,255,.12);
      --theme-hero-chip-text: #ffffff;
      --theme-hero-primary-bg: #ffffff;
      --theme-hero-primary-text: #111f3d;
      --theme-hero-secondary-bg: rgba(255,255,255,.12);
      --theme-hero-secondary-text: #ffffff;
      --theme-hero-secondary-border: rgba(255,255,255,.18);
      background: var(--theme-surface);
      border-color: var(--theme-border);
      box-shadow: var(--theme-shadow);
    }

body.home-reference-page .landing-custom-block__eyebrow {
      background: var(--theme-chip-bg);
      color: var(--theme-chip-text);
    }

body.home-reference-page .landing-custom-block__title,
body.home-reference-page .landing-custom-block__card-title,
body.home-reference-page .landing-custom-block__metric-value {
      color: var(--theme-title);
    }

body.home-reference-page .landing-custom-block__desc,
body.home-reference-page .landing-custom-block__card-desc,
body.home-reference-page .landing-custom-block__metric-label {
      color: var(--theme-desc);
    }

body.home-reference-page .landing-custom-block__card,
body.home-reference-page .landing-custom-block__metric {
      background: var(--theme-card-bg);
      border-color: var(--theme-card-border);
    }

body.home-reference-page .landing-custom-block__step-index {
      background: var(--theme-step-bg);
      color: var(--theme-step-text);
    }

body.home-reference-page .landing-custom-block__action {
      background: var(--theme-primary-bg);
      color: var(--theme-primary-text);
      transition: transform .2s ease, filter .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
    }

body.home-reference-page .landing-custom-block__action:hover {
      background: var(--theme-primary-bg);
      transform: translateY(-1px);
      filter: brightness(.98);
      color: var(--theme-primary-text);
    }

body.home-reference-page .landing-custom-block__action--secondary {
      background: var(--theme-secondary-bg);
      color: var(--theme-secondary-text);
      border-color: var(--theme-secondary-border);
    }

body.home-reference-page .landing-custom-block__action--secondary:hover {
      background: var(--theme-secondary-bg);
      color: var(--theme-secondary-text);
    }

body.home-reference-page .landing-custom-block--spotlight,
body.home-reference-page .landing-custom-block--cta {
      background: var(--theme-hero-bg);
      border-color: var(--theme-hero-border);
      box-shadow: var(--theme-hero-shadow);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__eyebrow,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__eyebrow {
      background: var(--theme-hero-chip-bg);
      color: var(--theme-hero-chip-text);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__title,
body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__desc,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__title,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__desc {
      color: var(--theme-hero-title);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__desc,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__desc {
      color: var(--theme-hero-desc);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action {
      background: var(--theme-hero-primary-bg);
      color: var(--theme-hero-primary-text);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action:hover,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action:hover {
      background: var(--theme-hero-primary-bg);
      color: var(--theme-hero-primary-text);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action--secondary,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action--secondary {
      background: var(--theme-hero-secondary-bg);
      color: var(--theme-hero-secondary-text);
      border-color: var(--theme-hero-secondary-border);
    }

body.home-reference-page .landing-custom-block--spotlight .landing-custom-block__action--secondary:hover,
body.home-reference-page .landing-custom-block--cta .landing-custom-block__action--secondary:hover {
      background: var(--theme-hero-secondary-bg);
      color: var(--theme-hero-secondary-text);
    }

body.home-reference-page .landing-custom-block--theme-ocean {
      --theme-surface: linear-gradient(180deg, rgba(239,246,255,.98) 0%, rgba(224,242,254,.98) 100%);
      --theme-border: rgba(59, 130, 246, 0.16);
      --theme-chip-bg: rgba(29, 78, 216, 0.12);
      --theme-chip-text: #1d4ed8;
      --theme-card-border: rgba(96, 165, 250, 0.18);
      --theme-primary-bg: #1d4ed8;
      --theme-secondary-text: #1d4ed8;
      --theme-secondary-border: rgba(29, 78, 216, 0.18);
      --theme-hero-bg: linear-gradient(135deg, #0f172a 0%, #1d4ed8 55%, #60a5fa 100%);
      --theme-hero-border: rgba(29, 78, 216, 0.24);
      --theme-hero-shadow: 0 28px 60px rgba(29, 78, 216, 0.22);
      --theme-hero-primary-text: #0f172a;
    }

body.home-reference-page .landing-custom-block--theme-emerald {
      --theme-surface: linear-gradient(180deg, rgba(236,253,245,.98) 0%, rgba(209,250,229,.98) 100%);
      --theme-border: rgba(5, 150, 105, 0.16);
      --theme-chip-bg: rgba(5, 150, 105, 0.12);
      --theme-chip-text: #047857;
      --theme-card-border: rgba(16, 185, 129, 0.2);
      --theme-primary-bg: #059669;
      --theme-secondary-text: #047857;
      --theme-secondary-border: rgba(5, 150, 105, 0.18);
      --theme-hero-bg: linear-gradient(135deg, #052e2b 0%, #047857 48%, #34d399 100%);
      --theme-hero-border: rgba(5, 150, 105, 0.22);
      --theme-hero-shadow: 0 28px 60px rgba(5, 150, 105, 0.2);
      --theme-hero-primary-text: #052e2b;
    }

body.home-reference-page .landing-custom-block--theme-sunset {
      --theme-surface: linear-gradient(180deg, rgba(255,247,237,.98) 0%, rgba(254,240,138,.55) 100%);
      --theme-border: rgba(234, 88, 12, 0.16);
      --theme-chip-bg: rgba(234, 88, 12, 0.12);
      --theme-chip-text: #c2410c;
      --theme-card-border: rgba(251, 146, 60, 0.22);
      --theme-primary-bg: #ea580c;
      --theme-secondary-text: #c2410c;
      --theme-secondary-border: rgba(234, 88, 12, 0.18);
      --theme-hero-bg: linear-gradient(135deg, #7c2d12 0%, #ea580c 48%, #fbbf24 100%);
      --theme-hero-border: rgba(234, 88, 12, 0.24);
      --theme-hero-shadow: 0 28px 60px rgba(234, 88, 12, 0.2);
      --theme-hero-primary-text: #7c2d12;
    }

body.home-reference-page .landing-custom-block--theme-berry {
      --theme-surface: linear-gradient(180deg, rgba(255,241,242,.98) 0%, rgba(255,228,230,.98) 100%);
      --theme-border: rgba(225, 29, 72, 0.16);
      --theme-chip-bg: rgba(190, 24, 93, 0.12);
      --theme-chip-text: #be185d;
      --theme-card-border: rgba(251, 113, 133, 0.22);
      --theme-primary-bg: #be185d;
      --theme-secondary-text: #be185d;
      --theme-secondary-border: rgba(190, 24, 93, 0.18);
      --theme-hero-bg: linear-gradient(135deg, #4a044e 0%, #be185d 50%, #fb7185 100%);
      --theme-hero-border: rgba(190, 24, 93, 0.24);
      --theme-hero-shadow: 0 28px 60px rgba(190, 24, 93, 0.2);
      --theme-hero-primary-text: #4a044e;
    }

body.home-reference-page .landing-custom-block--theme-graphite {
      --theme-surface: linear-gradient(180deg, rgba(248,250,252,.98) 0%, rgba(226,232,240,.98) 100%);
      --theme-border: rgba(71, 85, 105, 0.16);
      --theme-chip-bg: rgba(51, 65, 85, 0.1);
      --theme-chip-text: #334155;
      --theme-card-border: rgba(148, 163, 184, 0.24);
      --theme-primary-bg: #334155;
      --theme-secondary-text: #334155;
      --theme-secondary-border: rgba(51, 65, 85, 0.18);
      --theme-hero-bg: linear-gradient(135deg, #020617 0%, #1e293b 55%, #64748b 100%);
      --theme-hero-border: rgba(51, 65, 85, 0.22);
      --theme-hero-shadow: 0 28px 60px rgba(15, 23, 42, 0.26);
      --theme-hero-primary-text: #020617;
    }

body.home-reference-page .footer-shell a {
      color: #475467;
      font-weight: 600;
    }

body.home-reference-page .footer-shell a:hover {
      color: var(--primary-dark);
    }

body.home-reference-page .footer-links-inline {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
    }

body.auth-reference-page,
body.doc-reference-page,
body.verify-reference-page,
body.cabinet-reference-page {
      background: #ffffff;
      color: var(--text);
    }

body.home-reference-page .auth-main,
body.home-reference-page .verify-main,
body.home-reference-page .doc-main,
body.home-reference-page .cabinet-main {
      padding: 2rem 0 3rem;
    }

body.home-reference-page .auth-hero-shell,
body.home-reference-page .doc-hero-shell,
body.home-reference-page .cabinet-hero-shell {
      padding: 2rem;
    }

body.home-reference-page .auth-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
      margin-top: 1.2rem;
    }

body.home-reference-page .auth-switch-chip {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      padding: .78rem 1rem;
      border-radius: 999px;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.18);
      color: #fff;
      font-weight: 700;
      transition: transform .18s ease, background .18s ease, border-color .18s ease;
    }

body.home-reference-page .auth-switch-chip:hover,
body.home-reference-page .auth-switch-chip.is-active {
      transform: translateY(-1px);
      background: rgba(255,255,255,.18);
      border-color: rgba(255,255,255,.24);
      color: #fff;
    }

body.home-reference-page .auth-floating-panel {
      margin-top: -1.25rem;
      position: relative;
      z-index: 3;
    }

body.home-reference-page .auth-panel-shell,
body.home-reference-page .doc-panel-shell,
body.home-reference-page .cabinet-panel-shell {
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(17,24,39,.06);
      border-radius: 26px;
      padding: 1rem;
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(12px);
    }

body.home-reference-page .auth-flash-stack {
      display: grid;
      gap: .85rem;
      margin-bottom: 1rem;
    }

body.home-reference-page .auth-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

body.home-reference-page .auth-card,
body.home-reference-page .doc-content-card,
body.home-reference-page .cabinet-card {
      position: relative;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(17, 24, 39, .08);
      border-radius: 24px;
      padding: 1.35rem;
      box-shadow: var(--shadow-card);
    }

body.home-reference-page .auth-card::before,
body.home-reference-page .doc-content-card::before,
body.home-reference-page .cabinet-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: linear-gradient(90deg, var(--primary-dark) 0%, var(--pink) 100%);
    }

body.home-reference-page .auth-card-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 1rem;
    }

body.home-reference-page .auth-card h2,
body.home-reference-page .cabinet-card h2 {
      margin: 0 0 .35rem;
      font-size: 1.45rem;
      font-weight: 800;
      letter-spacing: -.02em;
      color: #111827;
    }

body.home-reference-page .auth-card p,
body.home-reference-page .cabinet-card p {
      margin: 0;
      color: #667085;
      line-height: 1.6;
    }

body.home-reference-page .auth-card-badge,
body.home-reference-page .verify-state,
body.home-reference-page .cabinet-badge {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      padding: .62rem .8rem;
      border-radius: 999px;
      background: rgba(111, 92, 255, .08);
      border: 1px solid rgba(111, 92, 255, .12);
      color: var(--primary-dark);
      font-size: .82rem;
      font-weight: 700;
      white-space: nowrap;
    }

body.home-reference-page .auth-card form {
      display: grid;
      gap: .9rem;
    }

body.home-reference-page .auth-card label {
      display: grid;
      gap: .45rem;
      font-size: .92rem;
      font-weight: 600;
      color: #344054;
    }

body.home-reference-page .auth-card input,
body.home-reference-page .auth-card select,
body.home-reference-page .auth-card textarea {
      width: 100%;
      border: 1px solid rgba(17,24,39,.08);
      border-radius: 16px;
      padding: .92rem 1rem;
      font: inherit;
      font-weight: 600;
      background: #fff;
      color: #111827;
      transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }

body.home-reference-page .auth-card input:focus,
body.home-reference-page .auth-card select:focus,
body.home-reference-page .auth-card textarea:focus {
      outline: none;
      border-color: rgba(111, 92, 255, .42);
      box-shadow: 0 0 0 4px rgba(111, 92, 255, .10);
      transform: translateY(-1px);
    }

body.home-reference-page .auth-card .inline-check {
      display: flex;
      align-items: flex-start;
      gap: .75rem;
      padding: .9rem 1rem;
      border-radius: 16px;
      background: rgba(111, 92, 255, .05);
      border: 1px solid rgba(111, 92, 255, .08);
      color: #344054;
    }

body.home-reference-page .auth-card .inline-check input {
      width: 18px;
      height: 18px;
      margin-top: .15rem;
      padding: 0;
      border-radius: 6px;
      transform: none !important;
      box-shadow: none !important;
    }

body.home-reference-page .auth-card .coworking-fields {
      display: none;
      gap: .9rem;
      padding: 1rem;
      border-radius: 18px;
      background: rgba(111, 92, 255, .04);
      border: 1px solid rgba(111, 92, 255, .08);
    }

body.home-reference-page .auth-card .coworking-fields.is-visible {
      display: grid;
    }

body.home-reference-page .auth-card .note-text {
      margin: 0;
      color: #667085;
      font-size: .9rem;
      line-height: 1.55;
    }

body.home-reference-page .turnstile-box {
      display: grid;
      gap: .75rem;
      padding: 1rem;
      border-radius: 18px;
      background: rgba(111, 92, 255, .04);
      border: 1px solid rgba(111, 92, 255, .08);
    }

body.home-reference-page .auth-submit,
body.home-reference-page .verify-action,
body.home-reference-page .cabinet-action-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      border: 0;
      border-radius: 18px;
      padding: 0 1.15rem;
      font: inherit;
      font-weight: 800;
      color: #fff;
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--pink) 100%);
      box-shadow: 0 16px 30px rgba(111, 92, 255, .18);
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }

body.home-reference-page .auth-submit:hover,
body.home-reference-page .verify-action:hover,
body.home-reference-page .cabinet-action-primary:hover {
      transform: translateY(-1px);
      filter: saturate(1.05);
      box-shadow: 0 18px 34px rgba(111, 92, 255, .22);
      color: #fff;
    }

body.home-reference-page .errors {
      background: rgba(254, 243, 242, .92);
      color: #b42318;
      border: 1px solid rgba(240, 68, 56, .14);
      border-radius: 18px;
      padding: 1rem 1.05rem;
    }

body.home-reference-page .errors p { margin: 0; }
body.home-reference-page .errors p + p { margin-top: 6px; }

body.home-reference-page .success {
      background: rgba(236, 253, 243, .94);
      color: #027a48;
      border: 1px solid rgba(18, 183, 106, .16);
      border-radius: 18px;
      padding: 1rem 1.05rem;
    }

body.home-reference-page .success p { margin: 0; }

body.home-reference-page .verify-link {
      margin-top: 8px;
      font-size: .92rem;
      color: #475467;
      word-break: break-all;
    }

body.home-reference-page .verify-link a {
      color: var(--primary-dark);
      font-weight: 700;
    }

body.home-reference-page .bot-trap {
      position: absolute;
      left: -10000px;
      width: 1px;
      height: 1px;
      opacity: 0;
      pointer-events: none;
      overflow: hidden;
    }

body.home-reference-page .auth-note-list {
      display: grid;
      gap: .7rem;
      margin-top: 1rem;
    }

body.home-reference-page .auth-note-item {
      display: flex;
      align-items: flex-start;
      gap: .7rem;
      padding: .85rem .95rem;
      border-radius: 18px;
      background: rgba(111, 92, 255, .05);
      border: 1px solid rgba(111, 92, 255, .08);
      color: #475467;
      line-height: 1.55;
    }

body.home-reference-page .auth-note-item i {
      color: var(--primary-dark);
      font-size: 1rem;
      margin-top: .1rem;
    }

body.home-reference-page .auth-note-item strong {
      display: block;
      color: #111827;
      margin-bottom: .1rem;
    }

body.home-reference-page .auth-footer-shell,
body.home-reference-page .doc-footer-shell,
body.home-reference-page .cabinet-footer-shell {
      padding-bottom: 2rem;
    }

body.home-reference-page .verify-shell,
body.home-reference-page .doc-shell {
      width: min(1040px, calc(100% - 32px));
      margin: 0 auto;
    }

body.home-reference-page .verify-card {
      max-width: 760px;
      margin: 0 auto;
      background: #fff;
      border: 1px solid rgba(17,24,39,.08);
      border-radius: 28px;
      padding: 1.5rem;
      box-shadow: var(--shadow-card);
      display: grid;
      gap: 1rem;
    }

body.home-reference-page .verify-card h1 {
      margin: 0;
      font-size: clamp(1.8rem, 4vw, 2.6rem);
      letter-spacing: -.03em;
      line-height: 1.05;
      color: #111827;
    }

body.home-reference-page .verify-card p {
      margin: 0;
      color: #667085;
      line-height: 1.7;
    }

body.home-reference-page .verify-state.is-error {
      background: rgba(254, 243, 242, .92);
      border-color: rgba(240, 68, 56, .14);
      color: #b42318;
    }

body.home-reference-page .verify-actions {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
    }

body.home-reference-page .doc-nav {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
      margin: 1rem 0 1.1rem;
    }

body.home-reference-page .doc-wrap {
      width: min(1040px, calc(100% - 32px));
      margin: 0 auto;
    }

body.home-reference-page .doc-nav a,
body.home-reference-page .doc-nav span {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .8rem 1rem;
      border-radius: 999px;
      border: 1px solid rgba(17,24,39,.08);
      background: #fff;
      color: #344054;
      font-weight: 700;
      transition: .18s ease;
    }

body.home-reference-page .top-links {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
      margin: 1rem 0 1.1rem;
    }

body.home-reference-page .top-links a {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .8rem 1rem;
      border-radius: 999px;
      border: 1px solid rgba(17,24,39,.08);
      background: #fff;
      color: #344054;
      font-weight: 700;
      transition: .18s ease;
    }

body.home-reference-page .doc-nav a:hover,
body.home-reference-page .doc-nav .is-active {
      color: var(--primary-dark);
      border-color: rgba(111,92,255,.16);
      background: rgba(111,92,255,.07);
    }

body.home-reference-page .top-links a:hover,
body.home-reference-page .top-links .is-active {
      color: var(--primary-dark);
      border-color: rgba(111,92,255,.16);
      background: rgba(111,92,255,.07);
    }

body.home-reference-page .doc-content-card {
      margin-top: 1rem;
    }

body.home-reference-page .doc-card {
      position: relative;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(17, 24, 39, .08);
      border-radius: 24px;
      padding: 1.35rem;
      box-shadow: var(--shadow-card);
      margin-top: 1rem;
    }

body.home-reference-page .doc-card::before {
      content: "";
      position: absolute;
      inset: 0 0 auto;
      height: 4px;
      background: linear-gradient(90deg, var(--primary-dark) 0%, var(--pink) 100%);
    }

body.home-reference-page .doc-card-prose h1 {
      margin: 0 0 .5rem;
      font-size: clamp(1.9rem, 4vw, 2.7rem);
      line-height: 1.05;
      letter-spacing: -.03em;
      color: #111827;
    }

body.home-reference-page .doc-card h1 {
      margin: 0 0 .5rem;
      font-size: clamp(1.9rem, 4vw, 2.7rem);
      line-height: 1.05;
      letter-spacing: -.03em;
      color: #111827;
    }

body.home-reference-page .doc-card-prose h2 {
      margin: 1.4rem 0 .55rem;
      font-size: 1.18rem;
      font-weight: 800;
      letter-spacing: -.02em;
      color: #111827;
    }

body.home-reference-page .doc-card h2 {
      margin: 1.4rem 0 .55rem;
      font-size: 1.18rem;
      font-weight: 800;
      letter-spacing: -.02em;
      color: #111827;
    }

body.home-reference-page .doc-card-prose p,
body.home-reference-page .doc-card-prose ul,
body.home-reference-page .doc-card-prose ol {
      margin: 0 0 .9rem;
      color: #475467;
      line-height: 1.7;
    }

body.home-reference-page .doc-card p,
body.home-reference-page .doc-card ul,
body.home-reference-page .doc-card ol {
      margin: 0 0 .9rem;
      color: #475467;
      line-height: 1.7;
    }

body.home-reference-page .doc-card-prose ul,
body.home-reference-page .doc-card-prose ol {
      padding-left: 1.2rem;
    }

body.home-reference-page .doc-card ul,
body.home-reference-page .doc-card ol {
      padding-left: 1.2rem;
    }

body.home-reference-page .doc-card-prose li + li {
      margin-top: .4rem;
    }

body.home-reference-page .doc-card li + li {
      margin-top: .4rem;
    }

body.home-reference-page .doc-card-meta {
      margin: 0 0 1.1rem;
      color: #667085;
      font-size: .95rem;
    }

body.home-reference-page .doc-meta {
      margin: 0 0 1.1rem;
      color: #667085;
      font-size: .95rem;
    }

body.home-reference-page .doc-note,
body.home-reference-page .doc-req,
body.home-reference-page .doc-warning {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      margin-bottom: 1rem;
    }

body.home-reference-page .doc-note {
      background: rgba(111, 92, 255, .05);
      border: 1px solid rgba(111, 92, 255, .08);
      color: #475467;
    }

body.home-reference-page .doc-req {
      background: rgba(17, 24, 39, .03);
      border: 1px solid rgba(17, 24, 39, .06);
      color: #344054;
    }

body.home-reference-page .doc-warning {
      background: rgba(255, 250, 235, .96);
      border: 1px solid rgba(247, 144, 9, .18);
      color: #b54708;
    }

body.home-reference-page .cabinet-grid {
      display: grid;
      gap: 1rem;
    }

body.home-reference-page .cabinet-card h1 {
      margin: 0 0 .55rem;
      font-size: clamp(1.9rem, 4vw, 2.8rem);
      line-height: 1.05;
      letter-spacing: -.03em;
      color: #111827;
    }

body.home-reference-page .cabinet-meta-grid,
body.home-reference-page .cabinet-history-list {
      display: grid;
      gap: .8rem;
    }

body.home-reference-page .cabinet-meta-row,
body.home-reference-page .cabinet-history-item {
      display: grid;
      gap: .35rem;
      padding: 1rem;
      border-radius: 18px;
      background: rgba(17, 24, 39, .03);
      border: 1px solid rgba(17, 24, 39, .06);
    }

body.home-reference-page .cabinet-meta-label {
      color: #667085;
      font-size: .9rem;
      font-weight: 600;
    }

body.home-reference-page .cabinet-meta-value,
body.home-reference-page .cabinet-history-title {
      color: #111827;
      font-size: 1rem;
      font-weight: 800;
      line-height: 1.45;
    }

body.home-reference-page .cabinet-history-meta,
body.home-reference-page .cabinet-empty-note {
      color: #667085;
      line-height: 1.6;
    }

body.home-reference-page .cabinet-actions,
body.home-reference-page .cabinet-history-links {
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
    }

body.home-reference-page .cabinet-action-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      padding: 0 1.15rem;
      border-radius: 18px;
      border: 1px solid rgba(17,24,39,.08);
      background: #fff;
      color: #344054;
      font-weight: 700;
      transition: .18s ease;
    }

body.home-reference-page .cabinet-action-secondary:hover {
      color: var(--primary-dark);
      border-color: rgba(111,92,255,.18);
      background: rgba(111,92,255,.06);
    }

body.home-reference-page .city-picker-modal {
      position: fixed;
      inset: 0;
      z-index: 1400;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px;
    }

body.home-reference-page .city-picker-modal__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(15, 23, 42, .34);
      backdrop-filter: blur(6px);
    }

body.home-reference-page .city-picker-modal__dialog {
      position: relative;
      z-index: 1;
      width: min(440px, 100%);
      padding: 22px;
      border-radius: 24px;
      border: 1px solid rgba(17,24,39,.08);
      background: rgba(255,255,255,.96);
      box-shadow: 0 24px 56px rgba(15, 23, 42, .16);
      text-align: center;
    }

body.home-reference-page .city-picker-modal__dialog h2 {
      margin: 0;
      color: var(--dark);
      font-size: 1.6rem;
      font-weight: 800;
      letter-spacing: -.03em;
    }

body.home-reference-page .city-picker-modal__dialog p {
      margin: .8rem 0 0;
      color: var(--muted);
      line-height: 1.65;
    }

body.home-reference-page .city-picker-modal__actions {
      margin-top: 1.15rem;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .8rem;
    }

body.home-reference-page .city-picker-modal__option {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: .8rem 1rem;
      border-radius: 16px;
      border: 1px solid rgba(111,92,255,.12);
      background: linear-gradient(135deg, var(--primary-dark) 0%, var(--pink) 100%);
      color: #fff;
      font-weight: 800;
      box-shadow: 0 16px 30px rgba(111, 92, 255, .18);
      transition: transform .18s ease, box-shadow .18s ease;
    }

body.home-reference-page .city-picker-modal__option:hover {
      transform: translateY(-1px);
      box-shadow: 0 18px 34px rgba(111, 92, 255, .24);
    }

body.home-reference-page .booking-panel {
      position: relative;
      width: min(980px, calc(100% - 32px));
      height: min(820px, calc(100vh - 48px));
      margin: 24px auto;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border-radius: 22px;
      background: #ffffff;
      box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
      z-index: 1;
    }

body.home-reference-page .booking-panel h3 {
      margin: 0;
      padding: 22px 72px 6px 24px;
      font-weight: 800;
      letter-spacing: -.02em;
    }

body.home-reference-page.masters-hub-reference-page .hero-section {
      padding-bottom: 2.4rem;
    }

body.home-reference-page.masters-hub-reference-page .hero-shell {
      gap: 1.15rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .45rem;
      margin-bottom: .25rem;
      color: rgba(255,255,255,.78);
      font-size: .92rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-breadcrumbs a {
      color: #fff;
      opacity: .92;
    }

body.home-reference-page.masters-hub-reference-page .hub-breadcrumbs a:hover {
      opacity: 1;
    }

body.home-reference-page.masters-hub-reference-page .floating-panel {
      margin-top: -2rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-filter-shell {
      display: grid;
      gap: .25rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-toolbar {
      display: grid;
      gap: .9rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-city-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 1rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-city-card {
      display: block;
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

body.home-reference-page.masters-hub-reference-page .hub-city-card:hover {
      transform: translateY(-3px);
      border-color: rgba(111,92,255,.18);
      box-shadow: 0 18px 32px rgba(15, 23, 42, .08);
    }

body.home-reference-page.masters-hub-reference-page .hub-city-card strong {
      display: block;
      color: var(--dark);
      font-size: 1rem;
      font-weight: 800;
      margin-bottom: .25rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-city-card span {
      display: block;
      color: var(--muted);
      font-size: .86rem;
      font-weight: 600;
    }

body.home-reference-page.masters-hub-reference-page .hub-section-heading {
      margin-top: 2rem;
    }

body.home-reference-page.masters-hub-reference-page .hub-inline-dot {
      display: inline-block;
      margin: 0 .2rem;
      opacity: .72;
    }

body.home-reference-page.masters-hub-reference-page .hub-master-card .cover-name a:hover,
body.home-reference-page.masters-hub-reference-page .hub-master-card .cover-subtitle a:hover {
      opacity: .94;
    }

body.home-reference-page.masters-hub-reference-page .route-tag-row {
      margin-bottom: .9rem;
    }

body.home-reference-page.masters-hub-reference-page .route-chip {
      text-decoration: none;
      gap: .38rem;
      transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease;
    }

body.home-reference-page.masters-hub-reference-page .route-chip:hover {
      transform: translateY(-1px);
      background: rgba(111,92,255,.08);
      border-color: rgba(111,92,255,.16);
      color: var(--primary-dark);
    }

body.home-reference-page.masters-hub-reference-page .route-chip i {
      font-size: .8rem;
    }

body.home-reference-page.master-profile-page .hero-section {
      padding-bottom: 2.4rem;
    }

body.home-reference-page.master-profile-page .master-breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .45rem;
      margin-bottom: .4rem;
      color: rgba(255,255,255,.78);
      font-size: .92rem;
    }

body.home-reference-page.master-profile-page .master-breadcrumbs a {
      color: #fff;
      opacity: .92;
    }

body.home-reference-page.master-profile-page .master-breadcrumbs a:hover {
      opacity: 1;
    }

body.home-reference-page.master-profile-page .master-hero-grid {
      display: grid;
      grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
      gap: 1.5rem;
      align-items: center;
    }

body.home-reference-page.master-profile-page .master-hero-content {
      display: grid;
      gap: 1rem;
      align-content: start;
    }

body.home-reference-page.master-profile-page .master-kicker-row {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
    }

body.home-reference-page.master-profile-page .master-photo-frame {
      position: relative;
      min-height: 360px;
      border-radius: 24px;
      overflow: hidden;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 22px 44px rgba(15, 23, 42, .18);
    }

body.home-reference-page.master-profile-page .master-photo-frame img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

body.home-reference-page.master-profile-page .master-photo-fallback {
      position: absolute;
      inset: 0;
      display: none;
      place-items: center;
      color: #fff;
      font-size: 3.2rem;
      font-weight: 800;
      letter-spacing: -.05em;
      background: rgba(255,255,255,.12);
    }

body.home-reference-page.master-profile-page .master-chip-row {
      margin-bottom: .15rem;
    }

body.home-reference-page.master-profile-page .master-hero-stats {
      max-width: none;
    }

body.home-reference-page.master-profile-page .master-action-row {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
    }

body.home-reference-page.master-profile-page .master-action-row .btn-primary-soft {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 180px;
      padding: .9rem 1.25rem;
      box-shadow: 0 16px 30px rgba(111, 92, 255, .22);
    }

body.home-reference-page.master-profile-page .master-action-btn {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      width: auto;
      min-width: auto;
      padding: .82rem 1.05rem;
    }

body.home-reference-page.master-profile-page .master-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
      gap: 1.5rem;
      align-items: start;
    }

body.home-reference-page.master-profile-page .master-main-column,
body.home-reference-page.master-profile-page .master-side-column {
      display: grid;
      gap: 1.2rem;
    }

body.home-reference-page.master-profile-page .master-rich-text {
      color: #344054;
      line-height: 1.75;
    }

body.home-reference-page.master-profile-page .master-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
    }

body.home-reference-page.master-profile-page .master-gallery-card {
      margin: 0;
      border-radius: 18px;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.master-profile-page .master-gallery-card img {
      width: 100%;
      aspect-ratio: 5 / 4;
      display: block;
      object-fit: cover;
    }

body.home-reference-page.master-profile-page .master-service-list {
      display: grid;
      gap: 1rem;
    }

body.home-reference-page.master-profile-page .master-service-card {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.master-profile-page .master-service-head {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: flex-start;
    }

body.home-reference-page.master-profile-page .master-service-title {
      margin: 0 0 .35rem;
      color: var(--dark);
      font-size: 1.04rem;
      font-weight: 800;
      letter-spacing: -.02em;
    }

body.home-reference-page.master-profile-page .master-service-desc {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

body.home-reference-page.master-profile-page .master-service-price {
      flex: 0 0 auto;
      padding-left: .75rem;
      color: var(--dark);
      font-size: 1.05rem;
      font-weight: 800;
      white-space: nowrap;
    }

body.home-reference-page.master-profile-page .master-service-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem 1rem;
      margin-top: .85rem;
      color: #475467;
      font-size: .88rem;
      font-weight: 600;
    }

body.home-reference-page.master-profile-page .master-service-meta span {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
    }

body.home-reference-page.master-profile-page .master-contact-list {
      display: grid;
      gap: .8rem;
    }

body.home-reference-page.master-profile-page .master-contact-item {
      display: flex;
      gap: .7rem;
      align-items: flex-start;
    }

body.home-reference-page.master-profile-page .master-contact-item > div {
      min-width: 0;
      display: grid;
      gap: .15rem;
    }

body.home-reference-page.master-profile-page .master-contact-item strong {
      color: var(--dark);
      font-size: .96rem;
      font-weight: 700;
    }

body.home-reference-page.master-profile-page .master-contact-item small {
      color: var(--muted);
      font-size: .92rem;
      line-height: 1.55;
    }

body.home-reference-page.master-profile-page .master-contact-links {
      margin-top: 1rem;
    }

body.home-reference-page.master-profile-page .master-review-list {
      display: grid;
      gap: 1rem;
    }

body.home-reference-page.master-profile-page .master-review-card {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.master-profile-page .master-review-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1rem;
      margin-bottom: .55rem;
    }

body.home-reference-page.master-profile-page .master-review-stars {
      color: #f79009;
      font-size: .94rem;
      font-weight: 800;
      letter-spacing: .08em;
      white-space: nowrap;
    }

body.home-reference-page.master-profile-page .master-review-card p {
      margin: 0 0 .5rem;
      color: #344054;
      line-height: 1.7;
    }

body.home-reference-page.master-profile-page .master-review-card small {
      color: var(--muted);
      font-size: .84rem;
      font-weight: 600;
    }

body.home-reference-page.master-profile-page .notice {
      padding: .9rem 1rem;
      border-radius: 16px;
      font-weight: 600;
      line-height: 1.55;
    }

body.home-reference-page.master-profile-page .notice.ok {
      color: #067647;
      background: rgba(18,183,106,.10);
      border: 1px solid rgba(18,183,106,.16);
    }

body.home-reference-page.master-profile-page .notice.error {
      color: #b42318;
      background: rgba(244,112,103,.10);
      border: 1px solid rgba(244,112,103,.16);
    }

body.home-reference-page.master-profile-page .notice.error p {
      margin: 0 0 .4rem;
    }

body.home-reference-page.master-profile-page .notice.error p:last-child {
      margin-bottom: 0;
    }

body.home-reference-page.master-profile-page .master-review-form {
      display: grid;
      gap: 1rem;
    }

body.home-reference-page.master-profile-page .master-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .9rem;
    }

body.home-reference-page.master-profile-page .master-form-field {
      display: grid;
      gap: .42rem;
    }

body.home-reference-page.master-profile-page .master-form-field span {
      color: #344054;
      font-size: .88rem;
      font-weight: 700;
    }

body.home-reference-page.master-profile-page .master-form-field input,
body.home-reference-page.master-profile-page .master-form-field select,
body.home-reference-page.master-profile-page .master-form-field textarea {
      width: 100%;
      padding: .9rem 1rem;
      border-radius: 16px;
      border: 1px solid rgba(17,24,39,.08);
      background: #fff;
      color: var(--text);
      outline: 0;
      font: inherit;
      box-shadow: none;
      resize: vertical;
    }

body.home-reference-page.master-profile-page .master-form-field input:focus,
body.home-reference-page.master-profile-page .master-form-field select:focus,
body.home-reference-page.master-profile-page .master-form-field textarea:focus {
      border-color: rgba(111,92,255,.38);
      box-shadow: 0 0 0 4px rgba(111,92,255,.10);
    }

body.home-reference-page.master-profile-page .master-review-submit {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .9rem 1.2rem;
      min-width: 220px;
    }

body.home-reference-page.category-hub-reference-page .hero-section {
      padding-bottom: 2.4rem;
    }

body.home-reference-page.category-hub-reference-page .hub-breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .45rem;
      margin-bottom: .25rem;
      color: rgba(255,255,255,.78);
      font-size: .92rem;
    }

body.home-reference-page.category-hub-reference-page .hub-breadcrumbs a {
      color: #fff;
      opacity: .92;
    }

body.home-reference-page.category-hub-reference-page .hub-breadcrumbs a:hover,
body.home-reference-page.category-hub-reference-page .hub-salon-card .cover-name a:hover {
      opacity: 1;
    }

body.home-reference-page.category-hub-reference-page .floating-panel {
      margin-top: -2rem;
    }

body.home-reference-page.category-hub-reference-page .hub-filter-shell {
      display: grid;
      gap: .25rem;
    }

body.home-reference-page.category-hub-reference-page .hub-toolbar {
      display: grid;
      gap: .9rem;
    }

body.home-reference-page.category-hub-reference-page .hub-city-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 1rem;
    }

body.home-reference-page.category-hub-reference-page .hub-city-card {
      display: block;
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

body.home-reference-page.category-hub-reference-page .hub-city-card:hover {
      transform: translateY(-3px);
      border-color: rgba(111,92,255,.18);
      box-shadow: 0 18px 32px rgba(15, 23, 42, .08);
    }

body.home-reference-page.category-hub-reference-page .hub-city-card strong {
      display: block;
      color: var(--dark);
      font-size: 1rem;
      font-weight: 800;
      margin-bottom: .25rem;
    }

body.home-reference-page.category-hub-reference-page .hub-city-card span {
      display: block;
      color: var(--muted);
      font-size: .86rem;
      font-weight: 600;
    }

body.home-reference-page.category-hub-reference-page .hub-section-heading {
      margin-top: 2rem;
    }

body.home-reference-page.category-hub-reference-page .hub-inline-dot {
      display: inline-block;
      margin: 0 .2rem;
      opacity: .72;
    }

body.home-reference-page.salon-profile-page .hero-section {
      padding-bottom: 2.4rem;
    }

body.home-reference-page.salon-profile-page .salon-breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .45rem;
      margin-bottom: .4rem;
      color: rgba(255,255,255,.78);
      font-size: .92rem;
    }

body.home-reference-page.salon-profile-page .salon-breadcrumbs a {
      color: #fff;
      opacity: .92;
    }

body.home-reference-page.salon-profile-page .salon-breadcrumbs a:hover {
      opacity: 1;
    }

body.home-reference-page.salon-profile-page .salon-hero-grid {
      display: grid;
      grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
      gap: 1.5rem;
      align-items: center;
    }

body.home-reference-page.salon-profile-page .salon-hero-content {
      display: grid;
      gap: 1rem;
      align-content: start;
    }

body.home-reference-page.salon-profile-page .salon-kicker-row {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem;
    }

body.home-reference-page.salon-profile-page .salon-photo-frame {
      position: relative;
      min-height: 360px;
      border-radius: 24px;
      overflow: hidden;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 22px 44px rgba(15, 23, 42, .18);
    }

body.home-reference-page.salon-profile-page .salon-photo-frame img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

body.home-reference-page.salon-profile-page .salon-photo-fallback {
      position: absolute;
      inset: 0;
      display: none;
      place-items: center;
      color: #fff;
      font-size: 3.2rem;
      font-weight: 800;
      letter-spacing: -.05em;
      background: rgba(255,255,255,.12);
    }

body.home-reference-page.salon-profile-page .salon-chip-row {
      margin-bottom: .15rem;
    }

body.home-reference-page.salon-profile-page .salon-hero-stats {
      max-width: none;
    }

body.home-reference-page.salon-profile-page .salon-action-row {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
    }

body.home-reference-page.salon-profile-page .salon-action-row .btn-primary-soft {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 200px;
      padding: .9rem 1.25rem;
      box-shadow: 0 16px 30px rgba(111, 92, 255, .22);
    }

body.home-reference-page.salon-profile-page .salon-action-btn {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      width: auto;
      min-width: auto;
      padding: .82rem 1.05rem;
    }

body.home-reference-page.salon-profile-page .salon-helper-note {
      margin: 0;
      color: rgba(255,255,255,.84);
      line-height: 1.65;
    }

body.home-reference-page.salon-profile-page .salon-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
      gap: 1.5rem;
      align-items: start;
    }

body.home-reference-page.salon-profile-page .salon-main-column,
body.home-reference-page.salon-profile-page .salon-side-column {
      display: grid;
      gap: 1.2rem;
    }

body.home-reference-page.salon-profile-page .salon-gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1rem;
    }

body.home-reference-page.salon-profile-page .salon-gallery-card {
      margin: 0;
      border-radius: 18px;
      overflow: hidden;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.salon-profile-page .salon-gallery-card.is-featured {
      grid-column: span 2;
      grid-row: span 2;
    }

body.home-reference-page.salon-profile-page .salon-gallery-card img {
      width: 100%;
      height: 100%;
      min-height: 220px;
      display: block;
      object-fit: cover;
    }

body.home-reference-page.salon-profile-page .salon-branch-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
    }

body.home-reference-page.salon-profile-page .salon-branch-modern-card {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
      display: grid;
      gap: .65rem;
    }

body.home-reference-page.salon-profile-page .salon-branch-modern-card h3 {
      margin: 0;
      color: var(--dark);
      font-size: 1.02rem;
      font-weight: 800;
      letter-spacing: -.02em;
    }

body.home-reference-page.salon-profile-page .salon-branch-modern-card p {
      margin: 0;
      color: #344054;
      line-height: 1.6;
    }

body.home-reference-page.salon-profile-page .salon-branch-muted {
      color: var(--muted) !important;
      font-size: .92rem;
    }

body.home-reference-page.salon-profile-page .salon-master-reference-card .cover-name a:hover {
      opacity: .94;
    }

body.home-reference-page.salon-profile-page .salon-master-grid {
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      align-items: start;
    }

body.home-reference-page.salon-profile-page #salon-masters {
      scroll-margin-top: 110px;
    }

body.home-reference-page.salon-profile-page .salon-masters-anchor {
      scroll-margin-top: 110px;
    }

body.home-reference-page.salon-profile-page .salon-master-reference-card {
      min-height: 100%;
    }

body.home-reference-page.salon-profile-page .salon-master-reference-card .cover-subtitle,
body.home-reference-page.salon-profile-page .salon-master-reference-card .mini-row,
body.home-reference-page.salon-profile-page .salon-master-reference-card .price-label,
body.home-reference-page.salon-profile-page .salon-master-reference-card .service-tag {
      overflow-wrap: anywhere;
    }

body.home-reference-page.salon-profile-page .salon-master-reference-card .tag-row {
      align-content: start;
    }

body.home-reference-page.salon-profile-page .master-rich-text {
      color: #344054;
      line-height: 1.75;
    }

body.home-reference-page.salon-profile-page .master-service-list {
      display: grid;
      gap: 1rem;
    }

body.home-reference-page.salon-profile-page .master-service-card {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.salon-profile-page .master-service-head {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: flex-start;
    }

body.home-reference-page.salon-profile-page .master-service-title {
      margin: 0 0 .35rem;
      color: var(--dark);
      font-size: 1.04rem;
      font-weight: 800;
      letter-spacing: -.02em;
    }

body.home-reference-page.salon-profile-page .master-service-desc {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }

body.home-reference-page.salon-profile-page .master-service-price {
      flex: 0 0 auto;
      padding-left: .75rem;
      color: var(--dark);
      font-size: 1.05rem;
      font-weight: 800;
      white-space: nowrap;
    }

body.home-reference-page.salon-profile-page .master-service-meta {
      display: flex;
      flex-wrap: wrap;
      gap: .65rem 1rem;
      margin-top: .85rem;
      color: #475467;
      font-size: .88rem;
      font-weight: 600;
    }

body.home-reference-page.salon-profile-page .master-service-meta span {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
    }

body.home-reference-page.salon-profile-page .master-contact-list {
      display: grid;
      gap: .9rem;
    }

body.home-reference-page.salon-profile-page .master-contact-item {
      display: flex;
      gap: .8rem;
      align-items: flex-start;
    }

body.home-reference-page.salon-profile-page .master-contact-item > div {
      display: grid;
      gap: .2rem;
    }

body.home-reference-page.salon-profile-page .master-contact-item strong {
      color: var(--dark);
      font-size: .95rem;
    }

body.home-reference-page.salon-profile-page .master-contact-item small {
      color: var(--muted);
      line-height: 1.55;
    }

body.home-reference-page.salon-profile-page .master-contact-links {
      margin-top: .2rem;
    }

body.home-reference-page.salon-profile-page .master-review-list {
      display: grid;
      gap: .9rem;
    }

body.home-reference-page.salon-profile-page .master-review-card {
      padding: 1rem 1.05rem;
      border-radius: 18px;
      background: #fff;
      border: 1px solid rgba(17,24,39,.11);
      box-shadow: 0 0 0 1px rgba(255,255,255,.92) inset, var(--shadow-soft);
    }

body.home-reference-page.salon-profile-page .master-review-head {
      display: flex;
      justify-content: space-between;
      gap: .8rem;
      align-items: center;
      margin-bottom: .55rem;
    }

body.home-reference-page.salon-profile-page .master-review-stars {
      color: #f59e0b;
      font-size: .92rem;
      letter-spacing: .08em;
      white-space: nowrap;
    }

body.home-reference-page.salon-profile-page .master-review-card p {
      margin: 0 0 .55rem;
      color: #344054;
      line-height: 1.65;
    }

body.home-reference-page.salon-profile-page .master-review-card small {
      color: var(--muted);
    }

body.home-reference-page .booking-modal[hidden] {
      display: none !important;
    }

body.home-reference-page .booking-modal {
      position: fixed;
      inset: 0;
      z-index: 2000;
      padding: 0;
    }

body.home-reference-page .booking-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(15, 23, 42, .52);
      backdrop-filter: blur(6px);
    }

body.home-reference-page .close-button {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 42px;
      height: 42px;
      border: 0;
      border-radius: 999px;
      display: inline-grid;
      place-items: center;
      background: #f5f7fb;
      color: #344054;
      font-size: 1.4rem;
      line-height: 1;
      cursor: pointer;
      z-index: 2;
      transition: transform .18s ease, background-color .18s ease;
    }

body.home-reference-page .close-button:hover {
      background: #eef2f7;
      transform: translateY(-1px);
    }

body.home-reference-page .modal-help {
      margin: 0;
      padding: 0 24px 14px;
      color: var(--muted);
      font-size: .95rem;
      line-height: 1.5;
    }

body.home-reference-page .external-link {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      margin: 0 24px 14px;
      color: var(--primary-dark);
      font-weight: 700;
    }

body.home-reference-page #bookingIframe {
      width: 100%;
      flex: 1 1 auto;
      border: 0;
      background: #ffffff;
    }

@media (max-width: 1399.98px) {
      body.home-reference-page .cards-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

@media (max-width: 991.98px) {
      body.home-reference-page .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      body.home-reference-page .info-band__head {
        flex-direction: column;
        align-items: flex-start;
      }

      body.home-reference-page.master-profile-page .master-hero-grid,
      body.home-reference-page.master-profile-page .master-layout,
      body.home-reference-page.master-profile-page .master-form-grid,
      body.home-reference-page.salon-profile-page .salon-hero-grid,
      body.home-reference-page.salon-profile-page .salon-layout {
        grid-template-columns: 1fr;
      }

      body.home-reference-page.master-profile-page .master-photo-frame {
        min-height: 320px;
      }

      body.home-reference-page.salon-profile-page .salon-photo-frame {
        min-height: 320px;
      }

      body.home-reference-page.salon-profile-page .salon-branch-grid {
        grid-template-columns: 1fr;
      }
    }

@media (max-width: 767.98px) {
      body.home-reference-page .cards-grid {
        grid-template-columns: 1fr;
      }

      body.home-reference-page .booking-panel {
        width: calc(100% - 16px);
        height: calc(100vh - 16px);
        margin: 8px auto;
      }

      body.home-reference-page .booking-panel h3 {
        padding: 18px 62px 6px 18px;
      }

      body.home-reference-page .modal-help,
      body.home-reference-page .external-link {
        margin-left: 18px;
        margin-right: 18px;
      }

      body.home-reference-page .city-picker-modal__actions {
        grid-template-columns: 1fr;
      }

      body.home-reference-page .card-actions {
        grid-template-columns: minmax(0, 1fr) 46px 46px;
      }

      body.home-reference-page .city-dropdown-toggle {
        min-width: 0;
        width: 100%;
      }

      body.home-reference-page .footer-links-inline {
        gap: .75rem;
        flex-direction: column;
      }

      body.home-reference-page.master-profile-page .master-gallery {
        grid-template-columns: 1fr;
      }

      body.home-reference-page.salon-profile-page .salon-gallery-grid {
        grid-template-columns: 1fr;
      }

      body.home-reference-page.salon-profile-page .salon-gallery-card.is-featured {
        grid-column: span 1;
        grid-row: span 1;
      }

      body.home-reference-page.master-profile-page .master-service-head,
      body.home-reference-page.master-profile-page .master-review-head,
      body.home-reference-page.salon-profile-page .master-service-head,
      body.home-reference-page.salon-profile-page .master-review-head {
        flex-direction: column;
        align-items: flex-start;
      }

      body.home-reference-page.master-profile-page .master-action-row {
        display: grid;
        grid-template-columns: 1fr;
      }

      body.home-reference-page.salon-profile-page .salon-action-row {
        display: grid;
        grid-template-columns: 1fr;
      }

      body.home-reference-page.master-profile-page .master-action-row .btn-primary-soft,
      body.home-reference-page.master-profile-page .master-action-btn,
      body.home-reference-page.master-profile-page .master-review-submit,
      body.home-reference-page.salon-profile-page .salon-action-row .btn-primary-soft,
      body.home-reference-page.salon-profile-page .salon-action-btn {
        width: 100%;
        min-width: 0;
      }
    }

body.wp-cabinet.home-reference-page {
  background: #f5f5f5;
  color: var(--text);
}

body.wp-cabinet.home-reference-page .dashboard-reference-shell {
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto 48px;
}

body.wp-cabinet.home-reference-page .dashboard-reference-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
  gap: 20px;
  align-items: stretch;
  padding: 28px 32px;
  margin: 28px 0 24px;
  border-radius: 32px;
  border: 1px solid rgba(108, 92, 231, .12);
  background:
    radial-gradient(circle at top right, rgba(111, 92, 255, .16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 78, 205, .10), transparent 22%),
    linear-gradient(135deg, #ffffff 0%, #f7f8fd 100%);
  box-shadow: 0 32px 70px rgba(15, 23, 42, .08);
}

body.wp-cabinet.home-reference-page .dashboard-reference-hero__copy {
  display: grid;
  gap: 14px;
  align-content: start;
}

body.wp-cabinet.home-reference-page .dashboard-reference-hero__copy h1 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: .98;
  letter-spacing: -.04em;
  color: var(--text);
}

body.wp-cabinet.home-reference-page .dashboard-reference-hero__copy p {
  margin: 0;
  max-width: 720px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
}

body.wp-cabinet.home-reference-page .dashboard-reference-hero__stats {
  display: grid;
  gap: 12px;
}

body.wp-cabinet.home-reference-page .dashboard-reference-stat {
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(255, 255, 255, .88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}

body.wp-cabinet.home-reference-page .dashboard-reference-stat span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.wp-cabinet.home-reference-page .dashboard-reference-stat strong {
  display: block;
  color: var(--text);
  font-size: 1.08rem;
  line-height: 1.35;
}

body.wp-cabinet.home-reference-page .dash-shell {
  width: 100% !important;
  margin: 0 auto 40px !important;
  gap: 24px !important;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) !important;
}

body.wp-cabinet.home-reference-page .ad-column,
body.wp-cabinet.home-reference-page .dash-wrap,
body.wp-cabinet.home-reference-page .column-stack {
  gap: 18px !important;
}

body.wp-cabinet.home-reference-page .panel,
body.wp-cabinet.home-reference-page .ad-card,
body.wp-cabinet.home-reference-page .header-popover,
body.wp-cabinet.home-reference-page .toast-item,
body.wp-cabinet.home-reference-page .profile-trigger,
body.wp-cabinet.home-reference-page .bell-btn {
  border-radius: 24px !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
  color: var(--text) !important;
}

body.wp-cabinet.home-reference-page .dash-top {
  padding: 18px 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08) !important;
  backdrop-filter: blur(16px);
}

body.wp-cabinet.home-reference-page .panel h1,
body.wp-cabinet.home-reference-page .panel h2,
body.wp-cabinet.home-reference-page .panel h3,
body.wp-cabinet.home-reference-page .ad-card h2,
body.wp-cabinet.home-reference-page .ad-card h3,
body.wp-cabinet.home-reference-page .header-popover h2,
body.wp-cabinet.home-reference-page .dash-top strong {
  color: var(--text) !important;
}

body.wp-cabinet.home-reference-page .panel p,
body.wp-cabinet.home-reference-page .ad-card p,
body.wp-cabinet.home-reference-page .meta-text,
body.wp-cabinet.home-reference-page .profile-info p,
body.wp-cabinet.home-reference-page .notification-link span,
body.wp-cabinet.home-reference-page .notification-empty,
body.wp-cabinet.home-reference-page .panel small,
body.wp-cabinet.home-reference-page .dash-links a,
body.wp-cabinet.home-reference-page .dash-actions > a,
body.wp-cabinet.home-reference-page .ad-link {
  color: var(--muted) !important;
}

body.wp-cabinet.home-reference-page .dash-links a,
body.wp-cabinet.home-reference-page .dash-actions > a,
body.wp-cabinet.home-reference-page .ad-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .22);
  background: #ffffff;
  font-weight: 700;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

body.wp-cabinet.home-reference-page .dash-links a:hover,
body.wp-cabinet.home-reference-page .dash-actions > a:hover,
body.wp-cabinet.home-reference-page .ad-link:hover {
  transform: translateY(-1px);
  border-color: rgba(111, 92, 255, .28);
  box-shadow: 0 10px 22px rgba(111, 92, 255, .12);
}

body.wp-cabinet.home-reference-page .ad-badge,
body.wp-cabinet.home-reference-page .profile-trigger,
body.wp-cabinet.home-reference-page .bell-btn {
  background: rgba(111, 92, 255, .08) !important;
  color: #5b4bff !important;
}

body.wp-cabinet.home-reference-page .btn-primary,
body.wp-cabinet.home-reference-page .btn.btn-primary,
body.wp-cabinet.home-reference-page button[type="submit"],
body.wp-cabinet.home-reference-page .form-actions .btn,
body.wp-cabinet.home-reference-page .submit-row .btn {
  border: none !important;
  background: linear-gradient(90deg, #6f5cff 0%, #f34ab7 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(111, 92, 255, .24) !important;
}

body.wp-cabinet.home-reference-page input[type="text"],
body.wp-cabinet.home-reference-page input[type="email"],
body.wp-cabinet.home-reference-page input[type="number"],
body.wp-cabinet.home-reference-page input[type="url"],
body.wp-cabinet.home-reference-page input[type="password"],
body.wp-cabinet.home-reference-page input[type="date"],
body.wp-cabinet.home-reference-page select,
body.wp-cabinet.home-reference-page textarea {
  background: #ffffff !important;
  color: var(--text) !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

body.wp-cabinet.home-reference-page input:focus,
body.wp-cabinet.home-reference-page select:focus,
body.wp-cabinet.home-reference-page textarea:focus {
  border-color: rgba(111, 92, 255, .38) !important;
  box-shadow: 0 0 0 4px rgba(111, 92, 255, .10) !important;
  outline: none !important;
}

body.wp-cabinet.home-reference-page table,
body.wp-cabinet.home-reference-page .services-table,
body.wp-cabinet.home-reference-page .applications-table {
  background: transparent !important;
}

body.wp-cabinet.home-reference-page table th,
body.wp-cabinet.home-reference-page table td {
  border-color: rgba(148, 163, 184, .16) !important;
  color: var(--text) !important;
  background: transparent !important;
}

body.wp-cabinet.home-reference-page .footer-shell {
  margin-top: 8px;
}

@media (max-width: 991.98px) {
  body.wp-cabinet.home-reference-page .dashboard-reference-hero {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  body.wp-cabinet.home-reference-page .dash-shell {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767.98px) {
  body.wp-cabinet.home-reference-page .dashboard-reference-shell {
    width: min(100%, calc(100% - 20px));
  }

  body.wp-cabinet.home-reference-page .dashboard-reference-hero {
    padding: 20px;
    border-radius: 26px;
  }

  body.wp-cabinet.home-reference-page .dashboard-reference-hero__copy h1 {
    font-size: 1.9rem;
  }

  body.wp-cabinet.home-reference-page .dash-top {
    padding: 16px !important;
  }
}

@media (max-width: 991.98px) {
  body.home-reference-page .landing-custom-block__grid--cards,
  body.home-reference-page .landing-custom-block__grid--metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  body.home-reference-page .landing-custom-block {
    padding: 1.15rem;
    border-radius: 22px;
  }

  body.home-reference-page .landing-custom-block__grid--cards,
  body.home-reference-page .landing-custom-block__grid--metrics {
    grid-template-columns: 1fr;
  }

  body.home-reference-page .landing-custom-block__actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.home-reference-page .landing-custom-block__action {
    width: 100%;
  }
}
