/* Little Moo Hosting shared client-page component system (Phase B) */

body:is(.lmh-client-shell, .lmh-public-page) {
  --lmh-page-surface: var(--lmh-surface, #11151b);
  --lmh-page-border: var(--lmh-border, rgba(203, 196, 222, 0.12));
  --lmh-page-border-strong: var(--lmh-border-strong, rgba(203, 196, 222, 0.22));
  --lmh-page-text: var(--lmh-text, #f4f2f6);
  --lmh-page-muted: var(--lmh-text-muted, #b8b8c2);
  --lmh-page-focus: var(--lmh-focus, #c8baff);
  --lmh-page-success-bg: rgba(70, 134, 96, 0.18);
  --lmh-page-success-border: rgba(145, 204, 166, 0.28);
  --lmh-page-warning-bg: rgba(167, 111, 36, 0.22);
  --lmh-page-warning-border: rgba(255, 193, 112, 0.32);
  --lmh-page-danger-bg: rgba(134, 45, 58, 0.22);
  --lmh-page-danger-border: rgba(241, 125, 145, 0.34);
}

/* Operational search controls stay readable and stack only on narrow phones. */
body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-download-search, .lmh-kb-search) {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: stretch;
  gap: 10px;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-download-search, .lmh-kb-search) .form-control {
  width: auto;
  min-width: 0;
  min-height: 44px;
  flex: 1 1 auto;
  font-size: 16px;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-download-search, .lmh-kb-search) :where(.lmh-btn, .btn, button) {
  width: auto;
  min-width: 112px;
  min-height: 44px;
  flex: 0 0 auto;
  padding-inline: 18px;
  white-space: nowrap;
  word-break: normal;
  writing-mode: horizontal-tb;
}

body.lmh-client-shell[data-templatefile="viewticket"] .lmh-ticket-sidebar-summary {
  border-bottom: 1px solid var(--lmh-client-border);
  background: var(--lmh-client-surface-2);
}

body.lmh-client-shell .lmh-ticket-sidebar-meta {
  display: grid;
  gap: 10px;
  margin: 0;
}

body.lmh-client-shell .lmh-ticket-sidebar-meta > div {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  gap: 12px;
}

body.lmh-client-shell .lmh-ticket-sidebar-meta :where(dt, dd) { margin: 0; overflow-wrap: anywhere; }
body.lmh-client-shell .lmh-ticket-sidebar-meta dt { color: var(--lmh-client-muted); font-size: 0.78rem; font-weight: 650; }
body.lmh-client-shell .lmh-ticket-sidebar-meta dd { color: var(--lmh-client-text); font-weight: 650; }

body.lmh-client-shell[data-templatefile="viewticket"] .lmh-view-ticket-page {
  display: grid;
  width: 100%;
  max-width: none;
  gap: 18px;
}

body.lmh-client-shell[data-templatefile="viewticket"] .lmh-view-ticket-card,
body.lmh-client-shell[data-templatefile="viewticket"] .lmh-ticket-reply-card {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.lmh-client-shell .lmh-ticket-metadata {
  padding: 16px 18px;
  border: 1px solid var(--lmh-client-border);
  border-radius: 10px;
  background: var(--lmh-client-surface);
}

body.lmh-client-shell .lmh-metadata-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  gap: 14px 20px;
}

body.lmh-client-shell .lmh-metadata-list > div { min-width: 0; }
body.lmh-client-shell .lmh-metadata-list__wide { grid-column: 1 / -1; }
body.lmh-client-shell .lmh-metadata-list :where(dt, dd) { margin: 0; overflow-wrap: anywhere; }
body.lmh-client-shell .lmh-metadata-list dt { color: var(--lmh-client-subtle); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.07em; text-transform: uppercase; }
body.lmh-client-shell .lmh-metadata-list dd { margin-top: 5px; color: var(--lmh-client-text); font-size: 0.94rem; font-weight: 650; }

body.lmh-client-shell .lmh-section-header {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--lmh-client-border);
}

body.lmh-client-shell .lmh-section-header h2 { margin: 3px 0 0; color: var(--lmh-client-text); font-size: 1.25rem; }
body.lmh-client-shell .lmh-section-header p:last-child { margin: 6px 0 0; color: var(--lmh-client-muted); }

body.lmh-client-shell[data-templatefile="viewticket"] .lmh-ticket-thread { display: grid; gap: 12px; }
body.lmh-client-shell[data-templatefile="viewticket"] .lmh-ticket-reply { margin: 0; border: 1px solid var(--lmh-client-border); border-radius: 10px; background: var(--lmh-client-surface); }
body.lmh-client-shell[data-templatefile="viewticket"] .lmh-ticket-reply-card > .lmh-form-card { padding: 18px; border: 1px solid var(--lmh-client-border) !important; border-radius: 10px !important; background: var(--lmh-client-surface) !important; }

@media (max-width: 767px) {
  body.lmh-client-shell .lmh-metadata-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  body.lmh-client-shell .lmh-metadata-list { grid-template-columns: minmax(0, 1fr); }
  body.lmh-client-shell .lmh-metadata-list__wide { grid-column: auto; }
}

body.lmh-client-shell[data-templatefile="viewticket"] [menuItemName="CC Recipients"] .card-body > :where(form, .input-group) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  width: 100%;
}

body.lmh-client-shell[data-templatefile="viewticket"] [menuItemName="CC Recipients"] :where(input, .form-control, .btn) {
  min-width: 0;
  min-height: 44px;
}

@media (max-width: 1439px) {
  body.lmh-client-shell[data-templatefile="viewticket"] .lmh-client-main-grid.has-context > .lmh-client-context-column { order: -1; }
}

@media (max-width: 575px) {
  body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-download-search, .lmh-kb-search) { flex-direction: column; }
  body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-download-search, .lmh-kb-search) :where(.lmh-btn, .btn, button) { width: 100%; }
  body.lmh-client-shell[data-templatefile="viewticket"] [menuItemName="CC Recipients"] .card-body > :where(form, .input-group) { grid-template-columns: minmax(0, 1fr); }
  body.lmh-client-shell[data-templatefile="viewticket"] [menuItemName="CC Recipients"] :where(input, .form-control) { font-size: 16px; }
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell {
  min-width: 0;
  width: 100%;
  display: grid;
  gap: 0.95rem;
}

