/* Visualine Core 1.3 — frontend administration polish */

body.vl-private-page .vl-dashboard {
  --dashboard-sidebar: 248px;
  background: #eeeee8;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard {
  background: #12120f;
}

body.vl-private-page .vl-dashboard__sidebar {
  padding: 26px 18px;
}

body.vl-private-page .vl-dashboard__brand {
  padding: 5px 8px 26px;
}

body.vl-private-page .vl-dashboard__nav {
  gap: 4px;
  margin-top: 24px;
}

body.vl-private-page a.vl-dashboard__nav-item {
  min-height: 44px;
  color: #b8b9b2 !important;
  -webkit-text-fill-color: #b8b9b2 !important;
}

body.vl-private-page a.vl-dashboard__nav-item:hover,
body.vl-private-page a.vl-dashboard__nav-item.is-active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.vl-private-page .vl-dashboard__nav-item::before {
  background: #667585;
}

body.vl-private-page .vl-dashboard__main {
  width: 100%;
  max-width: 1680px;
  padding: clamp(32px, 4vw, 64px);
}

body.vl-private-page .vl-dashboard__page-head {
  align-items: end;
  gap: 28px;
  margin-bottom: 34px;
}

body.vl-private-page .vl-dashboard__page-head h1 {
  max-width: 900px;
  margin-bottom: 8px;
  font-size: clamp(2.65rem, 4.7vw, 4.8rem);
  line-height: .96;
}

body.vl-private-page .vl-dashboard__page-head p:not(.vl-dashboard__eyebrow) {
  max-width: 700px;
  font-size: .88rem;
  line-height: 1.65;
}

/* Prevent inherited link color from making black buttons unreadable. */
body.vl-private-page a.vl-dashboard__primary,
body.vl-private-page button.vl-dashboard__primary {
  border-color: #171713 !important;
  background: #171713 !important;
  color: #f7f4eb !important;
  -webkit-text-fill-color: #f7f4eb !important;
}

body.vl-private-page a.vl-dashboard__primary:hover,
body.vl-private-page button.vl-dashboard__primary:hover {
  border-color: #667585 !important;
  background: #667585 !important;
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

body.vl-private-page a.vl-dashboard__secondary,
body.vl-private-page button.vl-dashboard__secondary {
  border-color: #171713 !important;
  background: transparent !important;
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

body.vl-private-page a.vl-dashboard__secondary:hover,
body.vl-private-page button.vl-dashboard__secondary:hover {
  background: #deddd5 !important;
}

html[data-vl-theme="dark"] body.vl-private-page a.vl-dashboard__primary,
html[data-vl-theme="dark"] body.vl-private-page button.vl-dashboard__primary {
  border-color: #f1eee5 !important;
  background: #f1eee5 !important;
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

html[data-vl-theme="dark"] body.vl-private-page a.vl-dashboard__secondary,
html[data-vl-theme="dark"] body.vl-private-page button.vl-dashboard__secondary {
  border-color: #56564f !important;
  color: #f1eee5 !important;
  -webkit-text-fill-color: #f1eee5 !important;
}

body.vl-private-page .vl-dashboard__primary,
body.vl-private-page .vl-dashboard__secondary {
  min-height: 46px;
  padding: 11px 17px;
  font-size: .7rem;
  letter-spacing: .055em;
}

body.vl-private-page .vl-dashboard__stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 22px;
  border: 1px solid #d5d5cd;
  background: #f7f7f2;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__stats {
  border-color: #34352f;
  background: #1b1c18;
}

body.vl-private-page .vl-dashboard__stats > div {
  min-height: 126px;
  padding: 22px;
}

body.vl-private-page .vl-dashboard__stats strong {
  font-size: clamp(2rem, 3vw, 3.25rem);
}

body.vl-private-page .vl-dashboard__grid-2 {
  gap: 22px;
}

body.vl-private-page .vl-dashboard__panel {
  padding: clamp(22px, 2.5vw, 34px);
  border-color: #d5d5cd;
  background: #f9f9f5;
  box-shadow: none;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__panel {
  border-color: #34352f;
  background: #1b1c18;
}

body.vl-private-page .vl-dashboard__panel-head {
  margin-bottom: 18px;
  padding-bottom: 16px;
}

body.vl-private-page .vl-dashboard__panel h2,
body.vl-private-page .vl-dashboard__panel-head h2 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}

body.vl-private-page .vl-dashboard__mini-list a {
  color: inherit !important;
}

body.vl-private-page .vl-dashboard__mini-thumb {
  width: 56px;
  height: 42px;
}

body.vl-private-page .vl-dashboard__checks > div {
  min-height: 50px;
}

body.vl-private-page .vl-dashboard__checks .is-pending span {
  color: #a87843;
}

/* Project listing */
body.vl-private-page .vl-dashboard__filters {
  gap: 12px;
  margin-bottom: 20px;
  padding: 18px;
  border: 1px solid #d5d5cd;
  background: #f9f9f5;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__filters {
  border-color: #34352f;
  background: #1b1c18;
}

body.vl-private-page .vl-dashboard__filters button {
  min-height: 44px;
  border: 1px solid #171713;
  background: #171713;
  color: #fff;
}

body.vl-private-page .vl-dashboard__project-table {
  border-color: #d5d5cd;
  background: #f9f9f5;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-table {
  border-color: #34352f;
  background: #1b1c18;
}

body.vl-private-page .vl-dashboard__project-row {
  grid-template-columns: 120px minmax(0, 1fr) 130px auto;
  min-height: 118px;
  gap: 22px;
  padding: 18px;
}

body.vl-private-page a.vl-dashboard__project-cover {
  min-height: 80px;
  background-color: #dddcd4;
}

body.vl-private-page .vl-dashboard__project-info h2 {
  font-size: 1.25rem;
}

body.vl-private-page .vl-dashboard__project-info a,
body.vl-private-page .vl-dashboard__project-actions a,
body.vl-private-page .vl-dashboard__panel a {
  color: inherit;
}

body.vl-private-page .vl-dashboard__project-actions {
  gap: 7px;
}

body.vl-private-page .vl-dashboard__project-actions a {
  padding: 7px 9px;
  border: 1px solid #d0d0c8;
  font-size: .68rem;
}

body.vl-private-page .vl-dashboard__project-actions a:hover {
  border-color: #171713;
  background: #171713;
  color: #fff !important;
}

/* Editor */
body.vl-private-page .vl-project-editor,
body.vl-private-page .vl-settings-form {
  max-width: 1320px;
}

body.vl-private-page .vl-editor-tabs {
  position: sticky;
  z-index: 20;
  top: 0;
  padding: 8px;
  border: 1px solid #d5d5cd;
  background: rgba(238,238,232,.94);
  backdrop-filter: blur(14px);
}

html[data-vl-theme="dark"] body.vl-private-page .vl-editor-tabs {
  border-color: #34352f;
  background: rgba(18,18,15,.94);
}

body.vl-private-page .vl-editor-tabs button {
  min-height: 40px;
}

body.vl-private-page .vl-editor-section {
  margin-top: 18px;
  padding: clamp(22px, 3vw, 38px);
  border-color: #d5d5cd;
  background: #f9f9f5;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-editor-section {
  border-color: #34352f;
  background: #1b1c18;
}

body.vl-private-page .vl-field input,
body.vl-private-page .vl-field select,
body.vl-private-page .vl-field textarea,
body.vl-private-page .vl-dashboard__filters input,
body.vl-private-page .vl-dashboard__filters select {
  min-height: 46px;
  border-color: #c9c9c1;
  background: #fff;
  color: #171713;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-field input,
html[data-vl-theme="dark"] body.vl-private-page .vl-field select,
html[data-vl-theme="dark"] body.vl-private-page .vl-field textarea,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__filters input,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__filters select {
  border-color: #45463f;
  background: #151612;
  color: #f1eee5;
}

body.vl-private-page .vl-editor-footer {
  gap: 10px;
  padding-top: 22px;
}

/* Inquiries */
body.vl-private-page .vl-dashboard__inquiry-row {
  min-height: 86px;
  padding: 16px 18px;
}

body.vl-private-page .vl-inquiry-detail {
  gap: 22px;
}

/* Contact identity reminder. */
body.vl-private-page .vl-dashboard__identity-note {
  margin: 0 0 22px;
  padding: 14px 16px;
  border-left: 3px solid #667585;
  background: #f5efe6;
  color: #5f513f;
  font-size: .82rem;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__identity-note {
  background: #272119;
  color: #d8c7b3;
}

@media (max-width: 1100px) {
  body.vl-private-page .vl-dashboard {
    --dashboard-sidebar: 210px;
  }

  body.vl-private-page .vl-dashboard__main {
    padding: 32px 26px;
  }

  body.vl-private-page .vl-dashboard__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.vl-private-page .vl-dashboard__project-row {
    grid-template-columns: 100px minmax(0, 1fr) auto;
  }

  body.vl-private-page .vl-dashboard__project-status {
    display: none;
  }
}

@media (max-width: 820px) {
  body.vl-private-page .vl-dashboard {
    display: block;
  }

  body.vl-private-page .vl-dashboard__sidebar {
    position: relative;
    width: 100%;
    height: auto;
    padding: 16px;
  }

  body.vl-private-page .vl-dashboard__brand {
    padding-bottom: 14px;
  }

  body.vl-private-page .vl-dashboard__nav {
    display: flex;
    overflow-x: auto;
    margin-top: 12px;
    scrollbar-width: none;
  }

  body.vl-private-page .vl-dashboard__nav::-webkit-scrollbar {
    display: none;
  }

  body.vl-private-page .vl-dashboard__nav-item {
    flex: 0 0 auto;
  }

  body.vl-private-page .vl-dashboard__sidebar-foot {
    display: none;
  }

  body.vl-private-page .vl-dashboard__main {
    padding: 26px 18px 56px;
  }

  body.vl-private-page .vl-dashboard__page-head {
    display: grid;
    align-items: start;
  }

  body.vl-private-page .vl-dashboard__grid-2,
  body.vl-private-page .vl-inquiry-detail {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  body.vl-private-page .vl-dashboard__stats {
    grid-template-columns: 1fr 1fr;
  }

  body.vl-private-page .vl-dashboard__stats > div {
    min-height: 105px;
    padding: 16px;
  }

  body.vl-private-page .vl-dashboard__project-row {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
  }

  body.vl-private-page .vl-dashboard__project-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  body.vl-private-page .vl-editor-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  body.vl-private-page .vl-editor-tabs button {
    flex: 0 0 auto;
  }

  body.vl-private-page .vl-form-grid-2,
  body.vl-private-page .vl-form-grid-3 {
    grid-template-columns: 1fr;
  }

  body.vl-private-page .vl-editor-footer {
    display: grid;
  }

  body.vl-private-page .vl-editor-footer .vl-dashboard__primary,
  body.vl-private-page .vl-editor-footer .vl-dashboard__secondary {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
 * Visualine Core 1.3 dashboard final compatibility layer
 * ----------------------------------------------------------------------- */

body.vl-private-page .vl-dashboard {
  --vl-accent: #667585;
  --vl-accent-deep: #4f6072;
}

body.vl-private-page .vl-dashboard__page-head h1 {
  font-size: clamp(2.35rem, 4vw, 4.15rem);
}

/* WordPress can apply link colours to nested text. Force complete contrast. */
body.vl-private-page a.vl-dashboard__primary:link,
body.vl-private-page a.vl-dashboard__primary:visited,
body.vl-private-page button.vl-dashboard__primary,
body.vl-private-page a.vl-dashboard__primary *,
body.vl-private-page button.vl-dashboard__primary * {
  color: #f7f4eb !important;
  -webkit-text-fill-color: #f7f4eb !important;
}

body.vl-private-page a.vl-dashboard__primary:hover,
body.vl-private-page button.vl-dashboard__primary:hover,
body.vl-private-page a.vl-dashboard__primary:hover *,
body.vl-private-page button.vl-dashboard__primary:hover * {
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

body.vl-private-page a.vl-dashboard__secondary:link,
body.vl-private-page a.vl-dashboard__secondary:visited,
body.vl-private-page button.vl-dashboard__secondary,
body.vl-private-page a.vl-dashboard__secondary *,
body.vl-private-page button.vl-dashboard__secondary * {
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

html[data-vl-theme="dark"] body.vl-private-page a.vl-dashboard__secondary:link,
html[data-vl-theme="dark"] body.vl-private-page a.vl-dashboard__secondary:visited,
html[data-vl-theme="dark"] body.vl-private-page button.vl-dashboard__secondary,
html[data-vl-theme="dark"] body.vl-private-page a.vl-dashboard__secondary *,
html[data-vl-theme="dark"] body.vl-private-page button.vl-dashboard__secondary * {
  color: #f1eee5 !important;
  -webkit-text-fill-color: #f1eee5 !important;
}

body.vl-private-page .vl-dashboard__primary,
body.vl-private-page .vl-dashboard__secondary {
  isolation: isolate;
  text-decoration: none !important;
}

body.vl-private-page .vl-dashboard__filters button {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.vl-private-page .vl-dashboard__filters button:hover {
  border-color: #667585;
  background: #667585;
  color: #171713 !important;
  -webkit-text-fill-color: #171713 !important;
}

body.vl-private-page .vl-editor-tabs button,
body.vl-private-page .vl-language-tabs button {
  color: inherit;
  -webkit-text-fill-color: currentColor;
}

body.vl-private-page .vl-editor-tabs button.is-active,
body.vl-private-page .vl-language-tabs button.is-active {
  border-color: #171713;
  background: #171713;
  color: #fff;
  -webkit-text-fill-color: #fff;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-editor-tabs button.is-active,
html[data-vl-theme="dark"] body.vl-private-page .vl-language-tabs button.is-active {
  border-color: #f1eee5;
  background: #f1eee5;
  color: #171713;
  -webkit-text-fill-color: #171713;
}

@media (max-width: 820px) {
  body.vl-private-page .vl-dashboard__sidebar {
    position: sticky;
    top: 0;
    z-index: 100;
  }
}

@media (max-width: 640px) {
  body.vl-private-page .vl-dashboard__page-head h1 {
    font-size: clamp(2.25rem, 11vw, 3.25rem);
  }

  body.vl-private-page .vl-dashboard__main {
    padding-inline: 14px;
  }

  body.vl-private-page .vl-dashboard__panel,
  body.vl-private-page .vl-editor-section {
    padding: 20px 16px;
  }
}

/* Nested dashboard links must not inherit public theme link colours. */
body.vl-private-page .vl-dashboard__nav-item,
body.vl-private-page .vl-dashboard__nav-item *,
body.vl-private-page .vl-dashboard__brand,
body.vl-private-page .vl-dashboard__brand * {
  -webkit-text-fill-color: currentColor !important;
}

body.vl-private-page .vl-dashboard__mini-list > a,
body.vl-private-page .vl-dashboard__mini-list > a:visited,
body.vl-private-page .vl-dashboard__mini-list > a strong,
body.vl-private-page .vl-dashboard__project-info h2 a,
body.vl-private-page .vl-dashboard__project-info h2 a:visited {
  color: #171913 !important;
  -webkit-text-fill-color: #171913 !important;
}

body.vl-private-page .vl-dashboard__mini-list > a small,
body.vl-private-page .vl-dashboard__project-info p,
body.vl-private-page .vl-dashboard__project-info small {
  color: #73786e !important;
  -webkit-text-fill-color: #73786e !important;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__mini-list > a,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__mini-list > a:visited,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__mini-list > a strong,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-info h2 a,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-info h2 a:visited {
  color: #eef1e8 !important;
  -webkit-text-fill-color: #eef1e8 !important;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__mini-list > a small,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-info p,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-info small {
  color: #a9afa2 !important;
  -webkit-text-fill-color: #a9afa2 !important;
}

body.vl-private-page .vl-dashboard__panel-head > a,
body.vl-private-page .vl-dashboard__panel-head > a:visited,
body.vl-private-page .vl-dashboard__project-actions a,
body.vl-private-page .vl-dashboard__project-actions a:visited,
body.vl-private-page .vl-dashboard__head-actions a,
body.vl-private-page .vl-dashboard__head-actions a:visited {
  color: #555c52 !important;
  -webkit-text-fill-color: #555c52 !important;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__panel-head > a,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__panel-head > a:visited,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-actions a,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__project-actions a:visited,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__head-actions a,
html[data-vl-theme="dark"] body.vl-private-page .vl-dashboard__head-actions a:visited {
  color: #c8cec1 !important;
  -webkit-text-fill-color: #c8cec1 !important;
}

body.vl-private-page .vl-dashboard__project-actions a.is-danger,
body.vl-private-page .vl-dashboard__project-actions a.is-danger:visited {
  color: #a63232 !important;
  -webkit-text-fill-color: #a63232 !important;
}

/* 1.4.1 — replace the former warm accent with neutral gray. */
body.vl-private-page {
  --vl-accent: #a4a6a1;
  --vl-accent-deep: #70736e;
}

body.vl-private-page a.vl-dashboard__primary:hover,
body.vl-private-page button.vl-dashboard__primary:hover,
body.vl-private-page .vl-dashboard__filters button:hover,
body.vl-private-page .vl-dashboard__filters button.is-active {
  border-color: #9b9d99 !important;
  background: #9b9d99 !important;
  color: #11120f !important;
  -webkit-text-fill-color: #11120f !important;
}

/* 1.4.4 — neutral gray interaction palette. */
body.vl-private-page {
  --vl-accent: #8b8f93;
  --vl-accent-deep: #5f6469;
}

body.vl-private-page a.vl-dashboard__primary:hover,
body.vl-private-page button.vl-dashboard__primary:hover,
body.vl-private-page .vl-dashboard__filters button:hover,
body.vl-private-page .vl-dashboard__filters button.is-active,
body.vl-private-page .vl-editor-tabs button:hover,
body.vl-private-page .vl-language-tabs button:hover {
  border-color: #62666a !important;
  background: #62666a !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* 1.5.0 — dashboard aligned with the definitive Visualine identity. */
body.vl-private-page {
  --vl-font-sans: "Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --vl-font-display: "Cormorant Garamond", Georgia, serif;
  --vl-accent: #667585;
  --vl-accent-deep: #4f6072;
}

body.vl-private-page .vl-dashboard,
body.vl-private-page .vl-dashboard button,
body.vl-private-page .vl-dashboard input,
body.vl-private-page .vl-dashboard select,
body.vl-private-page .vl-dashboard textarea {
  font-family: var(--vl-font-sans) !important;
}

body.vl-private-page :is(.vl-dashboard__page-head h1, .vl-dashboard__panel h2, .vl-editor-section h2, .vl-dashboard__stats strong) {
  font-family: var(--vl-font-display) !important;
  font-weight: 300;
}

body.vl-private-page .vl-dashboard__sidebar {
  background: #171719;
}

body.vl-private-page .vl-dashboard__brand {
  display: grid;
  gap: 8px;
  padding-bottom: 28px;
}

body.vl-private-page .vl-dashboard__brand .vl-wordmark {
  position: relative;
  display: block;
  width: 156px;
  aspect-ratio: 2132 / 488;
}

body.vl-private-page .vl-dashboard__brand .vl-wordmark__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

body.vl-private-page .vl-dashboard__brand .vl-wordmark__image--ink { display: none; }
body.vl-private-page .vl-dashboard__brand .vl-wordmark__image--reverse { display: block; }

body.vl-private-page .vl-dashboard__nav-item::before {
  background: #667585;
}

body.vl-private-page a.vl-dashboard__primary:hover,
body.vl-private-page button.vl-dashboard__primary:hover,
body.vl-private-page .vl-dashboard__filters button:hover,
body.vl-private-page .vl-dashboard__filters button.is-active,
body.vl-private-page .vl-editor-tabs button:hover,
body.vl-private-page .vl-language-tabs button:hover {
  border-color: #717171 !important;
  background: #717171 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.vl-private-page :focus-visible {
  outline-color: #667585 !important;
}

body.vl-private-page .vl-brand-system-note {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 26px;
  padding: 24px;
  border: 1px solid #d4d1ca;
  background: #f8f5f0;
}

body.vl-private-page .vl-brand-system-note .vl-wordmark {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 2132 / 488;
}

body.vl-private-page .vl-brand-system-note .vl-wordmark__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

body.vl-private-page .vl-brand-system-note .vl-wordmark__image--reverse { display: none; }
body.vl-private-page .vl-brand-system-note p { margin: 0; color: #717171; }

html[data-vl-theme="dark"] body.vl-private-page .vl-brand-system-note {
  border-color: #3b3c3f;
  background: #202124;
}

html[data-vl-theme="dark"] body.vl-private-page .vl-brand-system-note .vl-wordmark__image--ink { display: none; }
html[data-vl-theme="dark"] body.vl-private-page .vl-brand-system-note .vl-wordmark__image--reverse { display: block; }
html[data-vl-theme="dark"] body.vl-private-page .vl-brand-system-note p { color: #aeacab; }

@media (max-width: 700px) {
  body.vl-private-page .vl-brand-system-note { grid-template-columns: 1fr; }
  body.vl-private-page .vl-brand-system-note .vl-wordmark { max-width: 240px; }
}