/* Structural route primitives used by account, domain and security templates. */
body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-contacts-page, .lmh-invite-accept-form) {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 16px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-contact-selector {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: 16px;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  border: 1px solid var(--lmh-page-border);
  border-radius: 12px;
  background: var(--lmh-page-surface);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-field-grow { flex: 1 1 260px; min-width: 0; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-field-button { flex: 0 0 auto; }

body:is(.lmh-client-shell, .lmh-public-page) .lmh-check-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 10px 16px;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-domain-dns-panel, .lmh-twofa-settings-card, .lmh-cc-payment-form) {
  width: 100%;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-domain-dns-table { min-width: 680px; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-detail-tabs { min-width: 0; overflow: visible; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero-copy { min-width: 0; }

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-validation-pill, .lmh-upgrade-qty) {
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 575px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-contact-selector { align-items: stretch; flex-direction: column; }
  body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-form-field-grow, .lmh-form-field-button) { width: 100%; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-field-button :where(.btn, .lmh-btn) { width: 100%; }
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(248px, 300px);
  gap: clamp(0.8rem, 1.4vw, 1.3rem);
  align-items: start;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-main,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-side {
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-header {
  /* `flex-direction: column` is set earlier in lmh-client-core.css and is NOT
     overridden here, so this rule runs in a COLUMN container. In a column
     container `align-items` controls the HORIZONTAL axis, so `flex-end` pushed
     every page heading to the right-hand edge of the content area - visible on
     Services, Domains, Account Security and anywhere else using the shared
     header. `justify-content: space-between` and `flex-wrap` above were written
     for a row layout and have no horizontal effect in a column.

     Corrected to `flex-start`, which left-aligns headings on the normal Client
     Area content spine. This matches the outcome that lmh-client-components.css
     already forces with `!important` for the invoices and tickets pages - that
     patch treated the symptom on two routes; this fixes the cause for all. */
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
  flex-wrap: wrap;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-eyebrow {
  margin: 0;
  color: rgba(212, 199, 242, 0.86);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font: 700 0.72rem/1.2 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-title {
  margin: 0.22rem 0 0;
  color: #fff;
  font: 650 clamp(1.75rem, 2.1vw, 2.25rem)/1.16 Inter, "Segoe UI", sans-serif;
  letter-spacing: -0.02em;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-subtitle {
  margin: 0.44rem 0 0;
  color: var(--lmh-page-muted);
  font: 500 0.95rem/1.55 Inter, "Segoe UI", sans-serif;
  max-width: 74ch;
  overflow-wrap: break-word;
  word-break: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-panel,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-context-panel-block {
  background: var(--lmh-page-surface);
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  box-shadow: none;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel-header,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.7rem;
  padding: 0.92rem 1rem;
  border-bottom: 1px solid var(--lmh-page-border);
  background: transparent;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel-title {
  margin: 0;
  color: #fff;
  font: 700 1rem/1.25 Inter, "Segoe UI", sans-serif;
  letter-spacing: -0.01em;
  overflow-wrap: break-word;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel-copy {
  margin: 0.24rem 0 0;
  color: var(--lmh-page-muted);
  font: 500 0.9rem/1.5 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel-body,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-panel-body {
  padding: 0.95rem 1rem;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  padding: 0.78rem;
  border: 1px solid var(--lmh-page-border);
  border-radius: 9px;
  background: var(--lmh-client-bg-raised);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-group {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-search-control,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-select,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-field-control {
  min-height: 44px;
  border: 1px solid rgba(179, 160, 238, 0.32);
  border-radius: 12px;
  background: rgba(11, 9, 20, 0.78);
  color: var(--lmh-page-text);
  padding: 0.48rem 0.68rem;
  font: 500 0.92rem/1.3 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-search-control {
  width: min(100%, 420px);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-field-label {
  display: inline-block;
  margin: 0 0 0.34rem;
  color: rgba(225, 214, 248, 0.9);
  font: 600 0.83rem/1.2 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 12px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table thead th {
  text-align: left;
  border-bottom: 1px solid rgba(197, 183, 236, 0.18);
  color: rgba(227, 216, 253, 0.92);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font: 700 0.74rem/1.2 Inter, "Segoe UI", sans-serif;
  padding: 0.72rem 0.66rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table td {
  border-top: 1px solid rgba(197, 183, 236, 0.14);
  padding: 0.76rem 0.66rem;
  color: var(--lmh-page-text);
  font: 500 0.9rem/1.4 Inter, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-row-title {
  color: #fff;
  font-weight: 700;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.72rem;
  border-radius: 999px;
  padding: 0.2rem 0.56rem;
  font: 700 0.74rem/1.2 Inter, "Segoe UI", sans-serif;
  vertical-align: middle;
  max-width: 100%;
  letter-spacing: 0.01em;
  text-align: center;
  white-space: nowrap;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status--success,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill.lmh-status--success {
  border: 1px solid var(--lmh-page-success-border);
  background: var(--lmh-page-success-bg);
  color: #cbf3d8;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status--warning,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill.lmh-status--warning {
  border: 1px solid var(--lmh-page-warning-border);
  background: var(--lmh-page-warning-bg);
  color: #ffe3bd;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status--danger,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill.lmh-status--danger {
  border: 1px solid var(--lmh-page-danger-border);
  background: var(--lmh-page-danger-bg);
  color: #ffd9df;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status--info,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill.lmh-status--info {
  border: 1px solid rgba(130, 181, 255, 0.5);
  background: rgba(54, 104, 171, 0.22);
  color: #d8e9ff;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-tabs {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  border-bottom: 1px solid rgba(176, 157, 234, 0.24);
  padding-bottom: 0.5rem;
  overflow-x: auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-tab-btn {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 999px;
  min-height: 40px;
  padding: 0.4rem 0.72rem;
  color: #e7dcff;
  background: rgba(155, 130, 255, 0.09);
  font: 700 0.82rem/1.2 Inter, "Segoe UI", sans-serif;
  white-space: nowrap;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-tab-btn[aria-selected="true"] {
  color: #fff;
  border-color: var(--lmh-page-border-strong);
  background: rgba(155, 130, 255, 0.2);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-tab-panel {
  padding-top: 0.72rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-tab-panel[hidden] {
  display: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-list,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-action-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.48rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-item,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-action-item {
  display: grid;
  gap: 0.12rem;
  border: 1px solid rgba(176, 157, 234, 0.24);
  border-radius: 10px;
  background: rgba(14, 10, 24, 0.62);
  padding: 0.56rem 0.62rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-key {
  color: rgba(212, 199, 242, 0.84);
  font: 700 0.73rem/1.2 Inter, "Segoe UI", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-value {
  color: #f8f4ff;
  font: 600 0.9rem/1.35 Inter, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-field {
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.72rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-alert {
  border-radius: 12px;
  padding: 0.68rem 0.82rem;
  border: 1px solid transparent;
  font: 600 0.87rem/1.35 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-alert--success {
  border-color: var(--lmh-page-success-border);
  background: var(--lmh-page-success-bg);
  color: #d8f9e3;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-alert--warning {
  border-color: var(--lmh-page-warning-border);
  background: var(--lmh-page-warning-bg);
  color: #ffe8cb;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-alert--danger {
  border-color: var(--lmh-page-danger-border);
  background: var(--lmh-page-danger-bg);
  color: #ffe3e8;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-empty-state {
  text-align: center;
  border: 1px dashed var(--lmh-page-border-strong);
  border-radius: 10px;
  background: var(--lmh-page-surface);
  padding: 1.25rem 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-empty-title {
  margin: 0;
  color: #fff;
  font: 650 1rem/1.2 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-empty-copy {
  margin: 0.4rem 0 0;
  color: var(--lmh-page-muted);
  font: 500 0.9rem/1.45 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border-radius: 8px;
  padding: 0 0.62rem;
  border: 1px solid var(--lmh-page-border);
  color: var(--lmh-page-muted);
  background: transparent;
  text-decoration: none;
  font: 700 0.82rem/1 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-pagination-link[aria-current="page"] {
  background: rgba(155, 130, 255, 0.22);
  border-color: rgba(176, 157, 234, 0.56);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-meter {
  display: grid;
  gap: 0.35rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-track {
  position: relative;
  width: 100%;
  min-height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--lmh-meter, 40%);
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lmh-client-accent), var(--lmh-client-accent-2));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-meta {
  color: var(--lmh-page-muted);
  font: 600 0.8rem/1.3 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-danger-zone {
  border: 1px solid rgba(241, 125, 145, 0.42);
  border-radius: 12px;
  background: rgba(96, 30, 43, 0.24);
  padding: 0.85rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-danger-title {
  margin: 0;
  color: #ffdce2;
  font: 700 0.95rem/1.2 Syne, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-danger-copy {
  margin: 0.3rem 0 0;
  color: #ffeaf0;
  font: 500 0.88rem/1.4 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-mobile-row {
  display: none;
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  background: var(--lmh-page-surface);
  padding: 0.64rem;
  gap: 0.46rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-mobile-row-item {
  display: grid;
  gap: 0.12rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-mobile-row-label {
  color: rgba(212, 199, 242, 0.84);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font: 700 0.69rem/1.15 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-mobile-row-value {
  color: #f8f4ff;
  font: 600 0.87rem/1.33 Inter, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-drawer {
  position: fixed;
  inset: auto 0 0;
  z-index: 33;
  transform: translateY(102%);
  transition: transform 0.24s ease;
  background: linear-gradient(180deg, rgba(20, 15, 34, 0.98), rgba(10, 8, 18, 0.99));
  border-top: 1px solid rgba(176, 157, 234, 0.34);
  border-radius: 14px 14px 0 0;
  padding: 0.82rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-drawer.is-open {
  transform: translateY(0);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-backdrop {
  position: fixed;
  inset: 0;
  z-index: 32;
  background: rgba(7, 5, 14, 0.66);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-backdrop[hidden] {
  display: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-header :where(h1, h2, h3, p, span, a, strong),
body:is(.lmh-client-shell, .lmh-public-page) .lmh-panel :where(h1, h2, h3, p, span, a, strong, td, th),
body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-panel :where(h1, h2, h3, p, span, a, strong, label) {
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-tab-btn, .lmh-search-control, .lmh-filter-select, .lmh-field-control, .lmh-pagination-link):focus-visible {
  outline: 2px solid var(--lmh-page-focus);
  outline-offset: 2px;
}

@media (max-width: 1366px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-grid {
    grid-template-columns: minmax(0, 1fr) minmax(228px, 272px);
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table {
    min-width: 580px;
  }
}

@media (max-width: 1180px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-side {
    order: 2;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 920px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-bar {
    grid-template-columns: 1fr;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-search-control {
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-group {
    width: 100%;
  }
}

@media (max-width: 768px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table {
    min-width: 0;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table thead {
    display: none;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table tbody,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table tr,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table td {
    display: block;
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table tr {
    border: 1px solid rgba(176, 157, 234, 0.24);
    border-radius: 10px;
    background: rgba(14, 10, 24, 0.62);
    margin-top: 0.6rem;
    padding: 0.52rem 0.55rem;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table td {
    border-top: 0;
    padding: 0.22rem 0;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-data-table td::before {
    content: attr(data-label);
    display: block;
    color: rgba(212, 199, 242, 0.84);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font: 700 0.68rem/1.15 Inter, "Segoe UI", sans-serif;
    margin-bottom: 0.06rem;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-mobile-row {
    display: grid;
  }
}

@media (max-width: 430px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-actions,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-actions {
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-actions > *,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-form-actions > * {
    flex: 1 1 auto;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-drawer {
    transition: none;
  }
}

/* Phase C: products/services list and individual service workspaces */
body:is(.lmh-client-shell, .lmh-public-page) {
  --lmh-page-focus: #b9a3ff;
}

/* Neutralise the same obsolete dashboard block's fixed canvas and padding. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-dashboard {
  width: 100%;
  min-width: 0;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn {
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  touch-action: manipulation;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-primary,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--primary {
  color: #fff !important;
  border-color: rgba(207, 191, 255, 0.56);
  background: linear-gradient(135deg, #6d4cdb, #8c6df0);
  box-shadow: 0 10px 24px rgba(76, 48, 168, 0.24);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-primary:hover,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-primary:focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--primary:hover,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--primary:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, #7958e5, #9b82ff);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-secondary,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--secondary {
  color: #f1eaff !important;
  border-color: rgba(184, 164, 240, 0.4);
  background: rgba(155, 130, 255, 0.11);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-secondary:hover,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-secondary:focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--secondary:hover,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn--secondary:focus-visible {
  color: #fff !important;
  background: rgba(155, 130, 255, 0.22);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-danger {
  color: #fff !important;
  border-color: rgba(255, 166, 181, 0.5);
  background: #a9364c;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-danger:hover,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-danger:focus-visible {
  color: #fff !important;
  background: #bd4058;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn-small {
  min-height: 44px;
  padding-inline: 0.75rem;
  font-size: 0.82rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn.disabled,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-btn[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.52;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-btn, .lmh-context-link):focus-visible {
  outline: 3px solid var(--lmh-page-focus);
  outline-offset: 2px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status--muted,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-pill.lmh-status--muted {
  color: #e0d7ed;
  border: 1px solid rgba(198, 186, 216, 0.3);
  background: rgba(129, 115, 149, 0.2);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-details-page {
  gap: 1rem;
}

/* Services: neutral customer records, with the native DataTable retained for filtering and pagination. */
body.lmh-client-shell .lmh-services-page > .lmh-page-header { padding-bottom: 4px; }
body.lmh-client-shell .lmh-services-page .lmh-panel {
  overflow: visible;
  border: 1px solid var(--lmh-client-border);
  border-radius: 10px;
  background: var(--lmh-client-surface);
  box-shadow: none;
}
body.lmh-client-shell .lmh-services-page .lmh-panel-header {
  padding: 18px 20px;
  border-bottom: 1px solid var(--lmh-client-border);
  background: transparent;
}
body.lmh-client-shell .lmh-services-page .lmh-panel-title { font-size: 1.05rem; }
body.lmh-client-shell .lmh-services-page .lmh-filter-bar { margin-bottom: 18px; padding: 0; border: 0; background: transparent; }
body.lmh-client-shell .lmh-services-page .lmh-services-table {
  overflow: visible;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  background: transparent;
}
body.lmh-client-shell .lmh-services-page .lmh-services-table thead th {
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--lmh-client-border);
  background: #11151b;
  color: var(--lmh-client-subtle);
  font-size: 0.72rem;
  letter-spacing: 0.07em;
}
body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr,
body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr:nth-child(odd),
body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr:nth-child(even) {
  border: 0;
  border-bottom: 1px solid var(--lmh-client-border);
  background: transparent;
}
body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr:last-child { border-bottom: 0; }
body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr:hover { background: rgba(255, 255, 255, 0.025); }
body.lmh-client-shell .lmh-services-page .lmh-services-table td { padding: 20px 16px; border: 0; background: transparent; color: var(--lmh-client-text); font-size: 0.94rem; }
body.lmh-client-shell .lmh-services-page .lmh-service-identity { grid-template-columns: minmax(0, 1fr); }
body.lmh-client-shell .lmh-services-page .lmh-data-row-title { color: var(--lmh-client-text); font-size: 1rem; font-weight: 750; }
body.lmh-client-shell .lmh-services-page .lmh-service-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
body.lmh-client-shell .lmh-services-page .lmh-status-pill { padding: 4px 9px; border-radius: 999px; font-size: 0.75rem; }
body.lmh-client-shell .lmh-services-page .dataTables_paginate .paginate_button { border-radius: 7px !important; }

/* cPanel overview: preserve module actions, replace its obsolete framed presentation. */
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-service-detail-tabs,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #tabOverview,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}

body.lmh-client-shell .lmh-service-overview-strip {
  padding: 18px 20px;
  border: 1px solid var(--lmh-client-border);
  border-radius: 10px;
  background: var(--lmh-client-surface);
}
body.lmh-client-shell .lmh-service-overview-strip dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; gap: 18px; }
body.lmh-client-shell .lmh-service-overview-strip dl div { min-width: 0; }
body.lmh-client-shell .lmh-service-overview-strip dt { color: var(--lmh-client-subtle); font-size: 0.72rem; font-weight: 750; letter-spacing: 0.07em; text-transform: uppercase; }
body.lmh-client-shell .lmh-service-overview-strip dd { margin: 5px 0 0; color: var(--lmh-client-text); font-size: 0.96rem; font-weight: 650; overflow-wrap: anywhere; }

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0;
  gap: 16px;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview > .row > [class*="col-"] {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelPackagePanel { display: none; }

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .panel,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .card {
  width: 100%;
  max-width: none;
  margin: 0 0 16px !important;
  overflow: visible;
  border: 1px solid var(--lmh-client-border) !important;
  border-radius: 10px !important;
  background: var(--lmh-client-surface) !important;
  color: var(--lmh-client-text) !important;
  box-shadow: none !important;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .card-header,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .panel-heading {
  min-height: 0;
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lmh-client-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--lmh-client-text) !important;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .card-title,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .panel-title {
  margin: 0 !important;
  color: var(--lmh-client-text) !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .card-body,
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview .panel-body {
  padding: 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--lmh-client-muted) !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel .cpanel-feature-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 !important;
  gap: 8px;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel .cpanel-feature-row > [class*="col-"] {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel a {
  display: grid !important;
  min-height: 96px;
  margin: 0 !important;
  padding: 12px 8px;
  place-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--lmh-client-text) !important;
  font-size: 0.86rem;
  font-weight: 650;
  text-align: center;
  text-decoration: none;
}
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel a:hover { border-color: var(--lmh-client-border); background: var(--lmh-client-surface-2); }
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel img { width: 34px; height: 34px; margin: 0; object-fit: contain; }
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelUsagePanel canvas { max-width: 72px !important; max-height: 58px !important; }
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelUsagePanel .cpanel-usage-stats { display: grid; align-content: center; min-height: 0; }
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelBillingOverviewPanel .row { margin-inline: 0; }
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelBillingOverviewPanel .row > [class*="col-"] { min-width: 0; }

/* Route-owned spacing rhythm for the cPanel service tool sections. */
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-service-tools-section {
  margin-top: 32px;
  padding-bottom: 40px;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-service-tools-section > .lmh-section-heading {
  margin-bottom: 28px;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-cpanel-overview > :where(.panel, .card),
body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-cpanel-overview > .row > [class*="col-"] > :where(.panel, .card) {
  margin-bottom: 28px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-cpanel-overview :is(#cPanelQuickShortcutsPanel, #cPanelQuickEmailPanel, #cPanelBillingOverviewPanel) {
  margin-bottom: 28px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-cpanel-overview :is(#cPanelQuickShortcutsPanel, #cPanelQuickEmailPanel, #cPanelBillingOverviewPanel) > :is(.panel-heading, .card-header) {
  padding: 30px 32px 16px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page .lmh-cpanel-overview :is(#cPanelQuickShortcutsPanel, #cPanelQuickEmailPanel, #cPanelBillingOverviewPanel) > :is(.panel-body, .card-body) {
  padding: 8px 32px 32px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelQuickShortcutsPanel .cpanel-feature-row {
  row-gap: 20px;
  column-gap: 16px;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelQuickShortcutsPanel > :is(.panel-body, .card-body) {
  padding-bottom: 36px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelQuickEmailPanel > :is(.panel-body, .card-body) {
  padding-top: 12px !important;
  padding-bottom: 36px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelQuickEmailPanel form {
  margin-block: 8px;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelBillingOverviewPanel {
  margin-bottom: 36px !important;
}

body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-service-page #cPanelBillingOverviewPanel > :is(.panel-body, .card-body) {
  padding-top: 14px !important;
  padding-bottom: 36px !important;
}

@media (max-width: 1024px) {
  body.lmh-client-shell .lmh-service-overview-strip dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel .cpanel-feature-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  body.lmh-client-shell[data-templatefile="clientareaproductdetails"] .lmh-cpanel-overview > .row { grid-template-columns: minmax(0, 1fr); }
  body.lmh-client-shell[data-templatefile="clientareaproductdetails"] #cPanelQuickShortcutsPanel .cpanel-feature-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
  body.lmh-client-shell .lmh-service-overview-strip dl { grid-template-columns: minmax(0, 1fr); }
  body.lmh-client-shell .lmh-service-hero-actions { width: 100%; justify-content: flex-start; }
  body.lmh-client-shell .lmh-service-hero-actions > .lmh-btn { flex: 1 1 auto; }
  body.lmh-client-shell .lmh-services-page .lmh-services-table tbody tr { padding: 16px; border: 1px solid var(--lmh-client-border); border-radius: 9px; background: var(--lmh-client-surface); }
  body.lmh-client-shell .lmh-services-page .lmh-services-table td { padding: 10px 0; }
  body.lmh-client-shell .lmh-services-page .lmh-service-actions { display: grid; grid-template-columns: minmax(0, 1fr) 44px; }
  body.lmh-client-shell .lmh-services-page .lmh-service-actions > .lmh-btn { width: 100%; }
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-grid--single {
  grid-template-columns: minmax(0, 1fr);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-panel-body,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-details-main {
  display: grid;
  gap: 0.9rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-group--search {
  position: relative;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-group--search .lmh-search-control {
  padding-left: 2.35rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-search-icon {
  position: absolute;
  left: 0.82rem;
  top: 50%;
  z-index: 1;
  color: #c5b5ed;
  pointer-events: none;
  transform: translateY(-50%);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-select {
  min-width: 160px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table-wrap {
  overflow: visible;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table {
  table-layout: fixed;
  min-width: 720px;
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table th:nth-child(1) { width: 34%; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table th:nth-child(2) { width: 14%; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table th:nth-child(3) { width: 18%; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table th:nth-child(4) { width: 17%; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table th:nth-child(5) { width: 17%; }

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table tbody tr {
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table tbody tr:hover {
  background: rgba(155, 130, 255, 0.08);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table td {
  vertical-align: middle;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-identity > span {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-ssl {
  flex: 0 0 auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-identifier {
  color: #cdbdff;
  font-size: 0.82rem;
  word-break: normal;
  overflow-wrap: break-word;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-amount,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-due {
  display: block;
  color: #fff;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-cycle {
  display: block;
  margin-top: 0.12rem;
  color: var(--lmh-page-muted);
  font-size: 0.78rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-actions {
  text-align: right;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-context-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 44px;
  color: #f1eaff;
  text-decoration: none;
  font: 700 0.85rem/1.3 Inter, "Segoe UI", sans-serif;
  touch-action: manipulation;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-context-link > span {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-context-link > span i {
  width: 1rem;
  color: #bca8ff;
  text-align: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-empty-icon {
  margin-bottom: 0.55rem;
  color: #bca8ff;
  font-size: 1.45rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-empty-state .lmh-btn {
  margin-top: 0.75rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .dataTables_wrapper {
  width: 100%;
  min-width: 0;
  color: var(--lmh-page-muted) !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .listtable,
body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-row,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-controls,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-footer {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .listtable {
  grid-template-columns: minmax(0, 1fr);
}

body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-cell.dt-layout-full {
  grid-column: 1 / -1;
}

body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-cell.dt-layout-end {
  justify-self: end;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.dt-search, .dt-length, .dt-info, .dt-paging) {
  min-width: 0;
  max-width: 100%;
  color: var(--lmh-page-muted);
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.dt-search, .dt-length) label {
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .dt-search input,
body:is(.lmh-client-shell, .lmh-public-page) .dt-length select {
  max-width: 100%;
  min-height: 40px;
  margin-inline: 0.35rem;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.dataTables_info, .dt-info) {
  width: auto;
  min-width: min(100%, 15rem);
  line-height: 1.45;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.dataTables_paginate, .dt-paging) {
  justify-self: end;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-controls,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-footer {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .dataTables_length,
body:is(.lmh-client-shell, .lmh-public-page) .dataTables_info,
body:is(.lmh-client-shell, .lmh-public-page) .dataTables_paginate,
body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-cell {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) .dataTables_length select {
  max-width: 100%;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page #tableServicesList_filter {
  display: none !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .listtable {
  margin-top: 0.8rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_length,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_info,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate {
  color: var(--lmh-page-muted) !important;
  font: 600 0.8rem/1.35 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_info,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_length {
  width: 100%;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_length select {
  min-height: 40px;
  margin-inline: 0.3rem;
  border: 1px solid var(--lmh-page-border-strong);
  border-radius: 10px;
  background: #161022;
  color: #fff;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate .paginate_button {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: #ece3ff !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate .paginate_button.current,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate .paginate_button.current:hover {
  color: #fff !important;
  border-color: rgba(195, 176, 255, 0.54) !important;
  background: rgba(127, 96, 245, 0.45) !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero {
  align-items: center;
  padding: 0.2rem 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.6rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-domain {
  font-variant-numeric: tabular-nums;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-item :where(dt, dd) {
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-item--wide {
  grid-column: 1 / -1;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-module-output,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-module-client-area {
  min-width: 0;
  word-break: normal;
  overflow-wrap: break-word;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-module-output > :first-child {
  margin-top: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-module-client-area :where(.btn, button, input[type="submit"], a.btn),
body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-actions :where(.btn, button, input[type="submit"], a.btn) {
  min-height: 44px;
  margin: 0.2rem;
  border-radius: 9px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-ssl-summary {
  margin-top: 0.8rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-card {
  min-width: 0;
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  background: var(--lmh-page-surface);
  padding: 0.78rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.55rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-heading h3,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-heading strong {
  margin: 0;
  color: #fff;
  font: 650 0.9rem/1.25 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-fill {
  width: clamp(0%, var(--lmh-meter, 0%), 100%);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-usage-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-usage-table {
  min-width: 620px;
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-grid,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-download-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-card {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  background: var(--lmh-page-surface);
  padding: 0.78rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-card-header h3,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-download-title {
  margin: 0;
  color: #fff;
  font: 650 0.95rem/1.25 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-password-form {
  display: grid;
  gap: 0.85rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-password-field-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: start;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-password-form .lmh-field-control {
  width: 100%;
}

@media (max-width: 920px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .dataTables_paginate {
    justify-self: start;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-controls,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-table-footer,
  body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-cell.dt-layout-end,
  body:is(.lmh-client-shell, .lmh-public-page) :where(.dataTables_paginate, .dt-paging) {
    justify-self: start;
  }
}

@media (max-width: 768px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-page .lmh-services-table {
    min-width: 0 !important;
    table-layout: auto;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table tbody tr {
    cursor: default;
    padding: 0.35rem 0.72rem 0.72rem;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table td {
    display: block !important;
    padding: 0.52rem 0 !important;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table td + td {
    border-top: 1px solid rgba(197, 183, 236, 0.12);
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-actions {
    text-align: left;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-actions .lmh-btn {
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-detail-grid,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-resource-grid,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-addon-grid,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-download-grid,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-password-field-row {
    grid-template-columns: 1fr;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero-actions {
    width: 100%;
    justify-content: flex-start;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .dataTables_info,
  body:is(.lmh-client-shell, .lmh-public-page) .dataTables_paginate,
  body:is(.lmh-client-shell, .lmh-public-page) .dataTables_length,
  body:is(.lmh-client-shell, .lmh-public-page) .dt-layout-cell {
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 430px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-select,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero-actions .lmh-btn,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-password-field-row .lmh-btn {
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-service-hero-actions .lmh-status-pill {
    min-height: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-services-table tbody tr {
    transition: none;
  }
}

/* Production compatibility layer
 * Keeps legacy WHMCS, registrar, gateway and MarketConnect output usable inside
 * the approved client shell without changing provider-owned markup or logic.
 */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content {
  min-width: 0;
  color: var(--lmh-page-text);
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(h1, h2, h3, h4, h5, h6) {
  color: #fff;
  font-family: Inter, "Segoe UI", sans-serif;
  letter-spacing: -0.02em;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.card, .panel, .well) {
  min-width: 0;
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  background: var(--lmh-page-surface);
  color: var(--lmh-page-text);
  box-shadow: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.card-header, .card-footer, .panel-heading, .panel-footer) {
  border-color: var(--lmh-page-border);
  background: var(--lmh-page-surface-2);
  color: #fff;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(label, legend, .control-label) {
  color: #f5f1ff;
  font-weight: 700;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(
  .form-control,
  .custom-select,
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="date"],
  select,
  textarea
) {
  max-width: 100%;
  min-height: 44px;
  border: 1px solid var(--lmh-page-border-strong);
  border-radius: 9px;
  background-color: var(--lmh-client-bg);
  color: #fff;
  box-shadow: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(textarea.form-control, textarea) {
  min-height: 112px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.form-control, .custom-select, input, select, textarea):focus {
  border-color: #aa91f5;
  outline: 3px solid rgba(155, 130, 255, 0.28);
  outline-offset: 1px;
  box-shadow: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(input, select, textarea):disabled,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(input, select, textarea)[readonly] {
  background-color: rgba(255, 255, 255, 0.06);
  color: rgba(245, 241, 255, 0.62);
  cursor: not-allowed;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.btn:not(.btn-sm), button:not(.close), input[type="submit"], input[type="reset"]) {
  min-height: 44px;
  border-radius: 9px;
  font-weight: 700;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.nav-tabs, .nav-pills) {
  display: flex;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-color: var(--lmh-page-border);
  scrollbar-width: thin;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.nav-tabs, .nav-pills) > li {
  flex: 0 0 auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content .nav-tabs .nav-link,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content .nav-tabs > li > a {
  min-height: 44px;
  border-color: transparent;
  color: #cfc5e8;
  white-space: nowrap;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content .nav-tabs .nav-link.active,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content .nav-tabs > li.active > a {
  border-color: var(--lmh-page-border-strong);
  background: rgba(139, 109, 246, 0.07);
  color: #fff;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.table-responsive, .table-container, .dataTables_wrapper) {
  max-width: 100%;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.table-responsive, .table-container) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content table:not(.lmh-data-table):not(.lmh-services-table) {
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content table:not(.lmh-data-table):not(.lmh-services-table) :where(th, td) {
  border-color: rgba(197, 183, 236, 0.15);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content table:not(.lmh-data-table):not(.lmh-services-table) thead th {
  background: rgba(75, 54, 123, 0.26);
  color: #fff;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.alert, .list-group-item, .dropdown-menu, .modal-content) {
  border-color: rgba(176, 157, 234, 0.24);
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.list-group-item, .dropdown-menu, .modal-content) {
  background: #171021;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content .modal-dialog {
  width: auto;
  max-width: min(94vw, 720px);
  margin-inline: auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.pagination, .page-links) a {
  min-width: 40px;
  min-height: 40px;
  border-color: rgba(176, 157, 234, 0.24);
  background: rgba(18, 13, 31, 0.82);
  color: #d8cdf2;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.pagination, .page-links) .active a,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.pagination, .page-links) a[aria-current="page"] {
  background: #6d4cdb;
  color: #fff;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-domain-details-page, .lmh-payment-method-manage-page, .lmh-user-profile-page, .lmh-announcements-page) {
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-domain-details-page, .lmh-payment-method-manage-page, .lmh-user-profile-page) > .card,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-announcements-page .card {
  overflow: hidden;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(form, fieldset, .row, [class*="col-"]) {
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content img,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content svg,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content iframe {
  max-width: 100%;
}

@media (max-width: 575px) {
  body:is(.lmh-client-shell, .lmh-public-page) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    font-size: 16px !important;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(
    .form-control,
    .custom-select,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    select,
    textarea
  ) {
    font-size: 16px;
  }

  body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content :where(.btn:not(.btn-sm), input[type="submit"], input[type="reset"]) {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  body.lmh-public-page #main-body > .container { padding-inline: 10px; }
  body.lmh-public-page .lmh-page-grid { grid-template-columns: minmax(0, 1fr); }
  body.lmh-public-page .lmh-page-header { align-items: stretch; flex-direction: column; }
  body.lmh-public-page .lmh-page-actions { width: 100%; }
  body.lmh-public-page .lmh-page-actions > :where(.btn, .lmh-btn) { width: 100%; }
  body.lmh-public-page :where(.form-row, .row) > [class*="col-"] {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  body.lmh-public-page :where(.form-control, input, select, textarea) { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  body.lmh-public-page *,
  body.lmh-public-page *::before,
  body.lmh-public-page *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}

/* Logged-in WHMCS store and Standard Cart compatibility. The order-form
 * templates are configured separately from the system theme, so these rules
 * target their native IDs/classes without changing their forms or commands.
 */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page {
  width: 100%;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .store-order-container {
  padding: clamp(1rem, 2vw, 1.5rem);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page #frmAddToCart > .row:first-of-type {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(16rem, 0.7fr);
  gap: 1.25rem;
  margin: 0 0 1.25rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page #frmAddToCart > .row:first-of-type > [class*="col-"] {
  width: auto;
  max-width: none;
  padding: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .payment-term,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .store-domain-tab-content,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .store-promoted-product {
  border: 1px solid var(--lmh-page-border);
  border-radius: 12px;
  background: rgba(14, 10, 24, 0.72) !important;
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .payment-term {
  padding: 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .store-domain-tab-content {
  padding: 1rem;
  border-top-left-radius: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page :where(.tab-pane, .domain-validation) {
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page .domain-validation.ok {
  color: var(--lmh-page-success);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page #frmAddToCart > .row:last-of-type {
  align-items: center;
  margin-top: 1.25rem;
}

/* Historical system-theme Standard Cart compatibility is disabled.
 * The active order form is owned by orderforms/standard_cart/css/lmh-orderform.css. */
@media not all {
body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart {
  width: 100%;
  min-width: 0;
  color: var(--lmh-page-text);
  font-family: Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart > .row {
  display: block;
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .cart-sidebar {
  display: none !important;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .cart-body {
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .sidebar-collapsed {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .sidebar-collapsed > :where(.card, .panel) {
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .header-lined {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .header-lined .font-size-36 {
  margin: 0;
  color: #fff;
  font: 800 clamp(1.65rem, 2.5vw, 2.35rem)/1.12 Syne, "Segoe UI", sans-serif;
  overflow-wrap: break-word;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .header-lined p {
  max-width: 72ch;
  margin: 0.55rem 0 0;
  color: var(--lmh-page-muted);
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products > .row {
  display: contents;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products > .row > [class*="col-"] {
  display: flex;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  border: 1px solid var(--lmh-page-border);
  border-radius: 14px;
  background: rgba(18, 13, 31, 0.88);
  color: var(--lmh-page-text);
  box-shadow: none;
  overflow: hidden;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product > header {
  min-height: 0;
  padding: 1rem;
  border: 0;
  border-bottom: 1px solid rgba(176, 157, 234, 0.18);
  background: rgba(75, 54, 123, 0.22);
  color: #fff;
  font: 800 1rem/1.3 Syne, "Segoe UI", sans-serif;
  overflow-wrap: break-word;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product .qty {
  display: block;
  margin-top: 0.4rem;
  color: var(--lmh-page-muted);
  font: 700 0.78rem/1.3 Inter, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product-desc {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  padding: 1rem;
  color: var(--lmh-page-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  overflow: visible;
  overflow-wrap: break-word;
  word-break: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product-desc :where(p, li) {
  overflow-wrap: break-word;
  word-break: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product-desc select {
  width: 100%;
  min-height: 44px;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product > footer,
body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product form > footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.8rem;
  min-height: 0;
  margin-top: auto;
  padding: 1rem;
  border: 0;
  border-top: 1px solid rgba(176, 157, 234, 0.18);
  background: rgba(8, 6, 16, 0.42);
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product form {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .product-pricing {
  float: none;
  min-width: 0;
  padding: 0;
  background: transparent;
  color: var(--lmh-page-muted);
  text-align: left;
  line-height: 1.35;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .product-pricing .price {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products :where(.btn-order-now, button[type="submit"]) {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  border-color: #8364ed;
  border-radius: 999px;
  background: #6d4cdb;
  color: #fff;
  font-weight: 800;
  white-space: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewals {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  border: 0;
  background: transparent;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewals .domain-renewal {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--lmh-page-border);
  border-radius: 12px;
  background: rgba(18, 13, 31, 0.88);
  color: var(--lmh-page-text);
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewals .domain-renewal:nth-child(even) {
  background: rgba(24, 17, 40, 0.92);
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal :where(h3, p, label) {
  color: inherit;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal h3 {
  max-width: 70%;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal .label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.3rem 0.6rem;
  border: 1px solid var(--lmh-page-border-strong);
  border-radius: 999px;
  background: rgba(109, 76, 219, 0.28);
  color: #fff;
  white-space: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal .form-horizontal {
  margin-top: 0.85rem;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal .form-group {
  align-items: center;
  margin-bottom: 0.75rem;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal .select-renewal-pricing {
  width: 100%;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .cart-body > .row > :where(.secondary-cart-body, .secondary-cart-sidebar) {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
}

body:is(.lmh-client-shell, .lmh-public-page)[data-templatefile="domain-renewals"] #order-standard_cart .cart-body > .row,
body:is(.lmh-client-shell, .lmh-public-page)[data-templatefile="service-renewals"] #order-standard_cart .cart-body > .row {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(16rem, 0.7fr);
  gap: 1rem;
  margin: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .order-summary {
  border: 1px solid var(--lmh-page-border);
  border-radius: 12px;
  background: rgba(18, 13, 31, 0.94);
  color: var(--lmh-page-text);
  overflow: hidden;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .order-summary :where(h2, .summary-container, #producttotal) {
  color: inherit;
}

body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart #btnGoToCart {
  width: 100%;
  min-height: 44px;
  margin-top: 0.75rem;
  border-radius: 999px;
}

}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-page {
  display: grid;
  place-items: center;
  min-height: min(68vh, 44rem);
  padding: clamp(1rem, 4vw, 3rem);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-card {
  width: min(100%, 44rem);
  padding: clamp(1.4rem, 4vw, 2.6rem);
  border: 1px solid var(--lmh-page-border-strong);
  border-radius: 16px;
  background: rgba(18, 13, 31, 0.94);
  color: var(--lmh-page-text);
  box-shadow: var(--lmh-client-shadow);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-icon {
  margin-bottom: 1rem;
  color: #bca8ff;
  font-size: clamp(2rem, 6vw, 3.5rem);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-code {
  margin: 0 0 0.75rem;
  color: #fff;
  font: 800 clamp(2rem, 8vw, 4rem)/1 Syne, "Segoe UI", sans-serif;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-card :where(h3, p, li) {
  color: inherit;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-error-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

@media not all {
  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media not all {
  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-store-order-page #frmAddToCart > .row:first-of-type {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media not all {
  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products {
    grid-template-columns: minmax(0, 1fr);
  }

  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product > footer,
  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products .product form > footer {
    align-items: stretch;
    flex-direction: column;
  }

  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .products :where(.btn-order-now, button[type="submit"]) {
    width: 100%;
  }

  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal > .pull-right,
  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal > .float-right {
    float: none !important;
    margin-bottom: 0.65rem;
  }

  body:is(.lmh-client-shell, .lmh-public-page) #order-standard_cart .domain-renewal h3 {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content *,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content *::before,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-primary-content *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* Premium support and secure-information surfaces. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-page,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-user-password-page {
  width: 100%;
  max-width: 920px;
  margin-inline: auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-card {
  grid-template-columns: 56px minmax(0, 1fr) minmax(112px, auto);
  padding: 1.1rem;
  border-radius: var(--lmh-client-radius);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-container,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-handle-on,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-handle-off,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-label {
  min-width: 0;
  white-space: nowrap !important;
  word-break: keep-all;
  writing-mode: horizontal-tb;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch { width: 108px !important; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-handle-on,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-toggle .bootstrap-switch-handle-off { width: 44px !important; }

body:is(.lmh-client-shell, .lmh-public-page) .lmh-user-password-form > .lmh-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-user-password-form > .lmh-form-grid > :first-child { grid-column: 1 / -1; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-password-strength-label {
  margin: 0.65rem 0 0.35rem;
  color: var(--lmh-client-muted);
  font-size: 0.78rem;
  font-weight: 750;
}

body:is(.lmh-client-shell, .lmh-public-page) .using-password-strength #passwordStrengthBar {
  height: 10px;
  margin: 0 0 0.75rem !important;
  overflow: hidden;
  border-radius: 999px;
  background: var(--lmh-client-surface-3);
}

body:is(.lmh-client-shell, .lmh-public-page) .using-password-strength #passwordStrengthBar .progress-bar { border-radius: inherit; }

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-panel {
  display: grid;
  gap: 1rem;
  border-color: rgba(155, 130, 255, 0.38);
  background: linear-gradient(145deg, rgba(30, 21, 43, 0.98), rgba(17, 13, 27, 0.98));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-heading h2 { margin: 0; color: var(--lmh-client-text); }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-panel > p { max-width: 72ch; margin: 0; color: var(--lmh-client-muted); }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-panel > .lmh-btn { justify-self: start; }

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-summaries {
  display: grid;
  gap: 0.55rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-summaries > div {
  display: grid;
  grid-template-columns: minmax(10rem, 0.45fr) minmax(0, 1fr);
  padding: 0.75rem 0.85rem;
  gap: 0.75rem;
  border: 1px solid var(--lmh-client-border);
  border-radius: var(--lmh-client-radius-sm);
  background: var(--lmh-client-surface-2);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-summaries span,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-unavailable { color: var(--lmh-client-subtle); font-size: 0.84rem; }

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) .md-editor {
  overflow: hidden;
  border: 1px solid var(--lmh-client-border-strong);
  border-radius: var(--lmh-client-radius-sm);
  background: #0f0b16;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) .md-editor > .md-header {
  display: flex;
  min-height: 48px;
  padding: 6px 8px;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  border: 0;
  border-bottom: 1px solid var(--lmh-client-border);
  background: var(--lmh-client-surface-2);
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) .md-editor .md-header .btn {
  display: inline-grid;
  min-width: 36px;
  min-height: 36px;
  padding: 0.4rem;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--lmh-client-text);
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) .md-editor .md-header .btn:hover {
  border-color: var(--lmh-client-border-strong);
  background: rgba(155, 130, 255, 0.16);
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) .md-editor textarea,
body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-ticket-reply-form, .lmh-ticket-form) textarea.markdown-editor {
  width: 100%;
  min-height: 220px;
  border: 0;
  border-radius: 0;
  background: #0f0b16;
  color: var(--lmh-client-text);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field {
  padding: 1rem;
  border: 1px solid var(--lmh-client-border);
  border-radius: var(--lmh-client-radius-sm);
  background: var(--lmh-client-surface-2);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .lmh-attachment-upload-row { align-items: stretch; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .custom-file { min-width: 0; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .custom-file-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 575px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-sso-card,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-user-password-form > .lmh-form-grid { grid-template-columns: minmax(0, 1fr); }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-user-password-form > .lmh-form-grid > :first-child { grid-column: auto; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-heading,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-summaries > div { grid-template-columns: minmax(0, 1fr); flex-direction: column; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-sensitive-ticket-panel > .lmh-btn { width: 100%; justify-content: center; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .lmh-attachment-upload-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .input-group-append,
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-upload-field .input-group-append .lmh-btn { width: 100%; }
}

/* Final premium journey frame: shared shell around operational routes. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard {
  width: 100%;
  max-width: none;
  padding: clamp(14px, 1.6vw, 22px);
  border: 1px solid var(--lmh-page-border);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(18, 22, 30, 0.92), rgba(15, 19, 26, 0.92));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .lmh-page-card,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .card,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .panel {
  border-radius: 10px !important;
  border-color: var(--lmh-page-border) !important;
  background: var(--lmh-page-surface) !important;
  box-shadow: none !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .table,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .table-list {
  border-color: var(--lmh-page-border) !important;
  background: #121821 !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .table thead th,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .table-list thead th {
  background: #181f2a !important;
  color: var(--lmh-page-text) !important;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-page-shell--standard .lmh-status-pill {
  border-radius: 8px;
}

/* Premium open-ticket journey. Scoped to the owning route and native form. */
body[data-templatefile="supportticketsubmit-steptwo"] #main-body {
  padding: 32px !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-primary-content,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-client-main {
  width: 100%;
  max-width: none !important;
  padding: 0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form {
  width: min(100%, 960px) !important;
  max-width: 960px !important;
  margin: 0 auto 40px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px !important;
  overflow: visible !important;
  border: 1px solid rgba(162, 174, 196, 0.18) !important;
  border-radius: 12px !important;
  background: #11161f !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-page-header {
  display: block;
  margin: 0 0 32px !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid rgba(162, 174, 196, 0.16);
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-page-header .lmh-page-subtitle {
  max-width: 690px;
  margin-top: 10px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-diagnostics,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-custom-fields,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-captcha,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-submit-summary {
  margin: 0 !important;
  padding: 30px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(162, 174, 196, 0.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section--details {
  padding-top: 0 !important;
  border-top: 0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-bottom: 0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-field,
body[data-templatefile="supportticketsubmit-steptwo"] .form-group {
  min-width: 0;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid .lmh-ticket-field,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-field:last-child {
  margin-bottom: 0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-field--subject {
  margin-bottom: 24px !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form label,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section-heading h2 {
  color: #f5f2ff !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form label {
  display: block;
  margin: 0 0 9px !important;
  font-size: 0.875rem !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form :is(.form-control, input[type="text"], input[type="email"], select, textarea) {
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(162, 174, 196, 0.28) !important;
  border-radius: 8px !important;
  background: #0c1118 !important;
  color: #f4f2fb !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form :is(.form-control, input, select, textarea):focus {
  border-color: #9b82ff !important;
  outline: 2px solid rgba(155, 130, 255, 0.2) !important;
  outline-offset: 1px;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .form-control.disabled,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .form-control:disabled {
  opacity: 0.72;
  background: #151a23 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section-heading {
  margin: 0 0 22px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section-heading h2 {
  margin: 3px 0 7px !important;
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section-heading p {
  max-width: 680px;
  margin: 0 !important;
  color: #aeb6c6 !important;
  line-height: 1.65 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section-heading .lmh-ticket-section-kicker {
  color: #ad9aff !important;
  font-size: 0.73rem !important;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body[data-templatefile="supportticketsubmit-steptwo"] [data-lmh-diagnostic-group] > .lmh-ticket-field:last-child {
  margin-bottom: 0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-security-warning {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 24px;
  padding: 16px 18px;
  border-left: 3px solid #8f75ee;
  border-radius: 0 8px 8px 0;
  background: rgba(143, 117, 238, 0.08);
  color: #c9cfda;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-security-warning i {
  margin-top: 3px;
  color: #ad9aff;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-security-warning p {
  margin: 0 !important;
  color: inherit !important;
  line-height: 1.6 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .md-editor {
  overflow: hidden !important;
  border: 1px solid rgba(162, 174, 196, 0.28) !important;
  border-radius: 9px !important;
  background: #090d13 !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .md-editor > .md-header,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .markdown-editor .md-header {
  min-height: 48px;
  padding: 7px 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(162, 174, 196, 0.18) !important;
  background: #151b24 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .md-editor textarea,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form #inputMessage.markdown-editor,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .md-preview {
  min-height: 240px !important;
  padding: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #090d13 !important;
  color: #eef1f7 !important;
  line-height: 1.7 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form .md-editor:focus-within {
  border-color: #9b82ff !important;
  outline: 2px solid rgba(155, 130, 255, 0.18);
  outline-offset: 1px;
}

/* Shared authenticated support editor: Open Ticket, Ticket View and reopened replies. */
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) {
  --lmh-support-editor-canvas: #090c12;
  --lmh-support-editor-toolbar: #151923;
  --lmh-support-editor-status: #11151d;
  --lmh-support-editor-text: #f3f4f6;
  --lmh-support-editor-muted: #9ca3af;
  --lmh-support-editor-placeholder: #8f96a8;
  --lmh-support-editor-link: #b6a7ff;
  --lmh-support-editor-border: rgba(155, 130, 255, 0.34);
  --lmh-support-editor-divider: rgba(162, 174, 196, 0.18);
  --lmh-support-editor-focus: #9b82ff;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border: 1px solid var(--lmh-support-editor-border) !important;
  border-radius: 10px !important;
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
  box-shadow: none !important;
  color-scheme: dark;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor.active,
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor:focus-within {
  border-color: var(--lmh-support-editor-focus) !important;
  outline: 2px solid rgba(155, 130, 255, 0.2) !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > .md-header {
  display: flex !important;
  min-height: 48px;
  padding: 7px 9px !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  border: 0 !important;
  border-bottom: 1px solid var(--lmh-support-editor-divider) !important;
  background: var(--lmh-support-editor-toolbar) !important;
  color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-header .btn {
  width: auto !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 1px !important;
  padding: 0.45rem !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--lmh-support-editor-text) !important;
  font-size: 13px !important;
  opacity: 0.86;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-header .btn:is(:hover, :focus-visible, .active, :active) {
  border-color: rgba(182, 167, 255, 0.5) !important;
  background: rgba(139, 92, 246, 0.2) !important;
  color: #fff !important;
  opacity: 1;
  box-shadow: none !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-header .btn:focus-visible {
  outline: 2px solid var(--lmh-support-editor-focus) !important;
  outline-offset: 1px;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-header .btn:disabled {
  color: var(--lmh-support-editor-muted) !important;
  opacity: 0.42;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor .md-controls {
  padding: 1px !important;
  background: transparent !important;
  color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor .md-control {
  display: inline-grid;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent !important;
  color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor .md-control:is(:hover, :focus-visible) {
  border-color: rgba(182, 167, 255, 0.5);
  background: rgba(139, 92, 246, 0.2) !important;
  color: #fff !important;
  outline: 2px solid transparent;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > textarea.lmh-support-editor,
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) textarea.lmh-support-editor,
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  textarea#inputMessage.lmh-support-editor {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  padding: 18px !important;
  overflow-x: hidden;
  resize: vertical !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
  caret-color: var(--lmh-support-editor-text) !important;
  -webkit-text-fill-color: var(--lmh-support-editor-text) !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  box-shadow: none !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) textarea.lmh-support-editor::placeholder,
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  textarea#inputMessage.lmh-support-editor::placeholder {
  color: var(--lmh-support-editor-placeholder) !important;
  -webkit-text-fill-color: var(--lmh-support-editor-placeholder) !important;
  opacity: 1 !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) textarea.lmh-support-editor::selection,
body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-preview *::selection {
  background: rgba(139, 92, 246, 0.45) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > .md-preview {
  min-height: 240px !important;
  padding: 18px !important;
  overflow-wrap: anywhere;
  border: 0 !important;
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
  font-size: 16px;
  line-height: 1.65;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-preview
  :is(p, h1, h2, h3, h4, h5, h6, li, strong, em, span) {
  color: inherit !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-preview a {
  color: var(--lmh-support-editor-link) !important;
  text-decoration-color: rgba(182, 167, 255, 0.6);
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-preview blockquote {
  margin-inline: 0;
  padding: 0.25rem 0 0.25rem 1rem;
  border-left: 3px solid rgba(155, 130, 255, 0.55);
  color: #c4c9d4 !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-preview :is(code, pre) {
  border-color: var(--lmh-support-editor-divider) !important;
  background: #11151d !important;
  color: #e7e9ee !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > .md-footer {
  min-height: 32px;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--lmh-support-editor-divider) !important;
  background: var(--lmh-support-editor-status) !important;
  color: var(--lmh-support-editor-muted) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-footer .markdown-editor-status {
  min-height: 31px;
  padding: 7px 10px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--lmh-support-editor-muted) !important;
  font-size: 12px !important;
  line-height: 1.4;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor.md-fullscreen-mode {
  padding: 68px 24px 20px !important;
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor.md-fullscreen-mode :is(.md-input, .md-preview) {
  max-width: 980px;
  height: 100% !important;
  margin-inline: auto !important;
  padding: 24px !important;
  border: 0 !important;
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
  caret-color: var(--lmh-support-editor-text) !important;
  -webkit-text-fill-color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  textarea#inputMessage.lmh-support-editor.md-input {
  background: var(--lmh-support-editor-canvas) !important;
  color: var(--lmh-support-editor-text) !important;
  caret-color: var(--lmh-support-editor-text) !important;
  -webkit-text-fill-color: var(--lmh-support-editor-text) !important;
}

body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
  :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor.md-fullscreen-mode .md-header {
  top: 10px;
  background: var(--lmh-support-editor-toolbar) !important;
}

@media (max-width: 767px) {
  body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
    :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > textarea.lmh-support-editor,
  body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
    textarea#inputMessage.lmh-support-editor,
  body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
    :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor > .md-preview {
    height: 210px !important;
    min-height: 210px !important;
    padding: 16px !important;
    font-size: 16px !important;
  }

  body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
    :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-header .btn {
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  body.lmh-client-shell:is([data-templatefile="supportticketsubmit-steptwo"], [data-templatefile="viewticket"])
    :is(.lmh-ticket-form, .lmh-ticket-reply-form) .md-editor.md-fullscreen-mode {
    padding: 64px 16px 16px !important;
  }
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket > summary {
  padding: 0 !important;
  background: transparent !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket[open] > summary {
  margin-bottom: 24px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket__body {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone {
  padding: 24px;
  border: 1px dashed rgba(174, 158, 255, 0.48);
  border-radius: 10px;
  background: #0c1118;
  color: #eef1f7;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone:hover,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone.is-dragging {
  border-color: #ad9aff;
  background: #111522;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone:focus-visible {
  outline: 2px solid #9b82ff;
  outline-offset: 3px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone > .fa-paperclip {
  margin-bottom: 12px;
  color: #ad9aff;
  font-size: 1.2rem;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone__copy {
  display: grid;
  gap: 4px;
  margin-bottom: 18px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone__copy span {
  color: #aeb6c6;
  font-size: 0.875rem;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .attachment-group {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .custom-file {
  min-width: 0;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .custom-file-label {
  height: 46px !important;
  padding: 11px 96px 11px 14px !important;
  border: 1px solid rgba(162, 174, 196, 0.28) !important;
  border-radius: 8px !important;
  background: #151b24 !important;
  color: #dce1eb !important;
  line-height: 22px !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .custom-file-label::after {
  height: 44px !important;
  padding: 11px 14px !important;
  border: 0 !important;
  border-left: 1px solid rgba(162, 174, 196, 0.22) !important;
  border-radius: 0 7px 7px 0 !important;
  background: #1c2330 !important;
  color: #f0edff !important;
  line-height: 22px !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload #btnTicketAttachmentsAdd,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-attachment-remove {
  min-height: 46px !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(162, 174, 196, 0.3) !important;
  border-radius: 8px !important;
  background: #1a202b !important;
  color: #f2efff !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-attachment-remove:hover {
  border-color: #9b82ff !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload-guidance {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  color: #aeb6c6;
  font-size: 0.83rem;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload-guidance p {
  margin: 0 !important;
  color: inherit !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload-warning {
  padding-top: 6px;
  color: #c9cfda !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload-warning i {
  margin-right: 6px;
  color: #ad9aff;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 24px;
  margin: 0;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-summary-grid div {
  min-width: 0;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-summary-grid dt {
  margin-bottom: 5px;
  color: #929cac;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-summary-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #f3f1f8;
  line-height: 1.5;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px !important;
  margin: 0 !important;
  padding: 30px 0 0 !important;
  border-top: 1px solid rgba(162, 174, 196, 0.16) !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions .btn {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center;
  justify-content: center;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions .btn-default {
  min-width: 112px;
  border: 1px solid rgba(162, 174, 196, 0.3) !important;
  background: transparent !important;
  color: #e8eaf0 !important;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions .btn:disabled {
  cursor: wait;
  opacity: 0.72;
}

body[data-templatefile="supportticketsubmit-confirm"] .lmh-ticket-created-next-step {
  max-width: 620px;
  margin: 22px auto 0;
  color: #aeb6c6;
  line-height: 1.7;
  text-align: center;
}

@media (max-width: 1024px) {
  body[data-templatefile="supportticketsubmit-steptwo"] #main-body {
    padding: 28px 24px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-shell {
    padding: 28px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body[data-templatefile="supportticketsubmit-steptwo"] #main-body {
    padding: 20px 18px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form {
    margin-bottom: 28px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-shell {
    padding: 22px 18px !important;
    border-radius: 10px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-page-header {
    margin-bottom: 26px !important;
    padding-bottom: 24px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-section,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-diagnostics,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-custom-fields,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-captcha,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-submit-summary {
    padding: 26px 0 !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-grid--three,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-summary-grid,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket__field--wide {
    grid-column: auto;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-secure-ticket__actions .lmh-btn {
    width: 100%;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form :is(.form-control, input, select, textarea) {
    font-size: 16px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-security-warning {
    padding: 15px;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-dropzone {
    padding: 18px;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .attachment-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload .input-group-append,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-upload #btnTicketAttachmentsAdd,
  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-attachment-remove {
    width: 100% !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-top: 26px !important;
  }

  body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-form-actions .btn {
    width: 100% !important;
  }
}
/* Knowledge base: compact customer actions and a resilient article header. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-popular-card .lmh-kb-article-item {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-popular-card .lmh-kb-article-copy {
  grid-column: auto;
  min-width: 0;
  width: auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-popular-card .lmh-kb-article-copy :is(strong, small) {
  min-width: 0;
  width: auto;
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-popular-card .lmh-kb-article-item > [aria-hidden="true"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-column: auto;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-search-form {
  margin-block: 24px 30px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-search-error {
  margin: 10px 0 0;
  color: #f2b8c6;
  font-size: 0.9rem;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-kb-category-card, .lmh-kb-article-item) > .show-on-card-hover {
  flex: 0 0 auto;
  pointer-events: none;
  white-space: nowrap;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-card {
  width: min(100%, 980px);
  margin-inline: auto;
  overflow: hidden;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 30px 32px 24px;
  border-bottom: 1px solid var(--lmh-client-border, rgba(255, 255, 255, 0.1));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-heading {
  min-width: 0;
  flex: 1 1 auto;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-heading h1 {
  max-width: 22ch;
  margin: 6px 0 0;
  font-size: clamp(1.75rem, 3vw, 2.45rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tag-list,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tags-more-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tag-list {
  margin-top: 18px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tag {
  display: inline-flex;
  max-width: 100%;
  padding: 6px 10px;
  border: 1px solid var(--lmh-client-border, rgba(255, 255, 255, 0.12));
  border-radius: 999px;
  background: var(--lmh-client-surface-2, rgba(255, 255, 255, 0.04));
  color: var(--lmh-client-text-muted, #c8c4d5);
  font-size: 0.78rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tags-more {
  flex-basis: 100%;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tags-more summary {
  width: max-content;
  margin-top: 2px;
  color: var(--lmh-client-accent, #9b7df2);
  cursor: pointer;
  font-size: 0.84rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tags-more summary:focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure:focus-visible {
  outline: 2px solid var(--lmh-client-accent, #9b7df2);
  outline-offset: 3px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-tags-more-list {
  margin-top: 8px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-print {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 94px;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  width: auto !important;
  max-width: max-content;
  min-height: 40px;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  line-height: 1.2;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-content {
  padding: 30px 32px 36px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-helpful-box {
  margin: 0 32px 32px;
  padding-top: 24px;
  border-top: 1px solid var(--lmh-client-border, rgba(255, 255, 255, 0.1));
}

/* Shared sidebar accordions: one compact, keyboard-operable disclosure header. */
body:is(.lmh-client-shell, .lmh-public-page) .card-sidebar > .card-header {
  min-height: 0;
  padding: 0;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure-label {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  font-size: 0.92rem;
  font-weight: 700;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure-label > i {
  width: 16px;
  font-size: 0.85rem;
  text-align: center;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure-label > i.fa-info {
  display: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure .card-minimise {
  float: none !important;
  flex: 0 0 auto;
  margin: 0;
  font-size: 0.75rem;
  transition: transform 160ms ease;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-sidebar-disclosure[aria-expanded="false"] .card-minimise {
  transform: rotate(180deg);
}

body:is(.lmh-client-shell, .lmh-public-page) .card-sidebar .list-group-item {
  min-height: 42px;
  padding: 10px 14px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-xero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 767.98px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-header {
    gap: 18px;
    padding: 24px 20px 20px;
  }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-article-content {
    padding: 24px 20px 30px;
  }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-helpful-box {
    margin: 0 20px 24px;
  }
}

@media (max-width: 575.98px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-print.lmh-btn-secondary { display: none !important; }
  body:is(.lmh-client-shell, .lmh-public-page) :where(.lmh-kb-category-card, .lmh-kb-article-item) > .show-on-card-hover { display: none; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-xero-actions { flex-direction: column; }
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-xero-actions .lmh-btn { width: 100%; }
}

@media print {
  body .lmh-kb-print,
  body .lmh-kb-article-actions,
  body .lmh-kb-related-card,
  body .lmh-client-sidebar,
  body .lmh-client-topbar { display: none !important; }
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion {
  margin: 20px 0;
  border: 1px solid var(--lmh-client-border, rgba(255, 255, 255, 0.1));
  border-radius: 12px;
  background: var(--lmh-client-surface-2, rgba(255, 255, 255, 0.03));
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion > summary {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion > summary::-webkit-details-marker { display: none; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion > summary i { font-size: 0.75rem; transition: transform 160ms ease; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion[open] > summary i { transform: rotate(180deg); }

/* Customer portal utility controls: dark, compact and consistent without changing primary/destructive actions. */
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-default:not(.btn-primary, .btn-success, .btn-danger, .btn-warning),
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-secondary:not(.btn-primary, .btn-success, .btn-danger, .btn-warning),
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).dropdown-toggle.btn-light,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).lmh-btn-secondary {
  display: inline-flex !important;
  min-height: 42px;
  width: auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px !important;
  border: 1px solid rgba(155, 125, 242, 0.48) !important;
  border-radius: 10px !important;
  background: var(--lmh-quiet-bg) !important;
  box-shadow: none !important;
  color: var(--lmh-client-text, var(--lmh-text-strong)) !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  appearance: none;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-default:not(.btn-primary, .btn-success, .btn-danger, .btn-warning):hover,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-secondary:not(.btn-primary, .btn-success, .btn-danger, .btn-warning):hover,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).dropdown-toggle.btn-light:hover,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).lmh-btn-secondary:hover {
  border-color: var(--lmh-client-accent, #9b7df2) !important;
  background: rgba(109, 76, 219, 0.24) !important;
  color: #fff !important;
}

body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-default:not(.btn-primary, .btn-success, .btn-danger, .btn-warning):focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button, input).btn-secondary:not(.btn-primary, .btn-success, .btn-danger, .btn-warning):focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).dropdown-toggle.btn-light:focus-visible,
body:is(.lmh-client-shell, .lmh-public-page) :where(a, button).lmh-btn-secondary:focus-visible {
  outline: 2px solid var(--lmh-client-accent, #9b7df2) !important;
  outline-offset: 3px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-search-form #inputKnowledgebaseSearch {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  z-index: auto !important;
  min-width: 0;
  width: 100% !important;
  height: 44px;
  color: var(--lmh-client-text, var(--lmh-text-strong)) !important;
  background: rgba(255, 255, 255, 0.075) !important;
}
body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion > summary:focus-visible { outline: 2px solid var(--lmh-client-accent, #9b7df2); outline-offset: 3px; }
body:is(.lmh-client-shell, .lmh-public-page) .lmh-filter-accordion .lmh-xero-filters { margin: 0; padding: 4px 14px 14px; }

/* Portal improvement phase 1: compact service context navigation. */
body.lmh-client-shell .lmh-service-context-nav {
  margin: 0 0 24px;
  padding: 10px;
  overflow-x: auto;
  border: 1px solid var(--lmh-client-border, rgba(155, 125, 242, 0.24));
  border-radius: 16px;
  background: var(--lmh-client-surface, #151222);
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

body.lmh-client-shell .lmh-service-context-nav[hidden] {
  display: none !important;
}

body.lmh-client-shell .lmh-service-context-nav ul {
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.lmh-client-shell .lmh-service-context-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--lmh-client-text-muted, #c4bed4);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

body.lmh-client-shell .lmh-service-context-nav__link:hover {
  border-color: var(--lmh-client-border, rgba(155, 125, 242, 0.3));
  color: var(--lmh-client-text, #ffffff);
  text-decoration: none;
}

body.lmh-client-shell .lmh-service-context-nav__link.is-active,
body.lmh-client-shell .lmh-service-context-nav__link[aria-current="location"] {
  border-color: rgba(155, 125, 242, 0.5);
  background: rgba(124, 92, 230, 0.18);
  color: #ffffff;
}

body.lmh-client-shell .lmh-service-context-nav__link:focus-visible {
  outline: 2px solid var(--lmh-client-accent, #9b7df2);
  outline-offset: 2px;
}

body.lmh-client-shell .lmh-service-anchor-target {
  scroll-margin-top: 24px;
}

/* Portal improvement phase 1: unified client-side invoice history controls. */
body.lmh-client-shell .lmh-invoice-history-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(190px, 230px) auto;
  align-items: end;
  gap: 14px;
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid var(--lmh-client-border, rgba(155, 125, 242, 0.24));
  border-radius: 18px;
  background: var(--lmh-client-surface, #151222);
}

body.lmh-client-shell .lmh-invoice-history-controls__field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

body.lmh-client-shell .lmh-invoice-history-controls__field label {
  margin: 0;
  color: var(--lmh-client-text, #ffffff);
  font-size: 0.8125rem;
  font-weight: 850;
}

body.lmh-client-shell .lmh-invoice-history-controls :where(.lmh-search-control, .lmh-filter-select) {
  width: 100%;
  min-height: 44px;
  margin: 0;
}

body.lmh-client-shell .lmh-invoice-filter-count {
  grid-column: 1 / -1;
  margin: -2px 0 0;
  color: var(--lmh-client-text-muted, #c4bed4);
  font-size: 0.8125rem;
  font-weight: 700;
}

body.lmh-client-shell [data-lmh-invoice-record][hidden],
body.lmh-client-shell .lmh-invoice-no-match[hidden] {
  display: none !important;
}

/* Portal improvement phase 1: status-first domain records on compact screens. */
body.lmh-client-shell .lmh-domain-mobile-list {
  display: none;
}

@media (max-width: 767px) {
  body.lmh-client-shell .lmh-service-context-nav {
    margin-bottom: 20px;
    padding: 8px;
  }

  body.lmh-client-shell .lmh-service-context-nav__link {
    min-height: 42px;
    padding-inline: 13px;
  }

  body.lmh-client-shell .lmh-invoice-history-controls {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px;
  }

  body.lmh-client-shell .lmh-invoice-history-controls .lmh-btn {
    width: 100%;
  }

  body.lmh-client-shell .lmh-invoice-filter-count {
    grid-column: auto;
  }

  body.lmh-client-shell .lmh-domains-page .lmh-domain-actions,
  body.lmh-client-shell .lmh-domains-page .lmh-domains-table-wrap {
    display: none !important;
  }

  body.lmh-client-shell .lmh-domain-mobile-list {
    display: grid;
    gap: 14px;
  }

  body.lmh-client-shell .lmh-domain-mobile-record {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--lmh-client-border, rgba(155, 125, 242, 0.24));
    border-radius: 18px;
    background: var(--lmh-client-surface, #151222);
  }

  body.lmh-client-shell .lmh-domain-mobile-record__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__name {
    min-width: 0;
    color: var(--lmh-client-text, #ffffff);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin: 18px 0 0;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__facts div {
    min-width: 0;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__facts dt {
    margin: 0 0 4px;
    color: var(--lmh-client-text-muted, #c4bed4);
    font-size: 0.75rem;
    font-weight: 750;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__facts dd {
    margin: 0;
    color: var(--lmh-client-text, #ffffff);
    font-size: 0.875rem;
    font-weight: 800;
    overflow-wrap: anywhere;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__notice {
    margin: 14px 0 0;
    color: var(--lmh-client-warning, #ffd08a);
    font-size: 0.8125rem;
    font-weight: 750;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--lmh-client-border, rgba(155, 125, 242, 0.2));
  }
}

@media (max-width: 390px) {
  body.lmh-client-shell .lmh-domain-mobile-record {
    padding: 16px;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__header {
    display: grid;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__header .status {
    justify-self: start;
  }

  body.lmh-client-shell .lmh-domain-mobile-record__facts {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.lmh-client-shell .lmh-service-context-nav__link {
    transition: none;
  }
}
.lmh-kb-search-form #inputKnowledgebaseSearch {
    display: block !important;
    flex: 1 1 auto;
    min-width: 0;
}

/* Phase 2: Account Details progressive disclosure */
body.lmh-client-shell .lmh-account-details-page .lmh-route-workspace {
  max-width: 980px;
}

body.lmh-client-shell .lmh-account-details-form {
  display: grid;
  gap: 28px;
}

body.lmh-client-shell .lmh-account-accordions {
  overflow: hidden;
  border: 1px solid var(--lmh-page-border);
  border-radius: 14px;
  background: var(--lmh-page-surface);
}

body.lmh-client-shell .lmh-account-section + .lmh-account-section {
  border-top: 1px solid var(--lmh-page-border);
}

body.lmh-client-shell .lmh-account-section > h2 {
  margin: 0;
  font: inherit;
}

body.lmh-client-shell .lmh-account-section-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  min-height: 76px;
  border: 0;
  padding: 18px 26px;
  background: transparent;
  color: var(--lmh-page-text);
  text-align: left;
  cursor: pointer;
}

body.lmh-client-shell .lmh-account-section-toggle:hover {
  background: rgba(155, 130, 255, 0.07);
}

body.lmh-client-shell .lmh-account-section-toggle:focus-visible,
body.lmh-client-shell .lmh-account-security-links a:focus-visible {
  outline: 3px solid rgba(173, 149, 255, 0.78);
  outline-offset: -3px;
}

body.lmh-client-shell .lmh-account-section-toggle > span {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body.lmh-client-shell .lmh-account-section-toggle strong {
  color: var(--lmh-text-strong);
  font: 750 1rem/1.25 Inter, "Segoe UI", sans-serif;
}

body.lmh-client-shell .lmh-account-section-toggle small,
body.lmh-client-shell .lmh-field-help {
  color: var(--lmh-page-muted);
  font: 500 0.84rem/1.5 Inter, "Segoe UI", sans-serif;
}

body.lmh-client-shell .lmh-account-section-toggle i {
  flex: 0 0 auto;
  transition: transform 180ms ease;
}

body.lmh-client-shell .lmh-account-section-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

body.lmh-client-shell .lmh-account-section-panel {
  padding: 2px 26px 28px;
}

body.lmh-client-shell .lmh-account-section-panel[hidden],
body.lmh-client-shell .lmh-validation-summary[hidden] {
  display: none;
}

body.lmh-client-shell .lmh-account-section-panel .lmh-form-grid {
  margin: 0;
}

body.lmh-client-shell .lmh-account-details-form :is(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--lmh-page-danger-border) !important;
  box-shadow: 0 0 0 3px rgba(245, 116, 133, 0.16);
}

body.lmh-client-shell .lmh-validation-summary {
  border: 1px solid var(--lmh-page-danger-border);
  border-radius: 12px;
  padding: 18px 20px;
  background: var(--lmh-page-danger-bg);
  color: #ffe7ea;
}

body.lmh-client-shell .lmh-validation-summary h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 1rem;
}

body.lmh-client-shell .lmh-validation-summary p {
  margin: 0 0 8px;
}

body.lmh-client-shell .lmh-validation-summary ul {
  margin: 0;
  padding-left: 1.2rem;
}

body.lmh-client-shell .lmh-validation-summary a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.lmh-client-shell .lmh-account-security-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

body.lmh-client-shell .lmh-account-security-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid var(--lmh-page-border);
  border-radius: 9px;
  padding: 9px 14px;
  color: var(--lmh-page-text);
  text-decoration: none;
}

body.lmh-client-shell .lmh-marketing-preference {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--lmh-page-border);
}

body.lmh-client-shell .lmh-account-details-form [aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.7;
}

/* Phase 2: legacy status route compatibility handoff */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 30px 32px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff__copy {
  max-width: 700px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff__copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff__copy p,
body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff__note {
  color: var(--lmh-page-muted);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-status-handoff__note {
  margin: 16px 2px 0;
  font-size: 0.85rem;
}
/* Portal consolidation: canonical records, support and manual-domain journeys. */
.lmh-dashboard-compact-summary,
.lmh-domain-record__facts,
.lmh-billing-document dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
    margin: 0;
}

.lmh-dashboard-compact-summary div,
.lmh-domain-record__facts div,
.lmh-billing-document dl div {
    min-width: 0;
}

.lmh-dashboard-compact-summary dt,
.lmh-domain-record__facts dt,
.lmh-billing-document dt {
    margin-bottom: 4px;
    color: var(--lmh-text-muted);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lmh-dashboard-compact-summary dd,
.lmh-domain-record__facts dd,
.lmh-billing-document dd {
    margin: 0;
}

.lmh-domain-records,
.lmh-billing-document-list,
.lmh-support-choice-list {
    display: grid;
    gap: 18px;
}

.lmh-domain-record,
.lmh-billing-document {
    display: grid;
    grid-template-columns: minmax(220px, 1.15fr) minmax(280px, 1.5fr) auto auto;
    gap: 24px;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid var(--lmh-border);
}

.lmh-domain-record:last-child,
.lmh-billing-document:last-child {
    border-bottom: 0;
}

.lmh-domain-record h3,
.lmh-billing-document h3 {
    margin: 5px 0;
}

.lmh-support-hub {
    margin-bottom: 32px;
}

.lmh-support-choice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    padding: 18px 22px;
    color: inherit;
    border: 1px solid var(--lmh-border);
    border-radius: var(--lmh-radius);
    text-decoration: none;
}

.lmh-support-choice:hover,
.lmh-support-choice:focus-visible {
    color: inherit;
    border-color: var(--lmh-accent);
    text-decoration: none;
}

.lmh-support-choice span:first-child {
    display: grid;
    gap: 4px;
}

.lmh-support-choice small {
    color: var(--lmh-text-muted);
}

.lmh-context-details {
    margin-top: 28px;
    padding: 20px 24px;
    border-top: 1px solid var(--lmh-border);
    border-bottom: 1px solid var(--lmh-border);
}

.lmh-context-details summary {
    cursor: pointer;
    font-weight: 700;
}

.lmh-context-details > div {
    padding-top: 16px;
    max-width: 760px;
}

.lmh-service-hero h1 span {
    color: var(--lmh-text-muted);
    font-size: .72em;
    font-weight: 600;
}

.lmh-service--email #cPanelWordPress,
.lmh-service--email #cPanelFileManager,
.lmh-service--email #cPanelBackup,
.lmh-service--email #cPanelDomains,
.lmh-service--email #cPanelCronJobs,
.lmh-service--email #cPanelMySQLDatabases,
.lmh-service--email #cPanelPhpMyAdmin,
.lmh-service--email #cPanelAwstats,
.lmh-service--email #cPanelWptk,
.lmh-service--website #cPanelEmailAccounts,
.lmh-service--website #cPanelForwarders,
.lmh-service--website #cPanelAutoResponders,
.lmh-service--website #cPanelQuickEmailPanel,
.lmh-cpanel-service-page #cPanelBillingOverviewPanel {
    display: none !important;
}

/* Managed-service workspaces are operational surfaces, not store journeys. */
.lmh-cpanel-service-page:is(.lmh-service--managed, .lmh-service--paid_in_full) .lmh-cpanel-overview .promo-container {
    display: none !important;
}

.lmh-launch-readiness .lmh-panel-body {
    display: grid;
    gap: 14px;
}

.lmh-launch-readiness .lmh-btn {
    justify-self: start;
    margin-top: 8px;
}

@media (max-width: 1024px) {
    .lmh-domain-record,
    .lmh-billing-document {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .lmh-domain-record,
    .lmh-billing-document {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 22px 0;
    }

    .lmh-dashboard-compact-summary,
    .lmh-domain-record__facts,
    .lmh-billing-document dl {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .lmh-support-choice {
        min-height: 64px;
        padding: 16px 18px;
    }

    .lmh-service-hero h1 span {
        display: block;
        margin-top: 6px;
    }
}

/* Portal consolidation Run 2: accessible validation, contextual help and mobile records. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-validation-summary[hidden],
body:is(.lmh-client-shell, .lmh-public-page) .lmh-ticket-kb-suggestions[hidden] {
    display: none !important;
}

body:is(.lmh-client-shell, .lmh-public-page) :is(
    .lmh-ticket-form,
    .lmh-kb-search-form,
    #frmDomainHomepage,
    .lmh-secure-ticket
) :is(input, select, textarea)[aria-invalid="true"] {
    border-color: var(--lmh-page-danger-border, #f57485) !important;
    box-shadow: 0 0 0 3px rgba(245, 116, 133, .16);
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-validation-summary {
    margin: 0 0 24px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-validation-summary :is(h2, h3) {
    margin: 0 0 6px;
    color: #fff;
    font-size: 1rem;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-field-help {
    display: block;
    margin-top: 8px;
    color: var(--lmh-text-muted);
    line-height: 1.5;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-kb-suggestions {
    margin: 28px 0;
    padding: 24px 0;
    border-block: 1px solid var(--lmh-page-border);
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestions {
    display: grid;
    gap: 18px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestions .lmh-section-heading {
    margin: 0;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestions-list {
    display: grid;
    gap: 12px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--lmh-page-border);
    border-radius: 10px;
    background: var(--lmh-page-surface);
    color: var(--lmh-page-text);
    text-decoration: none;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-card:hover {
    border-color: var(--lmh-page-focus);
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-card:focus-visible,
body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-continue:focus-visible {
    outline: 3px solid rgba(139, 114, 232, .45);
    outline-offset: 3px;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-content :is(h3, p) {
    margin: 0;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-content p {
    margin-top: 5px;
    color: var(--lmh-text-muted);
    line-height: 1.5;
}

body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-continue {
    margin-top: 16px;
}

@media (max-width: 430px) {
    body.lmh-client-shell :is(.lmh-domain-record, .lmh-billing-document) {
        gap: 12px;
        padding-block: 18px;
    }

    body.lmh-client-shell :is(.lmh-domain-record__facts, .lmh-billing-document dl) {
        gap: 10px 14px;
    }

    body.lmh-client-shell .lmh-domain-record__identity p {
        margin-bottom: 0;
    }

    body[data-templatefile="supportticketsubmit-steptwo"] .lmh-ticket-kb-suggestions {
        margin-block: 22px;
        padding-block: 20px;
    }

    body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-card {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 14px;
    }

    body[data-templatefile="supportticketsubmit-steptwo"] .lmh-kb-suggestion-icon {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-suggestion-card {
        scroll-behavior: auto;
        transition: none !important;
    }
}

/* Knowledge base: category cards.
 * The icon element was removed from knowledgebase.tpl, but the base rule in
 * littlemoo-custom.css still declares the three-track grid that positioned it
 * (52px icon | minmax(0,1fr) copy | auto count). With only two children left,
 * the copy span inherited the fixed 52px icon track and the count pill took the
 * 1fr track, so every title and description was squeezed into 52px and broke
 * character by character. The card is laid out as a column here so that it no
 * longer depends on an element the template does not render.
 */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-categories {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

/* Two columns from tablet upwards. The knowledge base renders inside the
 * col-lg-8/col-xl-9 primary column, so the widest available track is roughly
 * 860px; a third column there would leave each card too narrow to read.
 */
@media (min-width: 700px) {
  body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  height: 100%;
  min-width: 0;
  padding: 22px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

/* .lmh-primary-content sets overflow-wrap:anywhere for legacy provider markup;
 * curated card copy must wrap on word boundaries instead.
 */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-copy :is(strong, small) {
  max-width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-copy strong {
  line-height: 1.25;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-copy small {
  font-size: 0.875rem;
  line-height: 1.5;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 0;
  margin-top: 20px;
}

body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-footer .lmh-kb-count {
  flex: 0 0 auto;
  width: fit-content;
  max-width: 100%;
}

/* Keyboard focus must remain visible, including while the card is hovered. */
body:is(.lmh-client-shell, .lmh-public-page) .lmh-kb-category-card:focus-visible {
  outline: 3px solid #23b7ad;
  outline-offset: 3px;
}

/* =========================================================================
   Billing information page - templates/littlemoo/clientareainvoices.tpl

   This route is not a billing area. Little Moo Hosting billing runs through
   Xero, so /clientarea.php?action=invoices explains where the invoice comes
   from and offers the three routes a customer actually wants. The styling is
   deliberately quiet: this is an explanation, not a dashboard, and it should
   not look like the invoice table it replaces.
   ========================================================================= */
.lmh-billing-info-page .lmh-billing-info-lead {
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--lmh-text, #F4F2F6);
    max-width: 60ch;
}

.lmh-billing-info-page .lmh-panel-body > p {
    max-width: 62ch;
    color: var(--lmh-text-muted, #B8B8C2);
    line-height: 1.65;
}

/* Set apart because it answers the question the page invites: "are these the
   same login?" It is informational, so it takes the info token, never the
   success or warning ones. */
.lmh-billing-info-page .lmh-billing-info-note {
    margin-top: 1.25rem;
    padding: .875rem 1rem;
    border-left: 3px solid var(--lmh-info, #A28CFF);
    background: var(--lmh-info-surface, rgba(162, 140, 255, .08));
    font-size: .9375rem;
}

.lmh-billing-info-page .lmh-billing-info-routes {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.lmh-billing-info-page .lmh-billing-info-routes > li {
    display: grid;
    grid-template-columns: minmax(12rem, max-content) 1fr;
    gap: .25rem 1.25rem;
    align-items: center;
}

.lmh-billing-info-page .lmh-billing-info-routes > li > span {
    color: var(--lmh-text-muted, #B8B8C2);
    font-size: .9375rem;
    line-height: 1.55;
}

/* Below the sidebar breakpoint the two-column row stops earning its keep:
   the action stacks above its explanation and the button spans the width so
   it stays an easy target. */
@media (max-width: 767px) {
    .lmh-billing-info-page .lmh-billing-info-routes > li {
        grid-template-columns: 1fr;
        gap: .5rem;
    }
    .lmh-billing-info-page .lmh-billing-info-routes .lmh-btn {
        width: 100%;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* --------------------------------------------------------------------------
   Native service management: usage meters, domain list, Advanced Control
   --------------------------------------------------------------------------
   These panels sit inside the existing .lmh-panel structure on the service
   page, so they inherit its surface, border and padding and only add what is
   genuinely new: a usage meter, and a grid of Advanced Control actions.
   -------------------------------------------------------------------------- */

.lmh-meters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
}

.lmh-meter__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.lmh-meter__label { font-size: 14px; color: var(--lmh-client-text); }

.lmh-meter__value {
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    color: var(--lmh-client-text-muted);
}

.lmh-meter__track {
    height: 6px;
    border-radius: 999px;
    background: var(--lmh-client-bg);
    border: 1px solid var(--lmh-client-border);
    overflow: hidden;
}

.lmh-meter__fill {
    display: block;
    height: 100%;
    background: var(--lmh-accent, #6D4CDB);
    border-radius: 999px;
}

/* Nearly full is worth saying in colour as well as in words, but it must not
   be the ONLY way it is said - the percentage is in the text beneath. */
.lmh-meter--warn .lmh-meter__fill { background: var(--lmh-warning, #C2410C); }

.lmh-meter__foot {
    margin-top: 6px;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
}

.lmh-service-domains .lmh-pill { margin-left: 8px; }

.lmh-service-ns { margin-top: 16px; }

/* Inline contextual help: a quiet row of knowledgebase links under a section,
   not a call to action competing with the controls above it. */
.lmh-help-inline {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--lmh-client-border);
    font-size: 13px;
    color: var(--lmh-client-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: baseline;
}

.lmh-help-inline a { color: var(--lmh-client-text); }

.lmh-advanced-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
}

.lmh-advanced-action {
    display: block;
    height: 100%;
    padding: 14px;
    border: 1px solid var(--lmh-client-border);
    border-radius: 10px;
    background: var(--lmh-client-bg);
    text-decoration: none;
    color: var(--lmh-client-text);
}

.lmh-advanced-action:hover,
.lmh-advanced-action:focus-visible {
    border-color: var(--lmh-accent, #6D4CDB);
    text-decoration: none;
}

.lmh-advanced-action .lmh-icon { color: var(--lmh-client-text-muted); }

.lmh-advanced-action__label {
    display: block;
    margin: 8px 0 4px;
    font-weight: 500;
    font-size: 14px;
}

.lmh-advanced-action__note {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    color: var(--lmh-client-text-muted);
}

@media (max-width: 560px) {
    .lmh-meters { grid-template-columns: minmax(0, 1fr); }
    .lmh-advanced-grid { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------------------------------------------------
   Onboarding checklists and the migration progress track
   -------------------------------------------------------------------------- */

.lmh-onb-progress {
    height: 6px;
    border-radius: 999px;
    background: var(--lmh-client-bg);
    border: 1px solid var(--lmh-client-border);
    overflow: hidden;
    margin-top: 12px;
}

.lmh-onb-progress > span {
    display: block;
    height: 100%;
    background: var(--lmh-accent, #6D4CDB);
    border-radius: 999px;
}

.lmh-onb-steps { margin: 0; padding: 0; list-style: none; }

.lmh-onb-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px var(--lmh-portal-panel-pad);
    border-top: 1px solid var(--lmh-client-border);
}

/* The tick box. Its state is never carried by colour alone - the pill or the
   button beside it says the same thing in words. */
.lmh-onb-step__mark {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
    border: 1px solid var(--lmh-client-border);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.lmh-onb-step.is-done .lmh-onb-step__mark {
    background: var(--lmh-success, #067647);
    border-color: var(--lmh-success, #067647);
}

.lmh-onb-step__body { flex: 1 1 auto; min-width: 0; }

.lmh-onb-step__body strong {
    display: block;
    font-weight: 500;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.lmh-onb-step.is-done .lmh-onb-step__body strong { color: var(--lmh-client-text-muted); }

.lmh-onb-step__body > span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--lmh-client-text-muted);
    overflow-wrap: anywhere;
}

.lmh-onb-step__guides {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin-top: 6px;
    font-size: 13px;
}

.lmh-onb-step__guides a { color: var(--lmh-client-text); }

.lmh-onb-step__act {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.lmh-onb-form { margin: 0; }

@media (max-width: 640px) {
    .lmh-onb-step { flex-wrap: wrap; }
    .lmh-onb-step__act { margin-left: 32px; }
}

/* -------- migration progress track -------- */

.lmh-mig-track {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.lmh-mig-track__step { position: relative; padding-top: 18px; }

.lmh-mig-track__dot {
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: var(--lmh-client-bg);
    border: 2px solid var(--lmh-client-border);
}

/* The connecting line sits behind the dots and stops at the last step. */
.lmh-mig-track__step::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 12px;
    right: -8px;
    height: 2px;
    background: var(--lmh-client-border);
}

.lmh-mig-track__step:last-child::after { display: none; }

.lmh-mig-track__step.is-done .lmh-mig-track__dot,
.lmh-mig-track__step.is-current .lmh-mig-track__dot {
    background: var(--lmh-accent, #6D4CDB);
    border-color: var(--lmh-accent, #6D4CDB);
}

.lmh-mig-track__step.is-done::after { background: var(--lmh-accent, #6D4CDB); }

.lmh-mig-track__label {
    display: block;
    font-size: 13px;
    line-height: 1.4;
    color: var(--lmh-client-text-muted);
}

.lmh-mig-track__step.is-current .lmh-mig-track__label {
    color: var(--lmh-client-text);
    font-weight: 500;
}

.lmh-mig-track__label em { font-style: normal; color: var(--lmh-accent, #6D4CDB); }

/* Four abbreviated columns do not read on a phone; the track becomes a list. */
@media (max-width: 640px) {
    .lmh-mig-track { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .lmh-mig-track__step { padding: 0 0 12px 22px; }
    .lmh-mig-track__dot { top: 3px; }
    .lmh-mig-track__step::after {
        top: 15px; left: 5px; right: auto;
        width: 2px; height: calc(100% - 15px);
    }
}

/* -------- the dashboard setup preview -------- */

.lmh-onb-preview { margin: 0; padding: 0; list-style: none; }

.lmh-onb-preview > li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px var(--lmh-portal-panel-pad);
}

.lmh-onb-preview > li + li { border-top: 1px solid var(--lmh-client-border); }

.lmh-onb-preview__main { flex: 1 1 auto; min-width: 0; }
.lmh-onb-preview__main strong { display: block; font-size: 14px; font-weight: 500; }

.lmh-onb-preview__main span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
}

/* --------------------------------------------------------------------------
   Smart support: context, suggestions and the credentials note
   --------------------------------------------------------------------------
   The suggestion block is deliberately quiet. It sits after the message and
   before the captcha, and it is styled as a note rather than a call to action:
   it must never read as a gate between the customer and the submit button.
   -------------------------------------------------------------------------- */

.lmh-support-context,
.lmh-support-suggest,
.lmh-support-secure-note {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid var(--lmh-client-border);
    border-radius: 10px;
    background: var(--lmh-client-bg);
    font-size: 14px;
    line-height: 1.5;
}

.lmh-support-context strong,
.lmh-support-suggest h2,
.lmh-support-secure-note strong {
    display: block;
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 600;
    color: var(--lmh-client-text);
}

.lmh-support-context ul,
.lmh-support-suggest ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lmh-support-context li,
.lmh-support-suggest li {
    padding: 3px 0;
    overflow-wrap: anywhere;
}

.lmh-support-context li a { margin-left: 8px; font-size: 13px; }

.lmh-support-context p,
.lmh-support-suggest p,
.lmh-support-secure-note p {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
}

/* The one place a warning tone is earned: it is telling the customer not to
   do the thing the form otherwise invites. */
.lmh-support-secure-note {
    border-left: 3px solid var(--lmh-warning, #C2410C);
}

.lmh-ticket-related {
    margin: 0 0 14px;
    font-size: 14px;
}

.lmh-ticket-related strong {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
}

.lmh-ticket-related ul { margin: 0; padding: 0; list-style: none; }

.lmh-ticket-related li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 0;
}

.lmh-ticket-related .lmh-icon { color: var(--lmh-client-text-muted); }

/* --------------------------------------------------------------------------
   Activity timeline
   --------------------------------------------------------------------------
   A list with a spine, not a card grid. Each row is one line of text and a
   date; the connecting line stops at the last item so it does not trail off
   into empty space.
   -------------------------------------------------------------------------- */

.lmh-timeline { margin: 0; padding: 0; list-style: none; }

.lmh-timeline__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px var(--lmh-portal-panel-pad) 12px 0;
    margin-left: var(--lmh-portal-panel-pad);
}

.lmh-timeline__item + .lmh-timeline__item { border-top: 1px solid var(--lmh-client-border); }

.lmh-timeline__dot {
    position: relative;
    flex: none;
    width: 26px;
    height: 26px;
    margin-top: 1px;
    border-radius: 999px;
    border: 1px solid var(--lmh-client-border);
    background: var(--lmh-client-bg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--lmh-client-text-muted);
    z-index: 1;
}

/* Tone by event type, but never the only signal - the title always says what
   happened in words. */
.lmh-timeline__item--billing  .lmh-timeline__dot { color: var(--lmh-accent, #6D4CDB); }
.lmh-timeline__item--security .lmh-timeline__dot { color: var(--lmh-success, #067647); }
.lmh-timeline__item--migration .lmh-timeline__dot { color: var(--lmh-accent, #6D4CDB); }

.lmh-timeline__body { flex: 1 1 auto; min-width: 0; }

.lmh-timeline__body strong {
    display: block;
    font-weight: 500;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.lmh-timeline__body strong a { color: var(--lmh-client-text); }

.lmh-timeline__body span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--lmh-client-text-muted);
    overflow-wrap: anywhere;
}

.lmh-timeline__when {
    flex: none;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
    white-space: nowrap;
    padding-top: 4px;
}

@media (max-width: 560px) {
    /* The date moves under the text rather than squeezing the title into a
       narrow column beside it. */
    .lmh-timeline__item { flex-wrap: wrap; }
    .lmh-timeline__when { width: 100%; padding: 4px 0 0 38px; }
}

/* -------- contextual help, used across service, billing and documents ----- */

.lmh-context-help {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--lmh-client-border);
    font-size: 13px;
    color: var(--lmh-client-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: baseline;
}

.lmh-context-help a { color: var(--lmh-client-text); }

/* -------- the platform status strip on a service page -------- */

.lmh-status-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 var(--lmh-portal-gap, 16px);
    padding: 10px 14px;
    border: 1px solid var(--lmh-client-border);
    border-left-width: 3px;
    border-radius: 10px;
    background: var(--lmh-client-bg);
    font-size: 14px;
}

.lmh-status-strip--warn { border-left-color: var(--lmh-warning, #C2410C); }
.lmh-status-strip--bad  { border-left-color: var(--lmh-danger, #B42318); }

.lmh-status-strip__body { flex: 1 1 auto; min-width: 0; }
.lmh-status-strip__body strong { display: block; font-weight: 500; }

.lmh-status-strip__body span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: var(--lmh-client-text-muted);
}
