/* Prevent task drawer sidebar from affecting app shell/aside layout */
.lppd-task-drawer__sidebar {
  position: static !important;
  width: auto !important;
  max-width: 100%;
  box-shadow: none !important;
  z-index: auto;
  grid-column: auto;
}
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");

.lppd-dashboard {
    box-sizing: border-box;
    max-width: 100%;
    margin: 0 auto;
    padding: 1.75rem clamp(1rem, 3vw, 1.5rem) 2.5rem;
    font-family: var(--lppd-font-sans);
    background: var(--lppd-page-glow, transparent), linear-gradient(180deg, var(--lppd-bg-0) 0%, #060912 100%);
    background-attachment: fixed;
    color: var(--lppd-text);
    min-height: 100%;
}

/* Primary surfaces — parity with site.html `.dashboard-card` / `.lppd-rail-card` */
.lppd-dashboard .lppd-card, .lppd-theme-dark .lppd-card {
    border-radius: var(--lppd-radius);
    background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    padding: 1.25rem 1.35rem;
    width: stretch;
    background-position: center;
}

.lppd-dashboard .lppd-card.lppd-card--tight,
.lppd-theme-dark .lppd-card.lppd-card--tight {
  padding: 0.95rem 1.05rem;
}

.lppd-dashboard__title {
  margin: 0 0 0.75rem;
  font-family: var(--lppd-font-display, inherit);
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--lppd-text);
  line-height: 1.15;
}

.lppd-dashboard .lppd-app-header .lppd-dashboard__title {
  color: rgba(255, 255, 255, 0.98);
}

.lppd-dashboard__muted {
  color: var(--lppd-text-muted);
}

.lppd-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.9rem;
}

@media (min-width: 700px) {
  .lppd-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .lppd-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.lppd-card--tight {
  padding: 0.9rem;
}

.lppd-card--spaced-top {
  margin-top: 1.5rem;
}

.lppd-form--spaced {
  margin-bottom: 1rem;
}

.lppd-form--tight {
  margin-top: 0.5rem;
}

.lppd-stack--tight {
  margin-top: 0.5rem;
}

.lppd-app-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* Single main column: avoid reserving the rail column when `.lppd-app-rail` is omitted (shortcodes). */
.lppd-app-shell--content-only {
  grid-template-columns: 1fr;
}

.lppd-app-main {
  min-width: 0;
}

.lppd-app-rail {
  min-width: 0;
}

@media (min-width: 1024px) {
  .lppd-app-shell {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 1.25rem;
    align-items: start;
  }

  .lppd-app-shell--content-only {
    grid-template-columns: minmax(0, 1fr);
  }

  .lppd-app-rail {
    position: sticky;
    top: 1rem;
  }
}

.lppd-project-context-shell__primary {
  width: 100%;
}

.lppd-topbar {
  border: 1px solid rgba(51, 65, 85, 0.65);
  border-radius: var(--lppd-radius);
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  padding: 0.65rem 0.85rem;
  margin-bottom: 1.1rem;
}

.lppd-topbar__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lppd-topbar__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.95rem;
  border-radius: 1rem;
  border: 1px solid transparent;
  color: rgba(203, 213, 225, 0.95);
  text-decoration: none;
  background: rgba(15, 23, 42, 0.35);
  font-size: 0.875rem;
  font-weight: 600;
}

.lppd-topbar__link:hover,
.lppd-topbar__link:focus {
  border-color: rgba(51, 65, 85, 0.9);
  color: rgba(255, 255, 255, 0.98);
  text-decoration: none;
}

.lppd-topbar__link.is-active {
  border-color: rgba(56, 189, 248, 0.45);
  background: rgba(15, 23, 42, 0.75);
  color: rgba(255, 255, 255, 0.98);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.12);
}

/* Digital store link — emerald accent (parity with site.html) */
.lppd-topbar__link--store {
  color: rgba(52, 211, 153, 0.95);
  border-color: rgba(16, 185, 129, 0.22);
  background: rgba(6, 78, 59, 0.12);
}

.lppd-topbar__link--store:hover,
.lppd-topbar__link--store:focus {
  color: rgba(167, 243, 208, 0.98);
  border-color: rgba(52, 211, 153, 0.4);
}

.lppd-topbar__link--store.is-active {
  border-color: rgba(52, 211, 153, 0.45);
  box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.15);
}

.lppd-topbar__spacer {
  flex: 1;
}

.lppd-topbar__timer-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
  max-width: 14rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.35);
  background: rgba(14, 165, 233, 0.12);
  color: rgba(224, 242, 254, 0.98);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.lppd-topbar__timer-chip:hover,
.lppd-topbar__timer-chip:focus-visible {
  border-color: rgba(56, 189, 248, 0.55);
  background: rgba(14, 165, 233, 0.2);
  outline: none;
}

.lppd-topbar__timer-elapsed {
  font-variant-numeric: tabular-nums;
  min-width: 4.75rem;
  text-align: right;
}

.lppd-topbar__timer-label {
  font-weight: 500;
  opacity: 0.92;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lppd-topbar__stripe {
  font-size: 0.82rem;
  white-space: nowrap;
}

.lppd-topbar__stripe.is-pending {
  border-color: rgba(251, 191, 36, 0.45);
  color: rgba(252, 211, 77, 0.98);
}

.lppd-topbar__stripe.is-ready {
  border-color: rgba(52, 211, 153, 0.4);
  color: rgba(167, 243, 208, 0.98);
}

/* Inline status below top bar (Stripe ready copy, optional errors) */
.lppd-app-toast {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  padding: 0.55rem 0.85rem;
  border-radius: var(--lppd-radius);
  border: 1px solid var(--lppd-border);
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--lppd-text);
  background: var(--lppd-bg-2);
}

.lppd-app-toast__body {
  flex: 1 1 auto;
  min-width: 0;
}

.lppd-app-toast__dismiss {
  flex: 0 0 auto;
  margin: -0.15rem -0.25rem 0 0;
  padding: 0.15rem 0.45rem;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--lppd-text-muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.lppd-app-toast__dismiss:hover,
.lppd-app-toast__dismiss:focus {
  color: var(--lppd-text);
  background: rgba(0, 0, 0, 0.12);
}

.lppd-app-toast[hidden] {
  display: none !important;
}

.lppd-app-toast--success {
  border-color: rgba(52, 211, 153, 0.35);
  background: rgba(6, 78, 59, 0.22);
}

.lppd-app-toast--error {
  border-color: rgba(248, 113, 113, 0.35);
  color: var(--lppd-danger);
  background: rgba(127, 29, 29, 0.18);
}

/* Stripe Connect — banner between top bar and main stack (freelancer/agency, Connect pending) */
.lppd-stripe-connect-banner {
  border: 1px solid rgba(0, 240, 255, 0.22);
  border-radius: var(--lppd-radius);
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.96) 100%);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.lppd-stripe-connect-banner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.lppd-stripe-connect-banner__text {
  margin: 0;
  flex: 1 1 16rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--lppd-text);
}

.lppd-stripe-connect-banner__cta {
  flex-shrink: 0;
}

/* Seller setup view (?lppd_view=setup) — dedicated card rhythm */
.lppd-seller-setup .lppd-dashboard__title {
  margin-top: 0;
}

.lppd-seller-setup__status {
  margin: 0.75rem 0 0;
  padding-left: 1.15rem;
}

.lppd-seller-setup__status li {
  margin-bottom: 0.35rem;
  color: var(--lppd-text-muted);
}

.lppd-seller-setup__actions {
  margin: 1rem 0 0;
}

.lppd-seller-setup .lppd-onboard {
  margin-top: 0.75rem;
}

/* Freelancer/agency overview: buyer (client tools) + locked seller preview */
.lppd-overview-dual {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.lppd-overview-dual__heading {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
  color: var(--lppd-accent);
}

.lppd-overview-dual__buyer .lppd-dashboard__title {
  display: none;
}

.lppd-seller-connect-panel {
  margin-top: 0.25rem;
}

.lppd-seller-connect-panel__inner {
  position: relative;
  min-height: 12rem;
  border-radius: var(--lppd-radius);
  overflow: hidden;
}

.lppd-seller-connect-panel__inner.is-connect-preview > *:not(.lppd-connect-lock) {
  filter: blur(2px);
  user-select: none;
  pointer-events: none;
}

.lppd-seller-connect-panel__inner .lppd-connect-lock {
  border-radius: var(--lppd-radius);
}

.lppd-app-main__stack {
  position: relative;
}

.lppd-app-main__stack.is-connect-preview .lppd-app-header,
.lppd-app-main__stack.is-connect-preview .lppd-app-content {
  filter: blur(2px);
  user-select: none;
  pointer-events: none;
}

.lppd-connect-lock {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(10, 15, 28, 0.45);
  border-radius: var(--lppd-radius);
  pointer-events: auto;
}

.lppd-connect-lock__panel {
  text-align: center;
  max-width: 22rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(0, 240, 255, 0.22);
  border-radius: var(--lppd-radius);
  background: linear-gradient(145deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.lppd-connect-lock__icon {
  display: flex;
  justify-content: center;
  color: var(--lppd-accent);
  margin-bottom: 0.65rem;
}

.lppd-connect-lock__text {
  margin: 0;
  font-size: 0.95rem;
  color: var(--lppd-text);
  line-height: 1.45;
}

.lppd-sample-dashboard__badge {
  margin: 0 0 1rem;
  font-size: 0.95rem;
}

.lppd-sample-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.lppd-sample-dashboard__card {
  border: 1px solid rgba(51, 65, 85, 0.75);
  border-radius: var(--lppd-radius);
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  padding: 1.25rem 1.35rem;
}

.lppd-sample-dashboard__card-label {
  margin: 0 0 0.35rem;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgb(100, 116, 139);
}

.lppd-sample-dashboard__card-value {
  margin: 0 0 0.25rem;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: rgba(255, 255, 255, 0.98);
}

.lppd-sample-dashboard__card-sub {
  margin: 0;
  font-size: 0.85rem;
  color: var(--lppd-text-muted);
}

.lppd-sample-dashboard__footer {
  margin-top: 0.5rem;
  font-size: 0.9rem;
}

.lppd-workspace-stub {
  padding: 0.25rem 0 0.5rem;
}

.lppd-manage-gigs__list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.lppd-manage-gigs__list-head h3 {
  margin: 0;
}

.lppd-manage-gigs__list-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.lppd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.lppd-support-table-wrap {
  overflow-x: auto;
  margin: 0.75rem 0 1.5rem;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
}

.lppd-support-table th,
.lppd-support-table td {
  padding: 0.65rem 0.85rem;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  vertical-align: top;
}

.lppd-support-table thead th {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
  background: rgba(0, 0, 0, 0.2);
}

.lppd-support-table tbody tr:last-child td {
  border-bottom: 0;
}

.lppd-table__empty {
  color: var(--lppd-text-muted);
  text-align: center;
}

.lppd-support-form__heading {
  margin: 1.25rem 0 0.65rem;
  font-size: 1.05rem;
  color: var(--lppd-text);
}

@media (max-width: 640px) {
  .lppd-support-table thead {
    display: none;
  }

  .lppd-support-table tr {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.5rem 0;
  }

  .lppd-support-table td {
    display: block;
    border: 0;
    padding: 0.2rem 0.85rem;
  }

  .lppd-support-table td::before {
    content: attr(data-label) ": ";
    font-weight: 600;
    color: var(--lppd-text-muted);
    font-size: 0.75rem;
    margin-right: 0.35rem;
  }
}

.lppd-support-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
}

.lppd-support-stat {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-2);
  padding: 0.75rem 1rem;
  text-align: center;
}

.lppd-support-stat__value {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--lppd-text);
}

.lppd-support-stat__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lppd-text-muted);
}

.lppd-support-toolbar {
  margin: 0.5rem 0 1rem;
}

.lppd-support-modal {
  max-width: 32rem;
  width: calc(100vw - 2rem);
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  color: var(--lppd-text);
  padding: 0;
}

.lppd-support-modal::backdrop {
  background: rgba(0, 0, 0, 0.55);
}

.lppd-support-modal__title {
  margin: 0 0 1rem;
  font-size: 1.15rem;
}

.lppd-support-modal .lppd-support-form__notice {
  margin-top: 0.75rem;
}

.lppd-support-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 0.5rem;
}

.lppd-support-modal form {
  padding: 1.25rem;
}

.lppd-support-ticket__back {
  margin: 0 0 1rem;
}

.lppd-support-ticket__meta {
  margin-bottom: 1rem;
}

.lppd-support-thread {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.lppd-support-msg {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-2);
  padding: 0.75rem 1rem;
}

.lppd-support-msg--staff {
  border-color: rgba(96, 165, 250, 0.35);
  background: rgba(30, 58, 138, 0.2);
}

.lppd-support-msg--seller {
  border-color: rgba(52, 211, 153, 0.35);
  background: rgba(6, 78, 59, 0.18);
}

.lppd-support-panel {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--lppd-border);
}

.lppd-support-panel .lppd-support-form__heading {
  margin-top: 0;
}

.lppd-support-msg__meta {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  color: var(--lppd-text-muted);
}

.lppd-support-msg__who {
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-support-msg__body {
  font-size: 0.95rem;
  line-height: 1.45;
}

.lppd-messenger {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 768px) {
  .lppd-messenger {
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    align-items: stretch;
  }
}

.lppd-messenger__sidebar {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.65rem 0.75rem;
  max-height: 28rem;
  overflow: auto;
}

.lppd-messenger__sidebar-head {
  margin-bottom: 0.5rem;
}

.lppd-messenger__sidebar-title {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--lppd-text);
}

.lppd-rail-stripe__code {
    font-size: 0.82em;
    color: #ffffff;
}

.lppd-messenger__threads {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lppd-messenger__thread-wrap {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lppd-messenger__thread {
  width: 100%;
  display: block;
  text-align: start;
  padding: 0.55rem 0.5rem;
  border-radius: 10px;
  margin-bottom: 0.35rem;
  border: 1px solid transparent;
  cursor: pointer;
  background: transparent;
  color: inherit;
  font: inherit;
}

.lppd-messenger__thread.is-active {
  background: rgba(0, 0, 0, 0.2);
  border-color: var(--lppd-border);
}

.lppd-messenger__thread:hover {
  border-color: var(--lppd-border);
  background: rgba(0, 0, 0, 0.12);
}

.lppd-messenger__thread:focus-visible {
  outline: 2px solid var(--lppd-accent);
  outline-offset: 2px;
}

.lppd-messenger__thread--empty {
  cursor: default;
  font-size: 0.9rem;
  color: var(--lppd-text-muted);
}

.lppd-messenger__thread-title {
  display: block;
  font-weight: 600;
  color: var(--lppd-text);
  font-size: 0.9rem;
}

.lppd-messenger__thread-meta {
  display: block;
  font-size: 0.78rem;
  color: var(--lppd-text-muted);
  margin-top: 0.2rem;
}

.lppd-messenger__conversation {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  min-height: 16rem;
  display: flex;
  flex-direction: column;
}

.lppd-messenger__conv-head {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--lppd-border);
}

.lppd-messenger__conv-title {
  margin: 0;
  font-weight: 600;
  font-size: 1rem;
}

.lppd-messenger__conv-sub {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
}

.lppd-messenger__messages {
  flex: 1;
  padding: 1rem;
  font-size: 0.9rem;
  overflow-y: auto;
  max-height: 22rem;
}

.lppd-messenger__msg {
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  border: 1px solid var(--lppd-border);
  background: var(--lppd-bg-2);
}

.lppd-messenger__msg--self {
  border-color: rgba(52, 211, 153, 0.35);
  background: rgba(52, 211, 153, 0.08);
}

.lppd-messenger__msg-meta {
  display: block;
  font-size: 0.72rem;
  color: var(--lppd-text-muted);
  margin-bottom: 0.35rem;
}

.lppd-messenger__msg-body {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

.lppd-messenger--whatsapp .lppd-messenger__messages {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.02) 100%);
}

.lppd-messenger--whatsapp .lppd-messenger__msg {
  max-width: 88%;
  border-radius: 14px;
  margin-bottom: 0.5rem;
}

.lppd-messenger--whatsapp .lppd-messenger__msg--self {
  margin-left: auto;
}

.lppd-messenger__composer-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}

.lppd-messenger__tool {
  border: 1px solid var(--lppd-border);
  background: var(--lppd-bg-2);
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  font: inherit;
  cursor: pointer;
  line-height: 1.3;
}

.lppd-messenger__tool:hover:not(:disabled) {
  border-color: var(--lppd-accent);
}

.lppd-messenger__tool:disabled,
.lppd-messenger__tool--muted:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.lppd-messenger__composer {
  border-top: 1px solid var(--lppd-border);
  padding: 0.85rem 1rem 1rem;
}

.lppd-messenger__composer-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lppd-messenger__composer-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 0.65rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--lppd-radius);
  border: 1px solid var(--lppd-border);
  background: var(--lppd-bg-2);
  color: var(--lppd-text);
  font: inherit;
  resize: vertical;
  min-height: 4rem;
}

.lppd-messenger__composer-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.lppd-messenger__composer-actions {
  margin: 0;
}

.lppd-messenger__composer-notice {
  margin: 0 0 0.5rem;
}

.lppd-rail {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lppd-rail-card {
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: var(--lppd-radius);
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset;
  padding: 1rem 1.1rem;
}

.lppd-rail-card__title {
  margin: 0 0 0.5rem;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgb(148, 163, 184);
}

.lppd-rail-text {
  margin: 0;
  color: var(--lppd-text-muted);
}

.lppd-rail-kpi__value {
  display: block;
  font-weight: 700;
  color: var(--lppd-text);
}

.lppd-rail-kpi__meta {
  display: block;
  font-size: 0.85rem;
  color: var(--lppd-text-muted);
}

.lppd-rail-link {
  display: inline-block;
  margin-top: 0.6rem;
  color: var(--lppd-accent);
  text-decoration: none;
}

.lppd-rail-link:hover,
.lppd-rail-link:focus {
  text-decoration: underline;
}

.lppd-rail-list,
.lppd-rail-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.lppd-rail-list li {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-rail-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.lppd-rail-list--summary [data-lppd-summary-persona] {
  color: var(--lppd-text);
}

.lppd-rail-summary__meta {
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
}

.lppd-rail-summary-peek {
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-rail-summary-peek__title {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.85;
}

.lppd-rail-list--peek {
  margin: 0 0 0.6rem;
  font-size: 0.82rem;
}

.lppd-rail-list--peek li {
  padding: 0.2rem 0;
  line-height: 1.35;
}

.lppd-rail-summary__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.lppd-rail-summary__link:hover {
  color: var(--lppd-text);
}

.lppd-ai-panel {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-ai-panel__label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--lppd-text);
  font-size: 0.9rem;
}

.lppd-ai-panel__textarea {
  max-width: 100%;
}

.lppd-ai-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-top: 0.5rem;
}

.lppd-ai-panel__notice {
  margin: 0.5rem 0 0;
}

.lppd-ai-panel__response {
  margin-top: 0.75rem;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.75rem 0.85rem;
  color: var(--lppd-text);
  white-space: pre-wrap;
  font-size: 0.9rem;
  line-height: 1.5;
  max-height: 18rem;
  overflow: auto;
}

.lppd-rail-stripe__dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.lppd-rail-stripe__row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 38%) 1fr;
  gap: 0.35rem 0.6rem;
  align-items: baseline;
  font-size: 0.88rem;
}

.lppd-rail-stripe__row dt {
  margin: 0;
  color: var(--lppd-text-muted);
  font-weight: 500;
  font-size: 0.78rem;
}

.lppd-rail-stripe__row dd {
  margin: 0;
  color: var(--lppd-text);
  word-break: break-word;
}

.lppd-rail-stripe__code {
  font-size: 0.82em;
}

.lppd-rail-stripe__actions {
  margin: 0.75rem 0 0;
}

.lppd-rail-stripe__cta {
  width: 100%;
  justify-content: center;
}

/* ── Rail user-controls widget ──────────────────────────────────── */
.lppd-rail-uc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}

.lppd-rail-uc-item {
  margin: 0;
}

.lppd-rail-uc-btn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: 100%;
  padding: 0.45rem 0.5rem;
  border: none;
  background: none;
  border-radius: var(--lppd-radius-sm, 4px);
  color: var(--lppd-text, inherit);
  font-size: 0.875rem;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s;
}

.lppd-rail-uc-btn:hover,
.lppd-rail-uc-btn:focus-visible {
  background: var(--lppd-surface-hover, rgba(255,255,255,.07));
  outline: none;
}

.lppd-rail-uc-btn__icon {
  flex-shrink: 0;
  opacity: 0.75;
  display: flex;
  align-items: center;
}

.lppd-rail-uc-btn__label {
  flex: 1;
  text-align: left;
}

.lppd-rail-uc-meta {
  font-size: 0.75rem;
  opacity: 0.6;
  white-space: nowrap;
}

.lppd-rail-uc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  background: var(--lppd-color-primary, #6366f1);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
}

.lppd-rail-uc-badge.is-hidden {
  display: none;
}

.lppd-rail-uc-item--divider {
  margin: 0.35rem 0;
  border-top: 1px solid var(--lppd-border, rgba(255,255,255,0.1));
}
/* ────────────────────────────────────────────────────────────────── */

.lppd-dashboard__stripe-embed {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--lppd-border);
}

.lppd-agency-overview__stripe-h,
.lppd-freelancer-overview__stripe-h {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 600;
}

.lppd-pill {
  font-size: 0.75rem;
  padding: 0.1rem 0.5rem;
  border: 1px solid var(--lppd-border);
  border-radius: 999px;
  color: var(--lppd-text-muted);
}

.lppd-pill--on {
  color: var(--lppd-accent);
}

.lppd-pill--sale {
  color: #fb923c;
  border-color: rgba(251, 146, 60, .45);
  background: rgba(251, 146, 60, .1);
}

.lppd-pill--free {
  color: #34d399;
  border-color: rgba(52, 211, 153, .4);
  background: rgba(52, 211, 153, .08);
}

.lppd-list {
  margin: 1rem 0 0;
  padding-left: 1.25rem;
}

.lppd-list li {
  margin: 0.35em 0;
}

[data-lppd-projects-list] [data-lppd-project-item] {
  border-left: 2px solid transparent;
  padding-left: 0.5rem;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

[data-lppd-projects-list] [data-lppd-project-item].is-selected {
  border-left-color: var(--lppd-accent, #7c6fff);
  background: rgba(124, 111, 255, 0.08);
}

[data-lppd-projects-list] [data-lppd-project-item]:focus-within {
  border-left-color: var(--lppd-info, #42a5f5);
}

.lppd-messenger-list .lppd-messenger-list__title,
.lppd-support-list .lppd-support-list__subject {
  font-weight: 600;
}

.lppd-input,
.lppd-textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 36rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--lppd-border);
  border-radius: 8px;
  background: var(--lppd-bg-1);
  color: var(--lppd-text);
}

.lppd-textarea {
  min-height: 8rem;
  resize: vertical;
}

.lppd-button {
  display: inline-block;
  padding: 0.45rem 1rem;
  border-radius: 8px;
  border: 1px solid var(--lppd-border);
  background: var(--lppd-bg-3);
  color: var(--lppd-text);
  cursor: pointer;
}

.lppd-dashboard .lppd-button,
.lppd-theme-dark .lppd-button {
    border-radius: 1rem;
    padding: 20px 20px;
    font-weight: 600;
    font-size: 14px;
    transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
    margin: 0px 0 14px 8px;
}

.lppd-button--primary {
  border-color: transparent;
  background: var(--lppd-accent);
  color: var(--lppd-bg-0);
}

.lppd-dashboard .lppd-button--primary,
.lppd-theme-dark .lppd-button--primary {
  background: var(--lppd-pulse, #38bdf8);
  color: #0a0f1c;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset;
}

.lppd-dashboard .lppd-button--primary:hover,
.lppd-dashboard .lppd-button--primary:focus,
.lppd-theme-dark .lppd-button--primary:hover,
.lppd-theme-dark .lppd-button--primary:focus {
  filter: brightness(1.08);
}

.lppd-button--ghost {
  border-color: var(--lppd-border);
  background: transparent;
  color: var(--lppd-text);
  text-decoration: none;
}

.lppd-button--emerald {
  border-color: rgba(52, 211, 153, 0.45);
  background: rgba(16, 185, 129, 0.9);
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
}

.lppd-button--store {
  border-color: rgba(52, 211, 153, 0.35);
  background: transparent;
  color: rgba(167, 243, 208, 0.95);
  text-decoration: none;
}

.lppd-button--violet {
  border-color: rgba(167, 139, 250, 0.45);
  background: transparent;
  color: rgba(196, 181, 253, 0.95);
  text-decoration: none;
}

.lppd-button--danger {
  border-color: rgba(248, 113, 113, 0.45);
  background: transparent;
  color: rgba(252, 165, 165, 0.95);
  text-decoration: none;
}

.lppd-dashboard .lppd-button--danger:hover,
.lppd-theme-dark .lppd-button--danger:hover,
.lppd-dashboard .lppd-button--danger:focus,
.lppd-theme-dark .lppd-button--danger:focus {
  border-color: rgba(248, 113, 113, 0.8);
  color: rgba(254, 202, 202, 0.99);
  background: rgba(127, 29, 29, 0.18);
}

a.lppd-button:hover,
a.lppd-button:focus {
  text-decoration: none;
  filter: brightness(1.06);
}

/* `site/site.html` parity — card shell for dashboard widgets */
.dashboard-card {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-2);
  padding: 1.25rem 1.35rem;
}

/* Freelancer / agency overview when Stripe Connect is ready */
.lppd-seller-overview__hero {
  margin-bottom: 1.5rem;
}

.lppd-seller-overview__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lppd-text);
}

.lppd-seller-overview__status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.9rem;
}

.lppd-seller-overview__status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.9);
  box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.2);
}

.lppd-seller-overview {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .lppd-seller-overview {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: start;
  }
}

.lppd-seller-overview__h2 {
  margin: 0 0 0.75rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-seller-overview__h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-seller-overview__kpi-muted {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
}

.lppd-seller-overview__kpi-large {
  margin: 0.35rem 0 0;
  font-size: clamp(2.5rem, 6vw, 3.25rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--lppd-text);
}

.lppd-seller-overview__kpi-sub {
  margin: 0.25rem 0 1.25rem;
  font-size: 0.88rem;
}

.lppd-seller-overview__chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.lppd-seller-overview__chip {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.75rem 0.85rem;
  font-size: 0.85rem;
  color: var(--lppd-text-muted);
}

.lppd-seller-overview__note {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  line-height: 1.45;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
}

.lppd-seller-overview__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lppd-seller-overview__aside {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lppd-seller-overview__aside-icon {
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 0.35rem;
}

.lppd-seller-overview__aside-ready {
  margin: 0 0 1rem;
  font-size: 0.88rem;
  color: rgba(52, 211, 153, 0.95);
}

.lppd-seller-overview__aside-foot {
  margin: 1rem 0 0;
  font-size: 0.82rem;
  max-width: 16rem;
}

.lppd-seller-overview__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 0.75rem;
  font-size: 0.88rem;
}

.lppd-seller-overview__quick a {
  color: var(--lppd-accent);
  text-decoration: none;
}

.lppd-seller-overview__quick a:hover {
  text-decoration: underline;
}

.lppd-agency-overview__title {
  margin: 0 0 0.75rem;
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-agency-overview__lead {
  margin: 0 0 0.75rem;
  color: var(--lppd-text-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  max-width: 42rem;
}

.lppd-agency-overview__meta {
  margin: 0 0 1.25rem;
  font-size: 0.88rem;
}

.lppd-agency-overview__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.lppd-dashboard__notice {
  margin-top: 0.75rem;
}

.lppd-dashboard__notice--error {
  color: var(--lppd-danger);
}

.lppd-gigs-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-end;
  margin: 1rem 0 0.85rem;
}

.lppd-gigs-filters__search {
  flex: 1 1 220px;
  min-width: 0;
}

.lppd-gigs-filters__sort {
  flex: 0 1 160px;
}

.lppd-seller__heading {
  margin: 1.5rem 0 0.5rem;
  font-size: 1.05rem;
  color: var(--lppd-text);
}

.lppd-seller-reviews {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
}

.lppd-seller-review {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  padding: 0.75rem 0.9rem;
  margin-bottom: 0.65rem;
  background: var(--lppd-bg-1);
}

.lppd-seller-review__meta {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
}

.lppd-seller-review__body {
  color: var(--lppd-text-muted);
  font-size: 0.95rem;
}

.lppd-gigs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.lppd-gig-card {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 1rem;
}

.lppd-gig-card__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.lppd-gig-card__link {
    color: #ffffff !important;
    text-decoration: none;
    font-size: 16px;
}

.lppd-gig-card__link:hover,
.lppd-gig-card__link:focus {
  text-decoration: underline;
}

.lppd-gig-card__tags {
  margin: 0.35rem 0 0.5rem;
  font-size: 0.9rem;
}

.lppd-gig-card__excerpt {
  margin: 0.5rem 0 0.85rem;
}

.lppd-gig__json {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.75rem 0.85rem;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 18rem;
  font-size: 0.9rem;
  color: var(--lppd-text-muted);
}

.lppd-packages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
  margin-top: 0.5rem;
}

.lppd-package-card {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.9rem 1rem;
}

.lppd-package-card__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  color: var(--lppd-text);
}

.lppd-package-card__meta {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
}

.lppd-package-card__scope {
  margin: 0;
  color: var(--lppd-text-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.lppd-extras {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
}

.lppd-extra {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-extra:last-child {
  border-bottom: 0;
}

.lppd-extra__label {
  color: var(--lppd-text);
}

.lppd-extra__price {
  color: var(--lppd-text-muted);
  white-space: nowrap;
}

.lppd-faq {
  margin-top: 0.5rem;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
  padding: 0.25rem 0.25rem;
}

.lppd-faq__item {
  padding: 0.35rem 0.5rem;
  border-radius: 10px;
}

.lppd-faq__q {
  cursor: pointer;
  color: var(--lppd-text);
  font-weight: 600;
}

.lppd-faq__a {
  margin-top: 0.35rem;
  padding-left: 0.25rem;
}

.lppd-packages-editor {
  display: grid;
  gap: 12px;
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.lppd-packages-editor__row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.lppd-packages-editor__col strong {
  display: inline-block;
  margin-bottom: 4px;
}

.lppd-packages-editor__col label {
  display: block;
  font-size: 12px;
  opacity: 0.9;
}

.lppd-gig-editor .lppd-gig-admin-repeaters .lppd-admin-h4 {
  margin: 1rem 0 0.35rem;
  font-size: 1rem;
}

.lppd-gig-editor .lppd-gig-admin-repeaters .lppd-gig-admin-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 8px 0;
}

.lppd-gig-editor .lppd-gig-gallery__thumbs {
  list-style: none;
  margin: 8px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.lppd-gig-section {
  margin: 1.25rem 0;
  padding-top: 0.5rem;
  border-top: 1px solid var(--lppd-border);
}

.lppd-gig-section__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.lppd-gig-section__intro {
  margin: 0 0 0.75rem;
  max-width: 52rem;
}

.lppd-gig-extras__label {
  flex: 1 1 160px;
  min-width: 0;
}

.lppd-gig-extras__price {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 0 1 140px;
}

.lppd-gig-extras__price-hint {
  font-size: 12px;
  line-height: 1.2;
}

.lppd-gig-extras-price-input {
  max-width: 140px;
}

.lppd-gig-gallery__file {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.lppd-gig-gallery__actions {
  margin: 8px 0 4px;
}

.lppd-gig-gallery__thumb-img {
  max-width: 72px;
  max-height: 72px;
  border-radius: 8px;
  vertical-align: middle;
  object-fit: cover;
}

.lppd-gig-gallery-wrap {
  position: relative;
  padding: 10px;
  border-radius: 12px;
  border: 1px dashed rgba(255, 255, 255, 0.12);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.lppd-gig-gallery-wrap.is-dragover {
  border-color: var(--lppd-accent, #6ee7b7);
  background: rgba(255, 255, 255, 0.04);
}

.lppd-gig-gallery-wrap.is-uploading {
  opacity: 0.85;
  pointer-events: none;
}

.lppd-gig-modal[hidden] {
  display: none !important;
}

.lppd-gig-modal.is-open {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
  box-sizing: border-box;
  overflow-y: auto;
}

.lppd-gig-modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 0;
}

.lppd-gig-modal__panel {
  position: relative;
  z-index: 1;
  width: min(640px, 100%);
  max-height: min(90vh, 900px);
  margin: 2vh auto;
  display: flex;
  flex-direction: column;
  background: var(--lppd-bg-2, #1a1d24);
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius, 12px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
}

.lppd-gig-modal__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--lppd-border);
}

.lppd-gig-modal__head h3 {
  margin: 0;
  font-size: 1.1rem;
}

.lppd-gig-modal__head-actions {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.lppd-gig-modal__close {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.15rem 0.35rem;
  border-radius: 6px;
}

.lppd-gig-modal__close:hover {
  background: rgba(255, 255, 255, 0.06);
}

.lppd-gig-modal__body {
  padding: 1rem;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

body.lppd-gig-modal-open {
  overflow: hidden;
}

.lppd-gig__facts {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  font-size: 0.95rem;
}

.lppd-gig__facts li {
  margin: 0;
}

.lppd-pagination {
  margin-top: 1rem;
}

.lppd-pagination ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lppd-pagination a,
.lppd-pagination span {
  display: inline-block;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--lppd-border);
  border-radius: 8px;
  color: var(--lppd-text);
  background: var(--lppd-bg-3);
  text-decoration: none;
}

.lppd-pagination .current {
  border-color: transparent;
  background: var(--lppd-accent);
  color: var(--lppd-bg-0);
}

.lppd-store-faq {
  margin: 1.25rem 0;
  padding-top: 1rem;
  border-top: 1px solid var(--lppd-border);
}

.lppd-store-faq__list {
  margin: 0.75rem 0 0;
}

.lppd-store-faq__q {
  font-weight: 600;
  margin: 0.75rem 0 0.25rem;
}

.lppd-store-faq__a {
  margin: 0 0 0.5rem;
  padding-left: 0;
}

.lppd-store-faq__more {
  margin: 1rem 0 0;
}

.lppd-store-faq-editor {
  margin: 1rem 0 0;
  padding: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(15, 23, 42, .62), rgba(15, 23, 42, .35));
}

.lppd-store-faq-editor__row {
  margin-bottom: .8rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 12px;
  background: rgba(15, 23, 42, .38);
  overflow: hidden;
}

.lppd-store-faq-editor__row:last-child {
  margin-bottom: 0;
}

.lppd-store-faq-editor__list {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
}

.lppd-store-faq-editor__row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin: 0;
  padding: .85rem 1rem;
  cursor: pointer;
  background: rgba(30, 41, 59, .55);
}

.lppd-store-faq-editor__row-header:hover {
  background: rgba(51, 65, 85, .6);
}

.lppd-store-faq-editor__body {
  padding: .9rem 1rem 1rem;
  max-height: 680px;
  overflow: hidden;
  transition: max-height .22s ease, padding .22s ease;
}

.lppd-store-faq-editor__row.is-collapsed .lppd-store-faq-editor__body {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.lppd-store-faq-editor__row-state {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: rgba(16, 185, 129, .12);
  color: #8de2c2;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lppd-store-faq-page__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lppd-store-faq-page__stats {
  min-width: 140px;
  padding: .9rem 1rem;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 10px;
  background: rgba(15, 23, 42, .58);
  text-align: center;
}

.lppd-store-faq-page__stats strong {
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: .25rem;
}

.lppd-store-faq-page__stats span {
  color: var(--lppd-text-muted, #94a3b8);
  font-size: .82rem;
}

/* ─── Store Product Editor ───────────────────────────────────────────────── */

.lppd-store-product-editor {
  max-width: 1160px;
  margin: 0 auto;
}

.lppd-store-editor__topbar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--lppd-border);
}

.lppd-store-editor__heading {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.lppd-store-product-editor__layout {
    display: flex;
    gap: 1.5rem;
    align-items: start;
    flex-direction: column;
}

@media (max-width: 860px) {
  .lppd-store-product-editor__layout {
    grid-template-columns: 1fr;
  }
}

.lppd-store-product-editor__main,
.lppd-store-product-editor__sidebar {
  min-width: 0;
}

/* ── Sidebar status card ── */
.lppd-store-editor__sidebar-status {
  margin-bottom: 1rem;
}

.lppd-store-editor__status-badge {
  display: inline-block;
  padding: .25em .7em;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: var(--lppd-bg-muted, #f0f0f0);
  color: var(--lppd-text-muted, #666);
}

.lppd-store-editor__status-badge--draft          { background: #e9ecef; color: #495057; }
.lppd-store-editor__status-badge--pending_review { background: #fff3cd; color: #856404; }
.lppd-store-editor__status-badge--rejected       { background: #f8d7da; color: #842029; }
.lppd-store-editor__status-badge--publish        { background: #d1e7dd; color: #0f5132; }

/* commission estimator */
.lppd-store-editor__commission {
  font-size: .85rem;
  color: var(--lppd-text-muted, #666);
  margin-top: .25rem;
}

.lppd-store-editor__commission-net {
  font-weight: 600;
  color: var(--lppd-text, #333);
}

.lppd-store-editor__review-card {
  margin-top: 1rem;
  padding: .95rem 1rem;
  border: 1px solid rgba(96, 165, 250, .18);
  border-radius: 10px;
  background: rgba(15, 23, 42, .36);
}

code {
    padding: 0.3em 0.5em;
    font-size: 0.86em;
    border-radius: 4px;
    text-shadow: 0 0px 0 white;
    background-color: #080d18;
}

.lppd-store-editor__review-card strong {
  display: block;
  margin-bottom: .35rem;
}

.lppd-store-editor__review-list {
  margin: .75rem 0 0;
  padding-left: 1rem;
  color: #dbeafe;
}

.lppd-store-editor__review-list li + li {
  margin-top: .35rem;
}

/* featured toggle */
.lppd-store-editor__featured-toggle {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: .6rem;
  font-size: .9rem;
}

.lppd-store-editor__featured-card {
  padding: .95rem 1rem;
  border: 1px solid rgba(251, 191, 36, .18);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(82, 55, 10, .26), rgba(15, 23, 42, .42));
}

.lppd-store-editor__featured-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.lppd-store-editor__featured-state {
  display: inline-flex;
  align-items: center;
  padding: .24rem .6rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, .14);
  color: #cbd5e1;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.lppd-store-editor__featured-state.is-active {
  background: rgba(16, 185, 129, .18);
  color: #a7f3d0;
}

.lppd-store-editor__featured-price {
  margin: 0;
  font-weight: 700;
  color: #fde68a;
}

/* sidebar action buttons */
.lppd-store-editor__actions {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1rem;
}

/* file upload tip banner */
.lppd-store-editor__file-tip {
  font-size: .85rem;
}

.lppd-store-editor__file-dropzone {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 120px;
  margin: 0 0 .85rem;
  padding: 1rem;
  border: 1px dashed rgba(125, 211, 252, .45);
  border-radius: 10px;
  background: rgba(15, 23, 42, .5);
  cursor: pointer;
  text-align: center;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.lppd-store-editor__file-dropzone:hover,
.lppd-store-editor__file-dropzone:focus-visible,
.lppd-store-editor__file-dropzone.is-dragover {
  border-color: rgba(96, 165, 250, .8);
  background: rgba(30, 41, 59, .72);
  transform: translateY(-1px);
  outline: none;
}

.lppd-store-editor__file-dropzone.is-uploading {
  opacity: .7;
  pointer-events: none;
}

/* filename display */
.lppd-store-editor__filename {
  font-size: .9rem;
  word-break: break-all;
}

.lppd-store-products-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    padding: .8rem .9rem;
    border: 1px solid rgba(125, 211, 252, .2);
    border-radius: 12px;
    background: radial-gradient(circle at top right, rgba(56, 189, 248, .14), transparent 55%), rgba(15, 23, 42, .65);
}

.lppd-store-products-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
}

.lppd-store-products-table td, .lppd-store-products-table th {
    vertical-align: top;
    padding: .85rem .9rem;
    border: 0px solid rgba(148, 163, 184, .16);
}

.lppd-store-products-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(15, 23, 42, .92);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .72rem;
  color: #bfdbfe;
}

.lppd-store-products-table tbody tr {
  transition: background-color .18s ease;
}

.lppd-store-products-table tbody tr:hover {
  background: rgba(59, 130, 246, .08);
}

.lppd-store-products-table__status {
  display: inline-flex;
  align-items: center;
  padding: .25rem .6rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, .16);
  color: #dbeafe;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.lppd-store-products-table__status--publish {
  background: rgba(16, 185, 129, .18);
  color: #a7f3d0;
}

.lppd-store-products-table__status--pending_review,
.lppd-store-products-table__status--pending {
  background: rgba(245, 158, 11, .18);
  color: #fde68a;
}

.lppd-store-products-table__status--rejected {
  background: rgba(239, 68, 68, .16);
  color: #fda4af;
}

.lppd-store-products-table__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.lppd-store-products-table__actions a {
  color: #93c5fd;
  text-decoration: none;
  font-weight: 600;
}

.lppd-store-products-table__actions a:hover {
  text-decoration: underline;
}

.lppd-store-products-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .7rem;
  margin: 1rem 0 1.15rem;
}

.lppd-store-products-stats__card {
  margin: 0;
  padding: .8rem .9rem;
  border: 1px solid rgba(125, 211, 252, .2);
  border-radius: 12px;
  background:
    radial-gradient(circle at top right, rgba(56, 189, 248, .14), transparent 55%),
    rgba(15, 23, 42, .65);
}

.lppd-store-products-stats__label {
  margin: 0;
  font-size: .74rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #93c5fd;
}

.lppd-store-products-stats__value {
  margin: .35rem 0 .15rem;
  font-size: 1.45rem;
  line-height: 1.1;
  font-weight: 800;
  color: #f8fafc;
}

.lppd-store-products-stats__sub {
  margin: 0;
  font-size: .82rem;
  color: #cbd5e1;
}

.lppd-store-license-integrator {
  margin-top: 1rem;
}

.lppd-store-seller--panel-licenses .lppd-store-license-integrator {
  margin-top: 0;
}

.lppd-store-seller--panel-licenses .lppd-store-license-integrator__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

.lppd-store-seller--panel-licenses .lppd-store-license-integrator__table-wrap {
  background: rgba(15, 23, 42, .34);
}

.lppd-store-seller--panel-licenses .lppd-store-license-integrator__subheading {
  font-size: 1rem;
  letter-spacing: .01em;
}

.lppd-store-license-integrator__actions {
  margin: .75rem 0 1rem;
}

.lppd-store-license-integrator__table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 12px;
  margin: .75rem 0 0;
}

.lppd-store-license-integrator__table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
}

.lppd-store-license-integrator__table td,
.lppd-store-license-integrator__table th {
  padding: .7rem .8rem;
  border-bottom: 1px solid rgba(148, 163, 184, .16);
  vertical-align: middle;
}

.lppd-store-license-integrator__table thead th {
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .7rem;
  color: #bfdbfe;
  background: rgba(15, 23, 42, .85);
}

.lppd-store-license-integrator__status {
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(148, 163, 184, .2);
  color: #dbeafe;
}

.lppd-store-license-integrator__status--active {
  background: rgba(16, 185, 129, .18);
  color: #a7f3d0;
}

.lppd-store-license-integrator__status--revoked,
.lppd-store-license-integrator__status--inactive {
  background: rgba(239, 68, 68, .16);
  color: #fda4af;
}

.lppd-store-license-integrator__subheading {
  margin: 1.2rem 0 .35rem;
}

.lppd-store-license-integrator__secret {
  word-break: break-all;
}

.lppd-store-license-integrator__lead {
  margin: .5rem 0 .4rem;
}

.lppd-store-license-integrator__overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .65rem;
  margin: .85rem 0 1rem;
}

.lppd-store-license-integrator__stat {
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(30, 41, 59, .55), rgba(15, 23, 42, .45));
  padding: .75rem .8rem;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}

.lppd-store-license-integrator__stat-value {
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 700;
  color: #f8fafc;
}

.lppd-store-license-integrator__stat-label {
  font-size: .76rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #93c5fd;
}

.lppd-store-license-integrator__manage-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin: .75rem 0 .95rem;
    align-content: center;
}

.lppd-store-license-integrator__filter {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 140px;
}

.lppd-store-license-integrator__filter input, .lppd-store-license-integrator__filter select {
    min-height: 38px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(30, 41, 59, .55), rgba(15, 23, 42, .45));
    padding: 6px .8rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    color: #ffffff;
}

.lppd-store-license-integrator__filter--search {
  min-width: 240px;
  flex: 1 1 260px;
}

option {
    background: #060912;
}

.lppd-store-license-integrator__hero {
  margin: .95rem 0 1rem;
  padding: 1.15rem;
  border-radius: 24px;
  border: 1px solid rgba(125, 211, 252, .18);
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(14, 165, 233, .22), transparent 52%),
    radial-gradient(140% 180% at 0% 100%, rgba(34, 197, 94, .16), transparent 58%),
    linear-gradient(145deg, rgba(8, 47, 73, .94), rgba(15, 23, 42, .92));
  box-shadow: 0 28px 70px rgba(2, 6, 23, .28);
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(300px, 7fr);
  gap: 1rem;
  position: relative;
  overflow: hidden;
}

.lppd-store-license-integrator__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #7dd3fc;
}

.lppd-store-license-integrator__hero-copyblock {
  position: relative;
  z-index: 1;
}

.lppd-store-license-integrator__hero-title {
  margin: .42rem 0 0;
  font-size: clamp(1.35rem, 2vw, 2.1rem);
  line-height: 1.12;
  color: #f0f9ff;
  max-width: 14ch;
}

.lppd-store-license-integrator__hero-copy {
  margin: .7rem 0 .9rem;
  color: rgba(224, 242, 254, .88);
  line-height: 1.5;
  max-width: 62ch;
}

.lppd-store-license-integrator__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.lppd-store-license-integrator__hero-aside {
  display: grid;
  gap: .75rem;
  align-content: start;
}

.lppd-store-license-integrator__hero-panel,
.lppd-store-license-integrator__hero-note,
.lppd-store-license-integrator__surface,
.lppd-store-license-integrator__stage-card {
  border: 1px solid rgba(148, 163, 184, .16);
  background: linear-gradient(180deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .72));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
}

.lppd-store-license-integrator__hero-panel,
.lppd-store-license-integrator__hero-note {
  padding: .9rem;
  border-radius: 18px;
}

.lppd-store-license-integrator__hero-panel-label {
  display: block;
  margin-bottom: .55rem;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #93c5fd;
}

.lppd-store-license-integrator__hero-endpoints {
  display: grid;
  gap: .45rem;
}

.lppd-store-license-integrator__hero-endpoint-row {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.lppd-store-license-integrator__hero-endpoints code {
  display: inline-flex;
  align-items: center;
  padding: .36rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(186, 230, 253, .22);
  background: rgba(8, 51, 68, .72);
  color: #e0f2fe;
  font-size: .76rem;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lppd-store-license-integrator__copybtn {
  border: 1px solid rgba(125, 211, 252, .24);
  border-radius: 999px;
  background: rgba(15, 23, 42, .78);
  color: #e0f2fe;
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .03em;
  padding: .34rem .58rem;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, background .18s ease, color .18s ease;
  white-space: nowrap;
}

.lppd-store-license-integrator__copybtn:hover {
  border-color: rgba(125, 211, 252, .48);
  background: rgba(8, 47, 73, .92);
  transform: translateY(-1px);
}

.lppd-store-license-integrator__copybtn:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.lppd-store-license-integrator__copybtn.is-copied {
  border-color: rgba(34, 197, 94, .42);
  background: rgba(20, 83, 45, .85);
  color: #dcfce7;
}

.lppd-store-license-integrator__hero-note strong {
  display: block;
  margin-bottom: .35rem;
  color: #f8fafc;
}

.lppd-store-license-integrator__stage-grid,
.lppd-store-license-integrator__operations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.lppd-store-license-integrator__stage-grid {
  margin-bottom: 1rem;
}

.lppd-store-license-integrator__stage-card {
  border-radius: 20px;
  padding: .95rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.lppd-store-license-integrator__stage-step,
.lppd-store-license-integrator__wizard-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  padding: .25rem .45rem;
  border-radius: 999px;
  background: rgba(14, 165, 233, .16);
  color: #7dd3fc;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.lppd-store-license-integrator__stage-card h5,
.lppd-store-license-integrator__wizard-panel h5 {
  margin: 0;
  font-size: 1rem;
  color: #f8fafc;
}

.lppd-store-license-integrator__stage-card p,
.lppd-store-license-integrator__wizard-panel p {
  margin: 0;
  color: #cbd5e1;
  line-height: 1.55;
}

.lppd-store-license-integrator__workspace {
  display: grid;
  gap: 1rem;
}

.lppd-store-license-integrator__surface {
  border-radius: 22px;
  padding: 1rem;
}

.lppd-store-license-integrator__surface-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .8rem;
  margin-bottom: .9rem;
}

.lppd-store-license-integrator__surface-head .lppd-store-license-integrator__subheading {
  margin: .35rem 0 0;
}

.lppd-store-license-integrator__section-copy {
  margin: .35rem 0 0;
  max-width: 64ch;
}

.lppd-store-license-integrator__surface--api {
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(59, 130, 246, .16), transparent 50%),
    linear-gradient(180deg, rgba(15, 23, 42, .82), rgba(2, 6, 23, .78));
}

.lppd-store-license-integrator__surface--metrics .lppd-store-license-integrator__overview {
  margin: 0;
}

.lppd-store-license-integrator__overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
  margin: .85rem 0 1rem;
}

.lppd-store-license-integrator__stat {
  border-radius: 18px;
  padding: .9rem;
  border-color: rgba(125, 211, 252, .12);
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(14, 165, 233, .12), transparent 60%),
    linear-gradient(180deg, rgba(30, 41, 59, .72), rgba(15, 23, 42, .66));
}

.lppd-store-license-integrator__table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 18px;
  margin: .75rem 0 0;
  background: rgba(2, 6, 23, .34);
}

.lppd-store-license-integrator__products {
  gap: .55rem;
  margin: .25rem 0 0;
}

.lppd-store-license-integrator__product-row {
  padding: .72rem .8rem;
  border-radius: 14px;
}

.lppd-store-license-integrator__manual-body--surface {
  padding: 0;
  border-top: 0;
}

.lppd-store-license-integrator__manual-form {
  margin-top: .8rem;
}

.lppd-store-license-integrator__wizard {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.lppd-store-license-integrator__wizard[hidden] {
  display: none !important;
}

.lppd-store-license-integrator__wizard-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .72);
  backdrop-filter: blur(6px);
}

.lppd-store-license-integrator__wizard-dialog {
  position: relative;
  z-index: 1;
  width: min(1120px, 100%);
  max-height: min(90vh, 920px);
  overflow: auto;
  border-radius: 28px;
  border: 1px solid rgba(125, 211, 252, .18);
  background:
    radial-gradient(140% 180% at 100% 0%, rgba(14, 165, 233, .12), transparent 48%),
    linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .98));
  box-shadow: 0 40px 120px rgba(2, 6, 23, .58);
}

.lppd-store-license-integrator__wizard-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.15rem .9rem;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
}

.lppd-store-license-integrator__wizard-title {
  margin: .35rem 0 0;
  color: #f8fafc;
  font-size: 1.35rem;
}

.lppd-store-license-integrator__wizard-copy {
  margin: .45rem 0 0;
  max-width: 72ch;
}

.lppd-store-license-integrator__wizard-close {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .18);
  background: rgba(15, 23, 42, .8);
  color: #e2e8f0;
  font-size: 1.4rem;
  cursor: pointer;
}

.lppd-store-license-integrator__wizard-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 1.15rem 1.15rem;
}

.lppd-store-license-integrator__wizard-nav {
  display: grid;
  gap: .55rem;
  align-content: start;
}

.lppd-store-license-integrator__wizard-navbtn {
  width: 100%;
  text-align: left;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, .12);
  background: rgba(15, 23, 42, .76);
  color: #cbd5e1;
  padding: .8rem .9rem;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.lppd-store-license-integrator__wizard-navbtn:hover,
.lppd-store-license-integrator__wizard-navbtn.is-active {
  border-color: rgba(125, 211, 252, .34);
  background: rgba(8, 47, 73, .78);
  color: #f0f9ff;
  transform: translateY(-1px);
}

.lppd-store-license-integrator__wizard-panels {
  min-width: 0;
}

.lppd-store-license-integrator__wizard-panel {
  display: none;
  gap: .75rem;
}

.lppd-store-license-integrator__wizard-panel.is-active {
  display: grid;
}

.lppd-store-license-integrator__wizard-points {
  margin: .15rem 0 0;
  padding-left: 1.2rem;
  color: #cbd5e1;
  display: grid;
  gap: .45rem;
}

.lppd-store-license-integrator__wizard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .3rem;
}

body.lppd-lpi-wizard-open {
  overflow: hidden;
}

/* Setup guide */
.lppd-store-license-integrator__guide {
  margin: .85rem 0;
  border: 1px solid rgba(99, 179, 237, .22);
  border-radius: 12px;
  background: rgba(12, 25, 60, .38);
  overflow: hidden;
}

.lppd-store-license-integrator__guide-summary {
  list-style: none;
  cursor: pointer;
  padding: .7rem .9rem;
  font-weight: 600;
  color: #93c5fd;
  background: rgba(15, 23, 42, .6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
}
.lppd-store-license-integrator__guide-summary::-webkit-details-marker { display: none; }
.lppd-store-license-integrator__guide-summary::marker { display: none; }
.lppd-store-license-integrator__guide-summary::after {
  content: '\25be';
  font-size: .85rem;
  color: #93c5fd;
  transition: transform .2s ease;
  flex-shrink: 0;
}
details.lppd-store-license-integrator__guide[open] > .lppd-store-license-integrator__guide-summary::after {
  transform: rotate(-180deg);
}

.lppd-store-license-integrator__guide-body {
  padding: .85rem .9rem 1rem;
}

.lppd-store-license-integrator__guide-steps {
  margin: 0;
  padding-left: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

.lppd-store-license-integrator__guide-steps li strong {
  color: #e2e8f0;
  display: block;
  margin-bottom: .1rem;
}

.lppd-store-license-integrator__guide-steps p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
}

.lppd-store-license-integrator__guide-endpoints {
  margin: .35rem 0 0 .5rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .3rem;
}

.lppd-store-license-integrator__guide-endpoints li {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.lppd-store-license-integrator__guide-endpoints code {
  font-size: .78rem;
  background: rgba(15, 23, 42, .6);
  border: 1px solid rgba(148, 163, 184, .14);
  padding: .2rem .5rem;
  border-radius: 5px;
  word-break: break-all;
  display: inline-block;
  flex: 1 1 auto;
}

.lppd-store-license-integrator__script-kit {
  margin: .85rem 0 1rem;
}

.lppd-store-license-integrator__script-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .7rem;
  margin-top: .65rem;
}

.lppd-store-license-integrator__script-card {
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(15, 23, 42, .66), rgba(2, 6, 23, .72));
  overflow: hidden;
}

.lppd-store-license-integrator__script-card h5 {
  margin: 0;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #93c5fd;
}

.lppd-store-license-integrator__script-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .52rem .68rem;
  border-bottom: 1px solid rgba(148, 163, 184, .2);
}

.lppd-store-license-integrator__script-card pre {
  margin: 0;
  max-height: 210px;
  overflow: auto;
  padding: .6rem .68rem .7rem;
  background: rgba(2, 6, 23, .55);
}

.lppd-store-license-integrator__script-card code {
  font-family: ui-monospace, 'Cascadia Code', monospace;
  font-size: .74rem;
  line-height: 1.5;
  color: #cbd5e1;
  white-space: pre;
}

/* Compact API key status bar */
.lppd-store-license-integrator__key-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  margin: .65rem 0 .55rem;
  padding: .6rem .75rem;
  background: rgba(15, 23, 42, .34);
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 10px;
}

.lppd-store-license-integrator__key-prefix {
  font-family: ui-monospace, 'Cascadia Code', monospace;
  font-size: .83rem;
  color: #bfdbfe;
  letter-spacing: .06em;
}

.lppd-store-license-integrator__key-prefix span {
  opacity: .5;
  letter-spacing: .04em;
}

.lppd-store-license-integrator__key-meta {
  margin-left: auto;
  font-size: .79rem;
}

/* Licensed products list */
.lppd-store-license-integrator__products {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: .5rem 0 .9rem;
}

.lppd-store-license-integrator__product-row {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .52rem .75rem;
  background: rgba(15, 23, 42, .3);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 8px;
  flex-wrap: wrap;
}

.lppd-store-license-integrator__product-title {
  flex: 1 1 200px;
  font-size: .88rem;
  color: #e2e8f0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lppd-store-license-integrator__mode-badge {
  display: inline-flex;
  align-items: center;
  padding: .18rem .55rem;
  border-radius: 999px;
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.lppd-store-license-integrator__mode-badge--auto {
  background: rgba(59, 130, 246, .18);
  color: #93c5fd;
}

.lppd-store-license-integrator__mode-badge--pool {
  background: rgba(16, 185, 129, .18);
  color: #a7f3d0;
}

/* Generate manually — improved form */
.lppd-store-license-integrator__manual {
  margin-top: 1rem;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 12px;
  background: rgba(15, 23, 42, .34);
  overflow: hidden;
}

.lppd-store-license-integrator__manual-summary {
  list-style: none;
  cursor: pointer;
  padding: .72rem .9rem;
  font-weight: 600;
  color: #bfdbfe;
  background: rgba(15, 23, 42, .75);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  user-select: none;
}
.lppd-store-license-integrator__manual-summary::-webkit-details-marker { display: none; }
.lppd-store-license-integrator__manual-summary::marker { display: none; }
.lppd-store-license-integrator__manual-summary::after {
  content: '\25be';
  font-size: .85rem;
  color: #93c5fd;
  transition: transform .2s ease;
  flex-shrink: 0;
}
details.lppd-store-license-integrator__manual[open] > .lppd-store-license-integrator__manual-summary::after {
  transform: rotate(-180deg);
}

.lppd-store-license-integrator__manual-body {
  padding: .9rem .9rem 1rem;
  border-top: 1px solid rgba(148, 163, 184, .12);
}

.lppd-store-license-integrator__manual-body > p {
  margin: 0 0 .85rem;
  font-size: .83rem;
  line-height: 1.5;
}

.lppd-store-license-integrator__manual-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .7rem;
  align-items: start;
}

.lppd-store-license-integrator__manual-form .lppd-store-license-integrator__filter > span {
  font-size: .74rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lppd-store-license-integrator__manual-form input[required] {
  border-color: rgba(99, 179, 237, .35);
}

.lppd-store-license-integrator__filter--full,
.lppd-store-license-integrator__manual-actions {
  grid-column: 1 / -1;
}

.lppd-store-license-integrator__manual-actions {
  display: flex;
  justify-content: flex-start;
  padding-top: .2rem;
}

@media (max-width: 800px) {
  .lppd-store-license-integrator__hero,
  .lppd-store-license-integrator__wizard-shell,
  .lppd-store-license-integrator__stage-grid,
  .lppd-store-license-integrator__operations {
    grid-template-columns: 1fr;
  }

  .lppd-store-license-integrator__surface-head,
  .lppd-store-license-integrator__wizard-header {
    flex-direction: column;
  }

  .lppd-store-license-integrator__table {
    min-width: 640px;
  }

  .lppd-store-license-integrator__key-meta {
    margin-left: 0;
  }

  .lppd-store-license-integrator__wizard {
    padding: .65rem;
  }

  .lppd-store-license-integrator__wizard-dialog {
    max-height: min(94vh, 920px);
    border-radius: 22px;
  }
}

/* SKU read-only display */
.lppd-store-editor__sku-display {
  display: block;
  padding: .4rem .65rem;
  background: #1a2437;
  border: 1px solid var(--lppd-border, #dee2e6);
  border-radius: 6px;
  font-family: monospace;
  font-size: .9rem;
  color: var(--lppd-text, #333);
  user-select: all;
}

select:not([multiple]) {
    appearance: none;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(30, 41, 59, .55), rgba(15, 23, 42, .45));
    padding: .75rem .8rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

/* small helper hint text */
.lppd-form-hint {
  display: block;
  margin-top: .25rem;
  font-size: .78rem;
  color: var(--lppd-text-muted, #888);
}

/* ── Tabs ── */
.lppd-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid var(--lppd-border, #dee2e6);
  padding-bottom: 0;
}

.lppd-tabs__nav [data-lppd-tab] {
  padding: .45rem .9rem;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: none;
  cursor: pointer;
  font-size: .9rem;
  color: var(--lppd-text-muted, #666);
  border-radius: 4px 4px 0 0;
  transition: color .15s, border-color .15s;
}

.lppd-tabs__nav [data-lppd-tab]:hover {
  color: var(--lppd-primary, #0073aa);
}

.lppd-tabs__nav [data-lppd-tab][aria-selected="true"] {
  color: var(--lppd-primary, #0073aa);
  border-bottom-color: var(--lppd-primary, #0073aa);
  font-weight: 600;
}

.lppd-tabs__panel {
  padding: 1.25rem;
  border: 1px solid var(--lppd-border, #dee2e6);
  border-radius: 0 6px 6px 6px;
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
}

.lppd-tabs__panel label {
  display: block;
  margin-bottom: 1em;
  font-size: 1.1em;
  color: #ffffff;
}

.lppd-tabs__panel[hidden] {
  display: none;
}

/* ── Media picker ── */
.lppd-media-picker {
  padding: 1rem;
  border: 1px dashed var(--lppd-border, #ccc);
  border-radius: 8px;
  margin-bottom: 1rem;
}

.lppd-media-picker__title {
  margin: 0 0 .35rem;
  font-size: 1rem;
  font-weight: 600;
}

.lppd-media-picker__preview {
  display: block;
  max-width: 200px;
  max-height: 150px;
  object-fit: cover;
  border-radius: 6px;
  margin: .5rem 0;
  border: 1px solid var(--lppd-border, #dee2e6);
}

.lppd-media-picker__actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

/* ── Gallery thumbs ── */
.lppd-gallery-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .5rem 0 .75rem;
}

.lppd-gallery-thumbs__item {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--lppd-border, #dee2e6);
}

.lppd-gallery-thumbs__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lppd-gallery-thumbs__remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  background: rgba(0,0,0,.55);
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: .75rem;
  padding: 0;
}

.lppd-gallery-thumbs__remove:hover {
  background: rgba(0,0,0,.8);
}

/* ── Compatible-with list ── */
.lppd-compat-list {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.lppd-compat-list__item {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.lppd-compat-list__item .lppd-input {
  flex: 1;
}

/* ── Version log ── */
.lppd-version-log-list {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-version-log-list__item {
  padding: 1rem;
  border: 1px solid var(--lppd-border, #dee2e6);
  border-radius: 8px;
  background: #080c17;
}

.lppd-version-log-list__header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem;
  align-items: start;
  margin-bottom: .5rem;
}

.lppd-version-log-list__remove {
  align-self: start;
  margin-top: .25rem;
}

/* medium-height textarea for version log changes */
.lppd-textarea--medium {
  min-height: 100px;
}

/* ── Button size variant: xs ── */
.lppd-button--xs {
  padding: .2rem .5rem;
  font-size: .75rem;
}

/* —— Store workspace (hub / sub-sections) — site.html Digital store parity —— */
.lppd-store-workspace {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lppd-store-callout {
  border-radius: 1rem;
  border: 1px solid rgba(16, 185, 129, 0.22);
  background: rgba(16, 185, 129, 0.06);
  padding: 0.85rem 1.1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(203, 213, 225, 0.95);
  margin: 0 0 1rem;
  max-width: 56rem;
}

.lppd-store-callout strong {
  color: rgba(167, 243, 208, 0.95);
  font-weight: 600;
}

.lppd-store-hero {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
}

@media (min-width: 1024px) {
  .lppd-store-hero {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
  }
}

.lppd-store-hero__body {
  flex: 1 1 18rem;
  min-width: 0;
}

.lppd-store-hero__lead {
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(148, 163, 184, 0.95);
  max-width: 48rem;
}

.lppd-store-hero__cta {
  flex-shrink: 0;
}

.lppd-store-subnav {
  margin: 0 0 0.25rem;
  padding: 0.35rem 0 1rem;
  border-bottom: 1px solid rgba(51, 65, 85, 0.65);
}

.lppd-store-subnav__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lppd-store-subnav__link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.95rem;
  border-radius: 1rem;
  border: 1px solid rgba(51, 65, 85, 0.85);
  background: rgba(15, 23, 42, 0.45);
  color: rgba(148, 163, 184, 0.95);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lppd-store-subnav__link:hover {
  color: rgba(255, 255, 255, 0.96);
  border-color: rgba(71, 85, 105, 0.95);
}

.lppd-store-subnav__link.is-active {
  background: rgba(56, 189, 248, 0.14);
  border-color: rgba(56, 189, 248, 0.4);
  color: rgba(255, 255, 255, 0.98);
}

.lppd-store-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: 1rem;
  margin: 0 0 1.25rem;
}

.lppd-store-stats__item {
  padding: 1.15rem 1.25rem;
  border-radius: var(--lppd-radius);
  border: 1px solid rgba(51, 65, 85, 0.85);
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lppd-store-stats__item--accent {
  border-color: rgba(16, 185, 129, 0.28);
  background: linear-gradient(145deg, rgba(6, 78, 59, 0.22) 0%, rgba(15, 23, 42, 0.98) 100%);
}

.lppd-store-stats__value {
  font-size: clamp(1.85rem, 3vw, 2.25rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  color: rgba(255, 255, 255, 0.98);
}

.lppd-store-stats__item--accent .lppd-store-stats__value {
  color: rgba(52, 211, 153, 0.95);
}

.lppd-store-stats__label {
  font-size: 0.6875rem;
  color: rgb(100, 116, 139);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 600;
}

.lppd-store-stats__hint {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: rgba(148, 163, 184, 0.85);
}

.lppd-store-hub__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  margin-top: 0.35rem;
}

@media (min-width: 1024px) {
  .lppd-store-hub__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .lppd-store-hub__grid > .lppd-store-hub-card:first-child {
    grid-column: span 5;
  }

  .lppd-store-hub__grid > .lppd-store-hub-card:last-child {
    grid-column: span 7;
  }
}

.lppd-store-hub-card__title {
  margin: 0 0 0.75rem;
  font-family: var(--lppd-font-display, inherit);
  font-size: 1.05rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.96);
}

.lppd-store-hub-card--cta .lppd-store-hub-card__title {
  margin-bottom: 0.5rem;
}

.lppd-store-hub-actions {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lppd-store-hub-actions li {
  margin: 0.35rem 0;
}

.lppd-store-hub-actions__link {
  font-weight: 500;
  color: var(--lppd-accent);
  text-decoration: none;
}

.lppd-store-hub-actions__link:hover {
  text-decoration: underline;
}

.lppd-store-hub__footer-note {
  margin-top: 0.5rem;
}

.lppd-store-faq__list--compact .lppd-store-faq__q {
  font-size: 0.95rem;
}

.lppd-store-faq__list--compact .lppd-store-faq__a {
  font-size: 0.9rem;
  color: var(--lppd-text-muted);
}

.lppd-store-panel-head {
  margin-bottom: 1rem;
}

.lppd-store-seller--panel-licenses .lppd-store-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

/* Store product editor category picker (workspace) */
.lppd-cat-picker {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) minmax(220px, 1fr);
  gap: .9rem;
  align-items: start;
}

.lppd-cat-picker__step--1 {
  grid-column: 1;
}

.lppd-cat-picker__sub-area {
  grid-column: 2 / span 2;
}

.lppd-cat-picker__sub-fieldset--grid {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
  gap: .75rem;
}

.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__sub-heading[data-depth="0"],
.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__leaf[data-depth="0"] {
  grid-column: 1;
}

.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__sub-heading[data-depth="1"],
.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__leaf[data-depth="1"],
.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__sub-heading[data-depth="2"],
.lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__leaf[data-depth="2"] {
  grid-column: 2;
}

.lppd-cat-picker__sub-heading {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 600;
  margin: 0;
}

.lppd-cat-picker__sub-heading input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
}

.lppd-cat-picker__branch-children {
  display: grid;
  gap: .5rem;
}

.lppd-cat-picker__branch-children[hidden] {
  display: none !important;
}

/* ── Root-level category tiles ── */
.lppd-cat-picker__root-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .5rem;
}

.lppd-cat-picker__root-tile {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .4rem .8rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
  font-size: .9rem;
  font-weight: 500;
  transition: border-color .15s, background .15s;
}

.lppd-cat-picker__root-tile:hover {
  border-color: rgba(255, 255, 255, .25);
  background: rgba(255, 255, 255, .07);
}

.lppd-cat-picker__root-tile--active {
  border-color: var(--lppd-accent, #6eb5ff);
  background: rgba(110, 181, 255, .1);
  color: var(--lppd-accent, #6eb5ff);
  font-weight: 600;
}

.lppd-cat-picker__root-tile input[type="radio"] {
  display: none;
}

/* ── Three-level cascade: mid-level subcategory tiles ── */
.lppd-cat-picker__mid-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .45rem 0 .6rem;
}

.lppd-cat-picker__mid-tile {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3rem .65rem;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
  font-size: .85rem;
  transition: border-color .15s, background .15s;
}

.lppd-cat-picker__mid-tile:hover {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .07);
}

.lppd-cat-picker__mid-tile--active {
  border-color: var(--lppd-accent, #6eb5ff);
  background: rgba(110, 181, 255, .08);
  color: var(--lppd-accent, #6eb5ff);
}

.lppd-cat-picker__mid-tile input[type="radio"] {
  display: none;
}

.lppd-cat-picker__mid-leaves[hidden] {
  display: none !important;
}

.lppd-cat-picker__sub-area[hidden],
.lppd-cat-picker__sub-fieldset[hidden] {
  display: none !important;
}

@media (max-width: 960px) {
  .lppd-cat-picker {
    grid-template-columns: 1fr;
  }

  .lppd-cat-picker__step--1,
  .lppd-cat-picker__sub-area {
    grid-column: auto;
  }

  .lppd-cat-picker__sub-fieldset--grid {
    grid-template-columns: 1fr;
  }

  .lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__sub-heading,
  .lppd-cat-picker__sub-fieldset--grid .lppd-cat-picker__leaf {
    grid-column: auto !important;
  }
}

.lppd-purchases-list li {
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-purchases-list li:last-child {
  border-bottom: none;
}

/* —— Workspace settings: account profile —— */
.lppd-account-form {
  margin-top: 1rem;
}

.lppd-account-form__fieldset {
  border: 1px solid var(--lppd-border, rgba(255, 255, 255, 0.08));
  border-radius: var(--lppd-radius, 10px);
  padding: 1rem 1.1rem 1.15rem;
  margin: 0 0 1.25rem;
}

.lppd-account-form__legend {
  padding: 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--lppd-text, rgba(255, 255, 255, 0.92));
}

.lppd-account-form__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.85rem 1rem;
  margin-top: 0.75rem;
}

.lppd-account-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
}

.lppd-account-form__field--wide {
  grid-column: 1 / -1;
}

.lppd-account-form__label {
  font-size: 0.8rem;
  color: var(--lppd-text-muted, rgba(255, 255, 255, 0.55));
}

.lppd-account-form__input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.65rem;
  border-radius: 8px;
  border: 1px solid var(--lppd-border, rgba(255, 255, 255, 0.1));
  background: var(--lppd-bg-1, rgba(0, 0, 0, 0.25));
  color: var(--lppd-text, rgba(255, 255, 255, 0.92));
  font-size: 0.9rem;
}

.lppd-account-form__input:focus {
  outline: 2px solid var(--lppd-focus, #6eb5ff);
  outline-offset: 1px;
}

.lppd-account-form__input[readonly] {
  opacity: 0.75;
  cursor: not-allowed;
}

.lppd-account-form__avatar-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

.lppd-account-form__avatar-preview {
  width: 96px;
  height: 96px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--lppd-border, rgba(255, 255, 255, 0.1));
  background: var(--lppd-bg-1, rgba(0, 0, 0, 0.2));
}

.lppd-account-form__avatar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.lppd-account-form__actions {
  margin-top: 0.5rem;
}

[data-lppd-account-notice]:not([hidden]) {
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  border: 1px solid var(--lppd-border, rgba(255, 255, 255, 0.12));
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.9rem;
}

[data-lppd-account-notice].is-visible:not(.lppd-dashboard__notice--error) {
  border-color: var(--lppd-accent, #7ee787);
  color: var(--lppd-accent, #9ee8a8);
}

/* ============================================================
   NEW COMPONENTS — Archive listing cards, filter bar, badges,
   gig/job/store single pages, breadcrumb, jobs hub,
   topbar upgrade button, client overview upgrade card.
   ============================================================ */

/* ── Breadcrumb nav ───────────────────────────────────────── */
.lppd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.82rem;
  margin: 0 0 1rem;
}

.lppd-breadcrumb a {
  color: var(--lppd-accent);
  text-decoration: none;
}

.lppd-breadcrumb a:hover {
  text-decoration: underline;
}

.lppd-breadcrumb span[aria-hidden] {
  color: var(--lppd-text-muted);
  margin: 0 0.1rem;
}


/* ── Directory container ──────────────────────────────────── */
.lppd-directory {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-directory__count {
  font-size: 0.85rem;
  color: var(--lppd-text-muted);
  margin: 0;
}

.lppd-directory__empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--lppd-text-muted);
  font-size: 0.95rem;
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: var(--lppd-radius);
}

.lppd-directory__seller-header {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 0.5rem;
}

.lppd-directory__seller-avatar img {
  border-radius: 50%;
  object-fit: cover;
}

.lppd-directory__seller-name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--lppd-text);
  margin: 0;
}

/* ── Filter bar ───────────────────────────────────────────── */
.lppd-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: flex-end;
  margin: 0.5rem 0 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-bg-1);
}

.lppd-filter-bar__group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1 1 160px;
  min-width: 0;
}

.lppd-filter-bar__group--narrow {
  flex-basis: 110px;
}

.lppd-filter-bar__group--wide {
  flex-basis: 220px;
}

.lppd-filter-bar label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--lppd-text-muted);
  font-weight: 600;
}

.lppd-filter-bar .lppd-input,
.lppd-filter-bar select {
  max-width: none;
  height: 2.25rem;
  padding: 0.4rem 0.65rem;
  font-size: 0.875rem;
}

.lppd-filter-bar__actions {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  flex-shrink: 0;
}


/* ── Listing grid ─────────────────────────────────────────── */
.lppd-listing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
}

.lppd-listing-grid--jobs {
  grid-template-columns: 1fr;
  max-width: 52rem;
}

@media (min-width: 1200px) {
  .lppd-listing-grid--jobs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
  }
}

/* ── Listing card ─────────────────────────────────────────── */
.lppd-listing-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lppd-listing-card:hover {
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

/* Image wrap */
.lppd-listing-card__image-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--lppd-bg-2);
  overflow: hidden;
}

.lppd-listing-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lppd-listing-card__img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.9) 0%, rgba(15, 23, 42, 0.95) 100%);
  color: var(--lppd-text-muted);
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.lppd-listing-card__price-badge {
  position: absolute;
  bottom: 0.6rem;
  right: 0.6rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: rgba(10, 15, 28, 0.82);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: rgba(255, 255, 255, 0.98);
  font-size: 0.82rem;
  font-weight: 600;
  backdrop-filter: blur(4px);
  white-space: nowrap;
}

.lppd-listing-card__price-badge--free {
  border-color: rgba(52, 211, 153, .5);
  color: #a7f3d0;
  background: rgba(10, 30, 20, 0.82);
}

/* Card body */
.lppd-listing-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  flex: 1;
}

.lppd-listing-card__title {
  margin: 0;
  font-size: 0.975rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--lppd-text);
}

.lppd-listing-card__title a {
  color: inherit;
  text-decoration: none;
}

.lppd-listing-card__title a:hover {
  color: var(--lppd-accent);
}

/* Seller row */
.lppd-listing-card__seller {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: var(--lppd-text-muted);
}

.lppd-listing-card__seller a {
  color: var(--lppd-text-muted);
  text-decoration: none;
}

.lppd-listing-card__seller a:hover {
  color: var(--lppd-text);
}

.lppd-listing-card__avatar img {
  border-radius: 50%;
  vertical-align: middle;
  object-fit: cover;
}

/* Rating stars */
.lppd-listing-card__rating {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
}

.lppd-listing-card__stars {
  color: rgba(251, 191, 36, 0.92);
  letter-spacing: -0.02em;
  font-size: 0.9em;
}

/* Taxonomy tags */
.lppd-listing-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
}

.lppd-tag {
  display: inline-block;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.04);
  color: var(--lppd-text-muted);
  font-size: 0.75rem;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color 0.12s ease, color 0.12s ease;
}

.lppd-tag:hover {
  border-color: var(--lppd-accent);
  color: var(--lppd-accent);
  text-decoration: none;
}

.lppd-tag--category {
  border-color: rgba(56, 189, 248, 0.3);
  color: rgba(147, 210, 246, 0.95);
  background: rgba(56, 189, 248, 0.06);
}

.lppd-tag--category:hover {
  border-color: rgba(56, 189, 248, 0.65);
  color: rgba(56, 189, 248, 0.98);
}

/* Excerpt */
.lppd-listing-card__excerpt {
  margin: 0;
  font-size: 0.85rem;
  color: var(--lppd-text-muted);
  line-height: 1.5;
  flex: 1;
}

/* Badge row (jobs: budget, type, exp, length) */
.lppd-listing-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
}

.lppd-badge {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  border: 1px solid var(--lppd-border);
  background: var(--lppd-bg-2);
  color: var(--lppd-text-muted);
  font-size: 0.75rem;
  white-space: nowrap;
}

.lppd-badge--type {
  border-color: rgba(167, 139, 250, 0.35);
  background: rgba(109, 40, 217, 0.1);
  color: rgba(196, 181, 253, 0.95);
}

.lppd-badge--budget {
  border-color: rgba(52, 211, 153, 0.3);
  background: rgba(6, 78, 59, 0.15);
  color: rgba(110, 231, 183, 0.95);
}

/* Posted date / client row in job card */
.lppd-listing-card__posted {
  font-size: 0.75rem;
  color: var(--lppd-text-muted);
  margin: 0;
}

/* Card footer (price + CTA) */
.lppd-listing-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.lppd-listing-card__price {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-button--sm {
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  border-radius: 999px;
}

.lppd-button--block {
  display: block;
  width: 100%;
  text-align: center;
}

/* ── Gig single page ──────────────────────────────────────── */
.lppd-gig--detail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lppd-gig__hero {
  border-radius: var(--lppd-radius);
  overflow: hidden;
  max-height: 22rem;
}

.lppd-gig__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lppd-gig__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lppd-gig__title {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 1.85rem);
  font-weight: 700;
  color: var(--lppd-text);
  line-height: 1.2;
}

.lppd-gig__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
}

.lppd-gig__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.9rem;
}

.lppd-gig__posted {
  margin: 0;
  font-size: 0.8rem;
}

/* Seller card */
.lppd-gig__seller-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lppd-gig__seller-card h3 {
  margin: 0 0 0.25rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--lppd-text-muted);
  font-weight: 600;
}

.lppd-product__seller-row {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.lppd-product__seller-avatar,
.lppd-product__seller-avatar img {
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.lppd-gig__seller-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Order card */
.lppd-gig__order-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.lppd-gig__order-card h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--lppd-text);
}

/* Description card */
.lppd-gig__description {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.lppd-gig__description h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-gig__content {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--lppd-text);
}

.lppd-gig__content p {
  margin: 0 0 0.75rem;
}

/* ── Job single page ──────────────────────────────────────── */
.lppd-job--detail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* ── Topbar upgrade button (client persona) ───────────────── */
.lppd-topbar__upgrade {
  font-size: 0.82rem;
  white-space: nowrap;
  border-color: rgba(56, 189, 248, 0.35);
  color: rgba(147, 210, 246, 0.98);
}

.lppd-topbar__upgrade:hover,
.lppd-topbar__upgrade:focus {
  border-color: rgba(56, 189, 248, 0.7);
  color: rgba(255, 255, 255, 0.99);
}

/* ── Client overview ──────────────────────────────────────── */
.lppd-role-dashboard--client {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lppd-client-overview {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lppd-client-overview__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lppd-text);
}

.lppd-client-overview__lead {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--lppd-text-muted);
  max-width: 48rem;
}

.lppd-client-overview__upgrade {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-width: 28rem;
}

.lppd-client-overview__upgrade h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--lppd-text);
}

/* ── Jobs hub (freelancer / agency) ───────────────────────── */
.lppd-jobs-hub {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.lppd-jobs-hub__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.lppd-jobs-hub__heading {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-jobs-hub__my-jobs h3,
.lppd-jobs-hub__directory-h {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--lppd-text);
}

.lppd-jobs-hub__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lppd-jobs-hub__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.9rem;
}

.lppd-jobs-hub__item:last-child {
  border-bottom: 0;
}

.lppd-jobs-hub__job-title {
  color: var(--lppd-text);
  text-decoration: none;
  font-weight: 500;
  flex: 1 1 0;
  min-width: 0;
}

.lppd-jobs-hub__job-title:hover {
  color: var(--lppd-accent);
}

.lppd-jobs-hub__directory {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}


/* Badge counter */
.lppd-notif-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 9999px;
  background: var(--lppd-accent, #7c3aed);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  pointer-events: none;
  transition: opacity 0.2s;
}
.lppd-notif-badge.is-hidden {
  opacity: 0;
}

/* Notification panel (dropdown) */
.lppd-notif-panel {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 9999;
  width: 340px;
  max-height: 480px;
  display: flex;
  flex-direction: column;
  background: var(--lppd-surface, #1e1e2e);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--lppd-radius, 6px);
  box-shadow: 0 8px 32px rgba(0,0,0,.45);
  overflow: hidden;
}
/* Anchor to topbar so position: absolute works */
.lppd-topbar__row {
  position: relative;
}
.lppd-notif-panel[hidden] {
  display: none;
}

.lppd-notif-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  flex-shrink: 0;
}
.lppd-notif-panel__title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--lppd-text, #fff);
}

.lppd-notif-panel__list {
  overflow-y: auto;
  flex: 1 1 auto;
}

/* Individual notification items */
.lppd-notif-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.05);
  cursor: default;
  transition: background 0.12s;
}
.lppd-notif-item:last-child {
  border-bottom: 0;
}
.lppd-notif-item:hover {
  background: rgba(255,255,255,.04);
}
.lppd-notif-item.is-unread {
  background: rgba(124,58,237,.08);
}
.lppd-notif-item__subject {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--lppd-text, #fff);
}
.lppd-notif-item__body {
  font-size: 0.78rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.6));
  white-space: pre-wrap;
  word-break: break-word;
}
.lppd-notif-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.2rem;
}
.lppd-notif-item__time {
  font-size: 0.72rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.45));
}
.lppd-notif-item__mark-read {
  font-size: 0.72rem;
  color: var(--lppd-accent, #7c3aed);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}
.lppd-notif-item__mark-read:hover {
  color: var(--lppd-accent-light, #a78bfa);
}

/* Empty / loading states */
.lppd-notif-empty {
  padding: 2rem 1rem;
  text-align: center;
  font-size: 0.82rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.5));
}

/* Notif panel footer — "See all" link */
.lppd-notif-panel__footer {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 0.6rem 1rem;
  text-align: center;
}
.lppd-notif-panel__see-all {
  font-size: 0.78rem;
  color: var(--lppd-accent, #7c3aed);
  text-decoration: none;
}
.lppd-notif-panel__see-all:hover {
  text-decoration: underline;
}

/* ── Notifications full-page view (.lppd-nc) ───────────────── */
.lppd-nc {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.lppd-nc__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid var(--lppd-border, rgba(255,255,255,.08));
  margin-bottom: 0.25rem;
}
.lppd-nc__head .lppd-section-title {
  margin: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.lppd-nc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.3em;
  padding: 0.1em 0.45em;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 10rem;
  background: var(--lppd-color-primary, #7c3aed);
  color: #fff;
}
.lppd-nc-badge--sm {
  font-size: 0.65rem;
  padding: 0.05em 0.35em;
}
.lppd-nc__list {
  display: flex;
  flex-direction: column;
}
.lppd-nc-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--lppd-border, rgba(255,255,255,.06));
  transition: background 0.12s;
}
.lppd-nc-item:last-child {
  border-bottom: 0;
}
.lppd-nc-item:hover {
  background: var(--lppd-surface-hover, rgba(255,255,255,.03));
}
.lppd-nc-item.is-unread {
  background: rgba(124,58,237,.06);
  border-left: 3px solid var(--lppd-color-primary, #7c3aed);
}
.lppd-nc-item__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.lppd-nc-item__subject {
  font-size: 0.88rem;
  font-weight: 600;
}
.lppd-nc-item__text {
  font-size: 0.82rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.65));
  margin: 0;
}
.lppd-nc-item__time {
  font-size: 0.72rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.45));
  margin-top: 0.15rem;
}
.lppd-nc-item__mark-read {
  flex-shrink: 0;
  font-size: 0.72rem;
  color: var(--lppd-accent, #7c3aed);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  align-self: center;
}
.lppd-nc-item__mark-read:hover {
  color: var(--lppd-accent-light, #a78bfa);
}
.lppd-nc__empty {
  padding: 3rem 1rem;
  text-align: center;
  color: var(--lppd-text-muted, rgba(255,255,255,.5));
}
.lppd-nc__pagination {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  padding: 1.25rem 0 0.5rem;
}

/* ── Gantt / Timeline + Time tracking ─────────────────────── */
.lppd-gantt-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: end;
  margin: 0.75rem 0 1rem;
}

.lppd-gantt-toolbar__label {
  display: block;
  width: 100%;
  font-size: 0.82rem;
  color: var(--lppd-text-muted, rgba(255,255,255,.6));
}

.lppd-gantt-toolbar__project {
  min-width: min(28rem, 100%);
}

.lppd-gantt-grid {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  overflow: hidden;
  margin-bottom: 1rem;
}

.lppd-gantt-grid__header,
.lppd-gantt-grid__row {
  display: grid;
  grid-template-columns: minmax(10rem, 2.4fr) minmax(6rem, 1fr) minmax(6rem, 1fr) minmax(7rem, 1.2fr) minmax(6rem, 0.9fr);
  gap: 0.5rem;
  align-items: center;
  padding: 0.6rem 0.75rem;
}

.lppd-gantt-grid__header {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted, rgba(255,255,255,.6));
}

.lppd-gantt-grid__row {
  border-top: 1px solid rgba(255,255,255,.04);
}

.lppd-gantt-grid__row:first-of-type {
  border-top: 0;
}

.lppd-gantt-grid__row--milestone {
  background: rgba(124, 58, 237, 0.06);
}

.lppd-gantt-time-form {
  margin-top: 0.75rem;
}

.lppd-gantt-time-form .lppd-input {
  max-width: 28rem;
}

.lppd-gantt-finance-form {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 0.8rem;
}

.lppd-gantt-finance-form .lppd-input {
  max-width: 28rem;
}

.lppd-gantt-finance-list {
  border: 1px solid var(--lppd-border);
  border-radius: var(--lppd-radius);
  padding: 0.7rem;
  background: rgba(255, 255, 255, 0.02);
}

.lppd-gantt-finance-head {
  margin-bottom: 0.6rem;
}

.lppd-gantt-finance-table {
  display: grid;
  gap: 0;
}

.lppd-gantt-finance-table__header,
.lppd-gantt-finance-table__row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.5rem;
  align-items: center;
  padding: 0.55rem 0.45rem;
}

.lppd-gantt-finance-table__header {
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted, rgba(255,255,255,.6));
}

.lppd-gantt-finance-table__row {
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size: 0.88rem;
}

.lppd-gantt-finance-table__row:last-child {
  border-bottom: 0;
}

@media (max-width: 960px) {
  .lppd-gantt-grid__header {
    display: none;
  }

  .lppd-gantt-grid__row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .lppd-gantt-finance-table__header {
    display: none;
  }

  .lppd-gantt-finance-table__row {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }
}

.lppd-seller-analytics-page {
  display: grid;
  gap: 1rem;
}

.lppd-seller-analytics-kpis__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin-top: 0.65rem;
}

.lppd-seller-analytics-kpi {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0.65rem;
  padding: 0.75rem;
  background: rgba(15, 23, 42, 0.5);
}

.lppd-seller-analytics-kpi span {
  display: block;
  font-size: 0.8rem;
  color: var(--lppd-text-muted, rgba(255, 255, 255, 0.65));
  margin-bottom: 0.35rem;
}

.lppd-seller-analytics-kpi strong {
  font-size: 1.35rem;
  font-weight: 700;
}

.lppd-analytics-panel--seller .lppd-analytics-panel__split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.85rem;
}

.lppd-analytics-chart {
  margin: 0.8rem 0 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.75rem;
  padding: 0.75rem;
  background: rgba(15, 23, 42, 0.46);
}

.lppd-analytics-chart__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-bottom: 0.55rem;
}

.lppd-analytics-chart__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  color: var(--lppd-text-muted, rgba(255, 255, 255, 0.7));
}

.lppd-analytics-chart__dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  display: inline-block;
}

.lppd-analytics-chart__dot--earnings {
  background: #22c55e;
}

.lppd-analytics-chart__dot--spending {
  background: #f59e0b;
}

.lppd-analytics-chart__svg {
  width: 100%;
  height: auto;
  display: block;
}

.lppd-analytics-chart__grid {
  stroke: rgba(255, 255, 255, 0.15);
  stroke-width: 1;
}

.lppd-analytics-chart__line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lppd-analytics-chart__line--earnings {
  stroke: #22c55e;
}

.lppd-analytics-chart__line--spending {
  stroke: #f59e0b;
}

.lppd-analytics-chart__x-label {
  fill: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  text-anchor: middle;
}

.lppd-proposal-builder {
  display: grid;
  gap: 0.85rem;
}

.lppd-proposal-builder__grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.lppd-proposal-builder__col {
  display: grid;
  gap: 0.5rem;
}

.lppd-proposal-builder__textarea {
  min-height: 220px;
  width: 100%;
  resize: vertical;
  line-height: 1.45;
  white-space: pre-wrap;
}

.lppd-proposal-builder__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
}

.lppd-billing-shell {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-billing-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
}

.lppd-billing-hero__title {
  margin: 0 0 0.35rem;
}

.lppd-billing-hero__text {
  margin: 0;
  max-width: 52rem;
}

.lppd-billing-hero__actions {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lppd-billing-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

.lppd-billing-stat-card,
.lppd-billing-panel-card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.lppd-billing-stat-card {
  padding: 1rem 1.05rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lppd-billing-stat-card__label {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.8;
}

.lppd-billing-stat-card__value {
  font-size: 1.02rem;
  line-height: 1.3;
}

.lppd-billing-stat-card__meta {
  color: var(--lppd-muted, #a0a0a0);
  font-size: 0.83rem;
  line-height: 1.45;
}

.lppd-billing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.lppd-billing-panel-card {
  padding: 1.1rem 1.15rem;
}

.lppd-billing-panel-card--spaced {
  margin-top: 0.2rem;
}

.lppd-billing-panel-card__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.8rem;
}

.lppd-billing-panel-card__header h4 {
  margin: 0 0 0.25rem;
}

.lppd-billing-panel-card__header p {
  margin: 0;
}

.lppd-billing-list {
  font-size: 0.94rem;
}

.lppd-billing-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.lppd-billing-choice {
  display: flex;
  gap: 0.8rem;
  align-items: flex-start;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.02);
  cursor: pointer;
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.lppd-billing-choice:hover {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
}

.lppd-billing-choice.is-selected {
  border-color: rgba(56, 189, 248, 0.8);
  background: rgba(17, 24, 39, 0.55);
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.22);
}

.lppd-billing-choice.is-disabled {
  opacity: 0.72;
}

.lppd-billing-choice__radio {
  margin: 0.2rem 0 0;
  accent-color: #38bdf8;
  transform: scale(1.1);
}

.lppd-billing-choice__content {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
}

.lppd-billing-choice__heading-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
}

.lppd-billing-choice__indicator {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.32);
  background: transparent;
  flex-shrink: 0;
}

.lppd-billing-choice.is-selected .lppd-billing-choice__indicator {
  border-color: #38bdf8;
  background: #38bdf8;
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.15);
}

.lppd-billing-choice__text {
  line-height: 1.5;
}

.lppd-billing-choice__pill {
  align-self: flex-start;
}

.lppd-billing-form-actions {
  margin-top: 1rem;
}

.lppd-billing-request-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-end;
  flex-wrap: wrap;
}

.lppd-billing-table th,
.lppd-billing-table td {
  vertical-align: top;
}

.lppd-billing-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.lppd-billing-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 10, 18, 0.74);
  backdrop-filter: blur(3px);
}

.lppd-billing-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(40rem, calc(100vw - 2rem));
  margin: 8vh auto 0;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(16, 20, 31, 0.98), rgba(12, 16, 27, 0.98));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
}

.lppd-billing-modal__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem 0.75rem;
}

.lppd-billing-modal__header h4 {
  margin: 0;
}

.lppd-billing-modal__close {
  border: 0;
  background: transparent;
  color: var(--lppd-text);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.lppd-billing-modal__body {
  padding: 0 1.1rem 1.1rem;
}

.lppd-billing-steps {
  margin: 0;
  padding-left: 1.15rem;
  line-height: 1.6;
}

.lppd-billing-modal__callout {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 1rem 0 0.85rem;
  padding: 0.85rem 0.95rem;
  border-radius: 14px;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.22);
}

.lppd-modal-open {
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE — Mobile-first overrides
   Breakpoints: 640px (sm), 768px (md), 1024px (lg — already in use)
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 980px) {
  .lppd-billing-stats,
  .lppd-billing-grid,
  .lppd-billing-choice-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .lppd-billing-hero,
  .lppd-billing-panel-card__header,
  .lppd-billing-modal__callout {
    flex-direction: column;
  }

  .lppd-billing-hero__actions {
    justify-content: flex-start;
  }

  .lppd-billing-stats,
  .lppd-billing-grid,
  .lppd-billing-choice-grid {
    grid-template-columns: 1fr;
  }

  .lppd-billing-request-row {
    align-items: stretch;
  }

  .lppd-billing-modal__dialog {
    margin-top: 4vh;
  }
}

/* ── Topbar: horizontal scroll on small screens ──────────────── */
@media (max-width: 640px) {
  .lppd-topbar {
    padding: 0.5rem 0.65rem;
  }

  .lppd-topbar__row {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0.35rem;
    padding-bottom: 2px; /* prevent clipping scroll indicator */
  }

  .lppd-topbar__row::-webkit-scrollbar {
    display: none;
  }

  .lppd-topbar__link {
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0.4rem 0.7rem;
    font-size: 0.8rem;
  }

  /* Notification panel: full viewport width on phones */
  .lppd-notif-panel {
    width: calc(100vw - 1.5rem);
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    max-height: 70vh;
  }
}

/* ── Tables: horizontal scroll so they don't overflow ────────── */
@media (max-width: 768px) {
  .lppd-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Wrap any bare lppd table in a scroll container via JS — target the
     common table elements that don't already have a wrapper */
  .lppd-milestones-panel .lppd-table,
  .lppd-projects-list table,
  .lppd-jobs-table,
  .lppd-gig-table,
  .lppd-reviews-table,
  .lppd-applications-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* ── Subscription plan cards: stack to one column ────────────── */
@media (max-width: 640px) {
  .lppd-sub-plan-grid {
    grid-template-columns: 1fr;
  }

  .lppd-sub-plan-card {
    max-width: 100%;
  }
}

/* ── Proposal builder cols: single column ────────────────────── */
@media (max-width: 640px) {
  .lppd-proposal-builder__cols {
    grid-template-columns: 1fr;
  }
}

/* ── Rail: collapse to horizontal strip below main on tablet ─── */
@media (max-width: 1023px) {
  /* Show rail user-controls as a horizontal quick-access bar */
  .lppd-rail-uc-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.25rem;
  }

  .lppd-rail-uc-btn {
    padding: 0.4rem 0.6rem;
    border-radius: var(--lppd-radius, 6px);
    border: 1px solid rgba(255,255,255,.08);
    font-size: 0.75rem;
  }

  .lppd-rail-uc-btn__label {
    font-size: 0.75rem;
  }

  .lppd-rail-uc-meta {
    display: none; /* hide secondary meta line to save space */
  }
}

/* ── Notifications full-page view ────────────────────────────── */
@media (max-width: 640px) {
  .lppd-nc__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .lppd-nc-item {
    flex-direction: column;
    gap: 0.5rem;
  }

  .lppd-nc-item__mark-read {
    align-self: flex-start;
  }

  .lppd-nc__pagination {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
}

/* ── Form rows (frontend gig/job/profile forms) ──────────────── */
@media (max-width: 640px) {
  .lppd-form-row {
    flex-direction: column;
    gap: 0.5rem;
  }

  .lppd-form-row > label,
  .lppd-form-row > .lppd-form-label {
    min-width: unset;
    width: 100%;
  }
}

/* ── Cards + sections: reduce padding on phones ─────────────── */
@media (max-width: 480px) {
  .lppd-card {
    padding: 0.85rem;
  }

  .lppd-section-title {
    font-size: 1.05rem;
  }

  .lppd-button {
    padding: 0.45rem 0.85rem;
    font-size: 0.82rem;
  }
}

/* ── Messenger on mobile ─────────────────────────────────────── */
@media (max-width: 640px) {
  .lppd-messenger {
    grid-template-columns: 1fr;
  }

  .lppd-messenger__thread-list {
    display: none;
  }

  .lppd-messenger__thread-list.is-open {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 999;
    overflow-y: auto;
    background: var(--lppd-surface, #1e1e2e);
  }

  .lppd-messenger__messages {
    min-height: 60vh;
  }
}

/* ── Gantt: horizontal scroll ────────────────────────────────── */
@media (max-width: 768px) {
  .lppd-gantt-canvas-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Pill badge variants ─────────────────────────────────────── */
.lppd-pill--popular {
  background: var(--lppd-accent, #7c3aed);
  color: #fff;
  border-color: transparent;
}

.lppd-pill--pro {
  background: linear-gradient(90deg, #7c3aed 0%, #0ea5e9 100%);
  color: #fff;
  border-color: transparent;
}

/* ── Toggle (styled checkbox switch) ────────────────────────── */
.lppd-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  user-select: none;
}

.lppd-toggle__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.lppd-toggle__track {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  background: var(--lppd-border, #444);
  border-radius: 999px;
  flex-shrink: 0;
  transition: background 0.18s;
}

.lppd-toggle__track::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.18s;
}

.lppd-toggle__input:checked + .lppd-toggle__track {
  background: var(--lppd-accent, #7c3aed);
}

.lppd-toggle__input:checked + .lppd-toggle__track::after {
  transform: translateX(18px);
}

.lppd-toggle__input:focus-visible + .lppd-toggle__track {
  outline: 2px solid var(--lppd-accent, #7c3aed);
  outline-offset: 2px;
}

.lppd-toggle__label {
  font-size: 0.9rem;
  color: var(--lppd-text, #eee);
  line-height: 1.3;
}

/* ── Topbar icon buttons ─────────────────────────────────────── */
.lppd-topbar__icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: none;
  color: var(--lppd-text-muted, #aaa);
  border-radius: 8px;
  cursor: pointer;
  transition: color 0.15s, background 0.15s;
  text-decoration: none;
  flex-shrink: 0;
}

.lppd-topbar__icon-btn:hover {
  color: var(--lppd-text, #eee);
  background: rgba(255, 255, 255, 0.06);
}

.lppd-topbar__icon-btn svg {
  width: 18px;
  height: 18px;
  pointer-events: none;
}

/* ── KPI bar & cards ─────────────────────────────────────────── */
.lppd-kpi-bar {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}

.lppd-kpi-card {
  flex: 1 1 160px;
  min-width: 140px;
  background: var(--lppd-card-surface, #1e1e2e);
  border: 1px solid var(--lppd-border, #333);
  border-radius: 10px;
  padding: 1rem 1.25rem;
}

.lppd-kpi-card__label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--lppd-text-muted, #888);
  margin: 0 0 0.35rem;
}

.lppd-kpi-card__value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--lppd-text, #eee);
}

.lppd-effective-card {
    border: 1px solid var(--lppd-card-border-accent, rgba(56, 189, 248, 0.14));
    border-radius: var(--lppd-radius);
    background: var(--lppd-card-surface, linear-gradient(145deg, #1e293b 0%, #0f172a 100%));
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    padding: 1.25rem 1.35rem;
    width: stretch;
}

@media (max-width: 640px) {
  .lppd-kpi-card {
    flex-basis: calc(50% - 0.5rem);
  }
}

/* ── Subscription page ───────────────────────────────────────── */
.lppd-subscription-page {
  max-width: 100%;
  margin: 0 auto;
}

.lppd-subscription-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.lppd-subscription-plans {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
  align-items: flex-start;
}

.lppd-subscription-plan {
  flex: 1 1 220px;
  position: relative;
  padding: 1.5rem;
  border: 1px solid var(--lppd-border, #333);
  border-radius: 12px;
  background: var(--lppd-card-surface, #1e1e2e);
}

.lppd-subscription-plan--highlight {
  border-color: var(--lppd-accent, #7c3aed);
  box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.25);
}

.lppd-subscription-addon-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.lppd-subscription-addon-card {
  height: 100%;
}

@media (max-width: 1024px) {
  .lppd-subscription-addon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .lppd-subscription-plans {
    flex-direction: column;
  }

  .lppd-subscription-addon-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Add-on card ─────────────────────────────────────────────── */
.lppd-addon-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1rem;
  border: 1px solid var(--lppd-border, #333);
  border-radius: 6px;
  background: var(--lppd-card-surface, #1e1e2e);
}

/* ─── Projects sub-navigation ────────────────────────────────────────── */
.lppd-projects-subnav {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--lppd-border, #2a2a3a);
  margin-bottom: 1.75rem;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.lppd-projects-subnav::-webkit-scrollbar {
  display: none;
}
.lppd-projects-subnav__link {
  display: inline-block;
  padding: 0.625rem 1.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--lppd-text-muted, #8a8aaa);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.lppd-projects-subnav__link:hover,
.lppd-projects-subnav__link:focus-visible {
  color: var(--lppd-text, #e0e0f0);
  outline: none;
}
.lppd-projects-subnav__link.is-active {
  color: var(--lppd-accent, #7c6fff);
  border-bottom-color: var(--lppd-accent, #7c6fff);
  font-weight: 600;
}
[data-lppd-projects-subnav][data-lppd-projects-current='gantt'] .lppd-projects-subnav__link.is-active {
  color: var(--lppd-info, #42a5f5);
  border-bottom-color: var(--lppd-info, #42a5f5);
}
[data-lppd-projects-subnav][data-lppd-projects-current='proposals'] .lppd-projects-subnav__link.is-active {
  color: var(--lppd-success, #66bb6a);
  border-bottom-color: var(--lppd-success, #66bb6a);
}
[data-lppd-projects-subnav][data-lppd-projects-current='applications'] .lppd-projects-subnav__link.is-active {
  color: var(--lppd-warning, #ffb74d);
  border-bottom-color: var(--lppd-warning, #ffb74d);
}
.lppd-project-context {
  position: relative;
}

button.lppd-projects-filterbar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.95rem;
  border-radius: 1rem;
  border: 1px solid transparent;
  color: rgba(203, 213, 225, 0.95);
  text-decoration: none;
  background: rgba(15, 23, 42, 0.35);
  font-size: 0.875rem;
  font-weight: 600;
}

/* Single-project shell + rail Projects subnav */
.lppd-project-context-shell {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.lppd-project-context-shell__command {
  margin: 0 0 0.25rem;
}
.lppd-project-context-shell__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-project-activity-panel {
  padding: 0.75rem 0.85rem;
  border-radius: 10px;
  border: 1px solid var(--lppd-border, #333);
  background: rgba(255, 255, 255, 0.02);
}
.lppd-project-activity-panel__title {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--lppd-text, #e0e0f0);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.lppd-project-activity-panel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  max-height: min(50vh, 22rem);
  overflow-y: auto;
}
.lppd-project-activity-panel__item-meta {
  font-size: 0.68rem;
  color: var(--lppd-text-muted, #8a8aaa);
  line-height: 1.3;
}
.lppd-project-activity-panel__item-body {
  margin: 0.15rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--lppd-text, #e0e0f0);
  word-break: break-word;
}
.lppd-project-activity-panel__empty {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
}
.lppd-project-activity-panel__err {
  margin: 0.35rem 0 0;
  font-size: 0.8rem;
}
.lppd-project-activity-panel__more {
  margin: 0.65rem 0 0;
  font-size: 0.78rem;
}
.lppd-project-activity-panel__timeline-link {
  color: var(--lppd-accent, #7c6fff);
  text-decoration: none;
  font-weight: 500;
}
.lppd-project-activity-panel__timeline-link:hover,
.lppd-project-activity-panel__timeline-link:focus-visible {
  text-decoration: underline;
  outline: none;
}
.lppd-rail-card--projects-context .lppd-projects-subnav {
  flex-direction: column;
  align-items: stretch;
  border-bottom: none;
  margin-bottom: 0;
  gap: 0.15rem;
}
.lppd-rail-card--projects-context .lppd-projects-subnav__link {
  border-bottom: none;
  border-left: 2px solid transparent;
  padding: 0.45rem 0.5rem;
  border-radius: 4px;
}
.lppd-rail-card--projects-context .lppd-projects-subnav__link.is-active {
  border-left-color: var(--lppd-accent, #7c6fff);
  background: rgba(124, 111, 255, 0.08);
}

/* Per-project tabs in rail (Overview, Timeline, …) */
.lppd-rail-card--project-tabs .lppd-project-rail-tabs {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  max-height: min(70vh, 36rem);
  overflow-y: auto;
  padding-right: 0.2rem;
  scrollbar-width: thin;
}
.lppd-project-rail-tabs__link {
  display: block;
  padding: 0.45rem 0.55rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lppd-text-muted, #8a8aaa);
  text-decoration: none;
  border-radius: 6px;
  border-left: 2px solid transparent;
  line-height: 1.35;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.lppd-project-rail-tabs__link:hover,
.lppd-project-rail-tabs__link:focus-visible {
  color: var(--lppd-text, #e0e0f0);
  background: rgba(255, 255, 255, 0.04);
  outline: none;
}
.lppd-project-rail-tabs__link.is-active {
  color: var(--lppd-accent, #7c6fff);
  border-left-color: var(--lppd-accent, #7c6fff);
  background: rgba(124, 111, 255, 0.1);
  font-weight: 600;
}

/* Projects overview: source chips */
.lppd-project-source-badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.12rem 0.45rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid var(--lppd-border, #3a3a4f);
  color: var(--lppd-text-muted, #a0a0c0);
  background: rgba(255, 255, 255, 0.03);
}
a.lppd-project-source-badge:hover {
  color: var(--lppd-text, #e8e8f8);
  border-color: var(--lppd-accent, #7c6fff);
}
.lppd-project-source-badge--gig,
.lppd-project-source-badge--job {
  border-color: rgba(66, 165, 245, 0.45);
}
.lppd-project-source-badge--product_custom {
  border-color: rgba(129, 199, 132, 0.45);
}
.lppd-project-source-badge--private {
  border-color: rgba(255, 183, 77, 0.45);
}

/* AI milestone hint (overview) */
.lppd-projects-ai-hint {
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
}
.lppd-projects-ai-hint__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

/* Kanban board tab */
.lppd-project-board {
  margin-top: 0.5rem;
}
.lppd-project-board__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: stretch;
}
@media (max-width: 1100px) {
  .lppd-project-board__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .lppd-project-board__columns {
    grid-template-columns: 1fr;
  }
}
.lppd-project-board__column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--lppd-border, #2a2a3a);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.15);
}
.lppd-project-board__column-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.45rem 0.55rem;
  border-bottom: 1px solid var(--lppd-border, #2a2a3a);
  font-size: 0.8rem;
  font-weight: 600;
}
.lppd-project-board__column-count {
  font-size: 0.75rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-board__dropzone {
  flex: 1;
  min-height: 120px;
  padding: 0.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.lppd-project-board__card {
  padding: 0.45rem 0.5rem;
  border-radius: 8px;
  border: 1px solid var(--lppd-border, #333);
  background: var(--lppd-card-surface, #1e1e2e);
  cursor: grab;
  font-size: 0.82rem;
}
.lppd-project-board__card:active {
  cursor: grabbing;
}
.lppd-project-board__card-title {
  display: block;
  line-height: 1.35;
}
.lppd-project-board__card-title-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-size: inherit;
  line-height: 1.35;
  padding: 0.1rem 0.2rem;
  margin: -0.1rem -0.2rem;
}
.lppd-projects-shell {
  display: grid;
  gap: 1rem;
}
.lppd-projects-shell.has-project-focus {
  grid-template-columns: minmax(0, 1fr);
}
.lppd-projects-shell__overview-card,
.lppd-projects-shell__detail-card,
.lppd-projects-shell__tasks-card {
  border-radius: 12px;
}
.lppd-projects-listing {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}
.lppd-projects-listing__item {
  border: 1px solid var(--lppd-border, #2a2a3a);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  padding: 0.65rem 0.75rem;
}
.lppd-projects-listing__item > a:first-child {
  display: inline-block;
  font-weight: 600;
  text-decoration: none;
}
.lppd-project-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.45rem;
}
.lppd-project-detail__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.lppd-project-detail__intro {
  min-width: min(100%, 28rem);
  flex: 1 1 24rem;
}
.lppd-project-detail__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}
.lppd-project-detail__meta {
  margin: 0.2rem 0;
}
.lppd-project-detail__link-row {
  margin: 0.55rem 0;
}
.lppd-project-detail__status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.5rem 0.7rem;
  border: 1px solid rgba(124, 111, 255, 0.2);
  border-radius: 10px;
  background: rgba(124, 111, 255, 0.05);
}
.lppd-project-detail__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.85rem 0 0;
}
.lppd-project-status-card {
  margin: 0.75rem 0;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}
.lppd-project-status-card__body {
  margin: 0.35rem 0 0;
}
.lppd-project-sections {
  display: grid;
  gap: 1rem;
}
.lppd-project-section {
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.lppd-project-section__title {
  margin: 0 0 0.75rem;
}
.lppd-task-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
  display: grid;
  gap: 0.9rem;
}
.lppd-task-item {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
  background: rgba(255, 255, 255, 0.02);
}
.lppd-task-update-form > p {
  margin: 0 0 0.75rem;
}
.lppd-project-activity-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}
[data-lppd-project-context] .lppd-gig-reviews__list {
  margin: 0;
}
[data-lppd-project-context] .lppd-review-form {
  margin-top: 0.9rem;
}
[data-lppd-project-context] .lppd-button {
  margin: 0 0.5rem 0.5rem 0;
  padding: 0.55rem 0.95rem;
}
[data-lppd-project-context] .lppd-input,
[data-lppd-project-context] .lppd-textarea,
[data-lppd-project-context] select.lppd-input {
  max-width: 100%;
}
.lppd-project-context__panel {
  transform: translateY(4px);
  opacity: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
[data-lppd-project-context][data-lppd-project-context-ready='1'] .lppd-project-context__panel {
  transform: translateY(0);
  opacity: 1;
}
[data-lppd-project-context][data-lppd-projects-has-project='yes'] .lppd-project-context__panel {
  border-top: 1px solid rgba(124, 111, 255, 0.25);
  padding-top: 1rem;
}
@media (min-width: 1100px) {
  .lppd-projects-shell.has-project-focus {
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    align-items: start;
  }

  .lppd-projects-shell.has-project-focus .lppd-projects-shell__overview-card {
    position: sticky;
    top: 0.75rem;
  }
}
@media (max-width: 640px) {
  .lppd-project-detail__status {
    width: 100%;
  }
  .lppd-task-item {
    padding: 0.75rem;
  }
}
[data-lppd-projects-panel='gantt'][data-lppd-projects-gantt-state='no-project'] .lppd-gantt-toolbar {
  border: 1px dashed var(--lppd-border, #2a2a3a);
  border-radius: 10px;
  padding: 0.75rem;
}
[data-lppd-projects-panel='gantt'][data-lppd-projects-gantt-state='project-selected'] .lppd-gantt-toolbar {
  border-left: 2px solid var(--lppd-info, #42a5f5);
  padding-left: calc(0.75rem - 2px);
}
[data-lppd-gantt-root][data-lppd-gantt-has-project='yes'] [data-lppd-gantt-no-project-link] {
  display: none;
}
[data-lppd-gantt-root][data-lppd-gantt-has-project='no'] [data-lppd-gantt-no-project-link] {
  display: inline-flex;
}
[data-lppd-projects-panel='proposals'][data-lppd-projects-proposals-ready='1'] [data-lppd-proposals-page] {
  border-left: 2px solid var(--lppd-success, #66bb6a);
  padding-left: 0.75rem;
}
[data-lppd-projects-panel='applications'][data-lppd-projects-applications-ready='1'][data-lppd-projects-applications-has-rows='yes'] .lppd-stats-row {
  border-left: 2px solid var(--lppd-warning, #ffb74d);
  padding-left: 0.75rem;
}
@media (max-width: 640px) {
  .lppd-projects-subnav__link {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
  }
}

/* ─── Other-products grid (product single page) ─── */
.lppd-other-products__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 640px) {
  .lppd-other-products__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .lppd-other-products__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.lppd-other-products__footer {
  margin-top: 1.25rem;
  text-align: center;
}

/* ─── Store hub 3-column action cards ─── */
.lppd-store-hub__actions-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
  margin-top: 0.35rem;
}
@media (min-width: 768px) {
  .lppd-store-hub__actions-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ─── FAQ repeater editor ─── */
.lppd-store-faq-editor__row {
  position: relative;
}
.lppd-store-faq-editor__row-num {
  display: inline-block;
  min-width: 1.5rem;
  font-weight: 600;
  color: rgba(148, 163, 184, 0.85);
  font-size: 0.82rem;
}
.lppd-store-faq-editor__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: 6px;
  background: transparent;
  color: #ef4444;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.lppd-store-faq-editor__remove:hover {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.6);
}
.lppd-store-faq-editor__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}
.lppd-button--sm {
  padding: 0.35rem 0.75rem;
  font-size: 0.82rem;
}

/* 
   Buyer Licence Cards  (render_store_licenses)
    */

.lppd-store-licenses-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-licenses-header-card {
  margin-bottom: 0;
}

/*  Licence card shell  */
.lppd-license-card {
  border: 1px solid var(--lppd-card-border-accent, rgba(56,189,248,.14));
  border-radius: var(--lppd-radius);
  background: var(--lppd-card-surface, linear-gradient(145deg,#1e293b 0%,#0f172a 100%));
  padding: 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.lppd-license-card--revoked {
  border-color: rgba(248,113,113,.18);
  opacity: .72;
}

.lppd-license-card--expired {
  border-color: rgba(251,191,36,.18);
  opacity: .82;
}

/*  Header  */
.lppd-license-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.lppd-license-card__product {
  min-width: 0;
}

.lppd-license-card__product-name {
  font-weight: 600;
  font-size: 1rem;
  color: var(--lppd-text);
  text-decoration: none;
}

.lppd-license-card__product-name:hover {
  text-decoration: underline;
  color: #6ee7b7;
}

.lppd-license-card__badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  flex-shrink: 0;
}

/* Badge variants */
.lppd-badge--ok {
  border-color: rgba(52,211,153,.35);
  background: rgba(6,78,59,.15);
  color: rgba(110,231,183,.95);
}

.lppd-badge--warn {
  border-color: rgba(251,191,36,.35);
  background: rgba(120,53,15,.15);
  color: rgba(253,230,138,.95);
}

.lppd-badge--error {
  border-color: rgba(248,113,113,.35);
  background: rgba(127,29,29,.15);
  color: rgba(252,165,165,.95);
}

.lppd-badge--delivery {
  border-color: rgba(148,163,184,.22);
  background: rgba(30,41,59,.6);
  color: rgba(148,163,184,.9);
}

/*  Key Display  */
.lppd-license-key-block {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: calc(var(--lppd-radius) - 2px);
  padding: .9rem 1rem;
}

.lppd-license-key-label {
  font-size: .72rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
}

.lppd-license-key-row {
  display: flex;
  align-items: center;
  gap: .65rem;
  flex-wrap: wrap;
}

.lppd-license-key-value {
  font-family: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: clamp(.9rem,2vw,1.05rem);
  letter-spacing: .04em;
  color: #a5f3fc;
  word-break: break-all;
  flex: 1 1 auto;
  user-select: all;
  background: none;
  padding: 0;
  border: none;
}

.lppd-key-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .75rem;
  border-radius: calc(var(--lppd-radius) - 2px);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--lppd-text-muted);
  font-size: .8rem;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .15s,color .15s,border-color .15s;
}

.lppd-key-copy-btn:hover,
.lppd-key-copy-btn--copied {
  background: rgba(16,185,129,.12);
  border-color: rgba(52,211,153,.35);
  color: #6ee7b7;
}

/*  Meta Grid  */
.lppd-license-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(160px,1fr));
  gap: .5rem .9rem;
}

.lppd-license-meta-item {
  display: flex;
  flex-direction: column;
  gap: .15rem;
}

.lppd-license-meta-item--full {
  grid-column: 1 / -1;
}

.lppd-license-meta-item--warn .lppd-license-meta-item__value {
  color: rgba(253,230,138,.85);
}

.lppd-license-meta-item__label {
  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
}

.lppd-license-meta-item__value {
  font-size: .9rem;
  color: var(--lppd-text);
}

.lppd-license-meta-item__value--ok {
  color: rgba(110,231,183,.9);
}

/* Buyer installation list for self-service transfer flow */
.lppd-license-installations {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: calc(var(--lppd-radius) - 2px);
  overflow: hidden;
}

.lppd-license-installations__summary {
  list-style: none;
  padding: .65rem .9rem;
  cursor: pointer;
  user-select: none;
  color: rgba(203, 213, 225, .95);
  background: rgba(255,255,255,.03);
  font-size: .85rem;
  font-weight: 600;
}

.lppd-license-installations__summary::-webkit-details-marker { display: none; }
.lppd-license-installations__summary::marker { display: none; }

.lppd-license-installations__body {
  padding: .8rem .9rem;
}

.lppd-license-installations__table {
  width: 100%;
}

/*  Card Actions  */
.lppd-license-card__actions {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

/*  Integration Docs (details/summary)  */
.lppd-license-docs {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: calc(var(--lppd-radius) - 2px);
  overflow: hidden;
}

.lppd-license-docs__toggle {
  list-style: none;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1rem;
  font-size: .85rem;
  font-weight: 500;
  color: rgba(148,163,184,.85);
  cursor: pointer;
  background: rgba(255,255,255,.025);
  transition: background .15s,color .15s;
  user-select: none;
}

.lppd-license-docs__toggle::-webkit-details-marker { display: none; }
.lppd-license-docs__toggle::marker              { display: none; }

.lppd-license-docs__toggle:hover {
  background: rgba(16,185,129,.06);
  color: #6ee7b7;
}

.lppd-license-docs[open] > .lppd-license-docs__toggle {
  border-bottom: 1px solid rgba(255,255,255,.07);
  color: #a5f3fc;
}

.lppd-license-docs__body {
  padding: 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lppd-license-docs__section {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.lppd-license-docs__section-title {
  margin: 0;
  font-size: .85rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
  font-weight: 600;
}

/* Concept grid */
.lppd-license-docs__intro p {
  margin: 0;
  font-size: .9rem;
  color: var(--lppd-text-muted);
  line-height: 1.6;
}

.lppd-license-docs__concept-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
  gap: .75rem;
}

.lppd-license-docs__concept {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: calc(var(--lppd-radius) - 2px);
  padding: .8rem 1rem;
  font-size: .85rem;
  line-height: 1.55;
}

.lppd-license-docs__concept strong {
  display: block;
  font-size: .75rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}

.lppd-license-docs__concept p { margin: 0; color: var(--lppd-text-muted); }

.lppd-license-docs__concept--emerald { border-color: rgba(52,211,153,.22); background: rgba(6,78,59,.1); }
.lppd-license-docs__concept--emerald strong { color: #6ee7b7; }
.lppd-license-docs__concept--cyan    { border-color: rgba(34,211,238,.22); background: rgba(8,51,68,.1); }
.lppd-license-docs__concept--cyan    strong { color: #67e8f9; }
.lppd-license-docs__concept--violet  { border-color: rgba(167,139,250,.22); background: rgba(76,29,149,.1); }
.lppd-license-docs__concept--violet  strong { color: #c4b5fd; }

/* Endpoint list */
.lppd-license-docs__endpoint-list {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.lppd-license-docs__endpoint-row {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
  font-size: .82rem;
  padding: .4rem .6rem;
  background: rgba(0,0,0,.2);
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,.04);
}

.lppd-method-badge {
  display: inline-block;
  padding: .1rem .45rem;
  border-radius: 4px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .05em;
  flex-shrink: 0;
}

.lppd-method-badge--post {
  background: rgba(52,211,153,.15);
  color: #6ee7b7;
  border: 1px solid rgba(52,211,153,.2);
}

.lppd-method-badge--get {
  background: rgba(56,189,248,.12);
  color: #7dd3fc;
  border: 1px solid rgba(56,189,248,.2);
}

.lppd-license-docs__url {
  font-family: ui-monospace,SFMono-Regular,monospace;
  font-size: .78rem;
  color: #94a3b8;
  word-break: break-all;
  flex: 1 1 auto;
  background: none;
  padding: 0;
  border: none;
}

.lppd-license-docs__desc {
  font-size: .78rem;
  color: var(--lppd-text-muted);
  flex-shrink: 0;
}

.lppd-license-docs__auth-note {
  font-size: .82rem;
  line-height: 1.55;
  color: var(--lppd-text-muted);
  background: rgba(56,189,248,.05);
  border: 1px solid rgba(56,189,248,.12);
  border-radius: 4px;
  padding: .65rem .85rem;
}

/* Code tabs */
.lppd-license-docs__key-fill-note {
  font-size: .82rem;
  margin: 0;
}

.lppd-license-docs__inline-key {
  font-family: ui-monospace,monospace;
  font-size: .82em;
  color: #a5f3fc;
  background: rgba(0,0,0,.3);
  padding: .05em .35em;
  border-radius: 3px;
}

.lppd-code-tabs {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--lppd-radius);
  overflow: hidden;
  background: #0d1117;
}

.lppd-code-tabs__nav {
  display: flex;
  overflow-x: auto;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.lppd-code-tabs__tab {
  padding: .5rem .9rem;
  font-size: .78rem;
  font-weight: 500;
  color: var(--lppd-text-muted);
  background: transparent;
  border: none;
  border-right: 1px solid rgba(255,255,255,.05);
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s,color .12s;
  flex-shrink: 0;
}

.lppd-code-tabs__tab:hover {
  background: rgba(255,255,255,.04);
  color: var(--lppd-text);
}

.lppd-code-tabs__tab--active {
  background: rgba(16,185,129,.1);
  color: #6ee7b7;
  border-bottom: 2px solid #10b981;
}

.lppd-code-tabs__panel--hidden {
  display: none;
}

.lppd-code-block-wrap {
  position: relative;
}

.lppd-code-block-copy {
  position: absolute;
  top: .6rem;
  right: .6rem;
  padding: .25rem .6rem;
  font-size: .72rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 4px;
  color: var(--lppd-text-muted);
  cursor: pointer;
  transition: background .12s,color .12s;
  z-index: 2;
}

.lppd-code-block-copy:hover {
  background: rgba(16,185,129,.14);
  color: #6ee7b7;
}

.lppd-code-block-wrap pre {
  margin: 0;
  padding: 1rem 1.1rem;
  overflow-x: auto;
}

.lppd-code-block {
  font-family: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: .8rem;
  line-height: 1.65;
  color: #c9d1d9;
  white-space: pre;
  background: none;
  border: none;
  padding: 0;
}

/* Field ref details */
.lppd-license-docs__field-ref {
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 4px;
  overflow: hidden;
}

.lppd-license-docs__field-ref > summary {
  list-style: none;
  padding: .55rem .85rem;
  font-size: .8rem;
  color: var(--lppd-text-muted);
  cursor: pointer;
  background: rgba(255,255,255,.025);
  transition: background .12s;
}

.lppd-license-docs__field-ref > summary:hover {
  background: rgba(255,255,255,.05);
}

.lppd-license-docs__fields-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lppd-license-docs__field-row {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: baseline;
  gap: .5rem .75rem;
  padding: .45rem .85rem;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size: .8rem;
}

.lppd-license-docs__field-row:last-child { border-bottom: 0; }

.lppd-license-docs__field-name {
  font-family: ui-monospace,monospace;
  color: #a5f3fc;
  font-size: .8em;
  background: none;
  padding: 0;
  border: none;
}

.lppd-license-docs__field-req {
  font-size: .68rem;
  padding: .1rem .4rem;
  border-radius: 3px;
  font-weight: 600;
  letter-spacing: .04em;
}

.lppd-license-docs__field-req--required {
  background: rgba(52,211,153,.1);
  color: #6ee7b7;
  border: 1px solid rgba(52,211,153,.2);
}

.lppd-license-docs__field-req--optional {
  background: rgba(148,163,184,.06);
  color: rgba(148,163,184,.75);
  border: 1px solid rgba(148,163,184,.12);
}

.lppd-license-docs__field-req--header {
  background: rgba(167,139,250,.08);
  color: #c4b5fd;
  border: 1px solid rgba(167,139,250,.2);
}

.lppd-license-docs__field-desc {
  color: var(--lppd-text-muted);
  line-height: 1.5;
}

/* Response shape */
.lppd-license-docs__response-row {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.lppd-license-docs__response-label {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--lppd-text-muted);
}

.lppd-license-docs__response-pre {
  margin: 0;
  background: rgba(0,0,0,.3);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 4px;
  padding: .5rem .7rem;
  overflow-x: auto;
}

.lppd-license-docs__response-pre code {
  font-family: ui-monospace,monospace;
  font-size: .78rem;
  color: #c9d1d9;
  background: none;
  padding: 0;
  border: none;
}

/* Responsive */
@media (max-width: 640px) {
  .lppd-license-card__header { flex-direction: column; gap: .5rem; }
  .lppd-license-key-value    { font-size: .85rem; }
  .lppd-license-meta-grid    { grid-template-columns: repeat(2,1fr); }
  .lppd-license-docs__concept-grid { grid-template-columns: 1fr; }
  .lppd-license-docs__endpoint-row { flex-direction: column; align-items: flex-start; }
}
/* ==========================================================
   LP-06: Manage Licenses — seller command centre
   LP-07: Generate License modal
   ========================================================== */

/* ── LP-06: Panel header ── */
.lppd-manage-licenses__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: .75rem;
}

/* ── LP-06: Filter bar ── */
.lppd-manage-licenses__filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .5rem 0 .75rem;
  align-items: center;
}
.lppd-manage-licenses__filter {
  min-width: 130px;
  max-width: 200px;
  flex-shrink: 0;
}
.lppd-manage-licenses__search {
  flex: 1 1 180px;
  min-width: 140px;
}

/* ── LP-06: Unified manage-licenses table ── */
.lppd-manage-licenses__table {
  min-width: 900px;
}
.lppd-manage-licenses__key-cell {
  cursor: pointer;
  font-size: .78rem;
  letter-spacing: .02em;
}

/* ── LP-06: Source-type badge ── */
.lppd-manage-licenses__type-badge {
  display: inline-flex;
  align-items: center;
  padding: .18rem .5rem;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.lppd-manage-licenses__type--auto {
  background: rgba(99, 179, 237, .18);
  color: #bfdbfe;
}
.lppd-manage-licenses__type--manual {
  background: rgba(251, 191, 36, .18);
  color: #fde68a;
}

/* ── LP-06: Copy-key ghost button ── */
.lppd-manage-licenses__copy-key {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .2rem .55rem;
  font-size: .72rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 4px;
  background: transparent;
  color: rgba(148, 163, 184, .85);
  cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
}
.lppd-manage-licenses__copy-key:hover {
  background: rgba(16, 185, 129, .1);
  border-color: rgba(52, 211, 153, .3);
  color: #6ee7b7;
}

/* ── LP-06: API Keys collapsible section ── */
.lppd-manage-licenses__apikeys-details {
  margin-top: 1.25rem;
  border-top: 1px solid rgba(148, 163, 184, .18);
  padding-top: .75rem;
}
.lppd-manage-licenses__apikeys-summary {
  cursor: pointer;
  font-size: .9rem;
  font-weight: 600;
  color: #bfdbfe;
  list-style: none;
  padding: .3rem 0;
  user-select: none;
}
.lppd-manage-licenses__apikeys-summary::-webkit-details-marker { display: none; }
.lppd-manage-licenses__apikeys-body {
  padding-top: .5rem;
}

/* ── LP-07: Generate License modal ── */
.lppd-gen-modal {
  position: fixed;
  inset: 0;
  z-index: 99990;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lppd-gen-modal[hidden] {
  display: none;
}
.lppd-gen-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(2px);
}
.lppd-gen-modal__inner {
  position: relative;
  z-index: 1;
  width: min(560px, calc(100vw - 2rem));
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
  background: #0f1623;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 16px;
  padding: 1.5rem;
}
.lppd-gen-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.lppd-gen-modal__head h3 { margin: 0; }
.lppd-gen-modal__close {
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  padding: .2rem .4rem;
  border-radius: 6px;
}
.lppd-gen-modal__close:hover {
  color: #fff;
  background: rgba(148, 163, 184, .15);
}
.lppd-gen-modal__form {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.lppd-gen-modal__note {
  min-height: 62px;
  resize: vertical;
}
.lppd-gen-modal__feedback {
  font-size: .85rem;
  padding: .5rem .75rem;
  border-radius: 8px;
  display: none;
}
.lppd-gen-modal__feedback:not(:empty) {
  display: block;
}
.lppd-gen-modal__feedback--ok {
  background: rgba(16, 185, 129, .14);
  color: #a7f3d0;
}
.lppd-gen-modal__feedback--error {
  background: rgba(239, 68, 68, .14);
  color: #fda4af;
}
.lppd-gen-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: .65rem;
  padding-top: .25rem;
}

/* ── Two-column form grid helper ── */
.lppd-form-row--cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}

/* ── Responsive overrides for LP-06 / LP-07 ── */
@media (max-width: 480px) {
  .lppd-form-row--cols {
    grid-template-columns: 1fr;
  }
  .lppd-manage-licenses__table {
    min-width: 700px;
  }
}

/* ─── Project hub templates (templates/projects) ─── */
.lppd-projects-filterbar {
  margin: 0.35rem 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.lppd-project-dashboard__header {
  margin-bottom: 1.5rem;
}
.lppd-project-dashboard__progress {
  margin-bottom: 2.5rem;
}
.lppd-project-dashboard__kpi-bar {
  margin-bottom: 2.5rem;
}
.lppd-project-dashboard__team-card {
  margin-bottom: 2rem;
}
.lppd-project-team__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--lppd-text-muted, #8a8aaa);
  margin-bottom: 0.75rem;
}
.lppd-project-overview-main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
@media (max-width: 900px) {
  .lppd-project-overview-main {
    grid-template-columns: 1fr;
  }
}
.lppd-project-sprint-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 768px) {
  .lppd-project-sprint-summary {
    grid-template-columns: 1fr;
  }
}
.lppd-project-sprint__value {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0.35rem 0;
  color: var(--lppd-text, #e0e0f0);
}
.lppd-project-tab-panel__title {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  font-weight: 600;
}
.lppd-project-details-card {
  border: 1px solid var(--lppd-border, #2a2a3a);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.02);
  max-width: 48rem;
}
.lppd-project-details-dl {
  display: grid;
  grid-template-columns: minmax(0, 10rem) 1fr;
  gap: 0.75rem 1.25rem;
  font-size: 0.9rem;
}
.lppd-project-details-dl dt {
  margin: 0;
  color: var(--lppd-text-muted, #8a8aaa);
  font-weight: 500;
}
.lppd-project-details-dl dd {
  margin: 0;
  font-weight: 600;
}
.lppd-project-details-dl__wide {
  grid-column: 1 / -1;
  font-weight: 400;
  line-height: 1.55;
}
@media (max-width: 520px) {
  .lppd-project-details-dl {
    grid-template-columns: 1fr;
  }
  .lppd-project-details-dl__wide {
    grid-column: 1;
  }
}
.lppd-pill--status-accepted,
.lppd-pill--invoice-paid {
  background: rgba(16, 185, 129, 0.15);
  color: #6ee7b7;
}
.lppd-pill--status-submitted,
.lppd-pill--invoice-issued {
  background: rgba(251, 191, 36, 0.12);
  color: #fcd34d;
}
.lppd-pill--status-draft,
.lppd-pill--invoice-draft {
  background: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
}
.lppd-card__title-icon {
  margin-right: 0.35rem;
}

/* ─── Single-project shell (toolbar + optional header) ─── */
.lppd-project-context-toolbar {
  margin: 0 0 0.75rem;
}
.lppd-project-context-toolbar__back {
  display: inline-flex;
  align-items: center;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--lppd-accent, #a5b4fc);
  text-decoration: none;
}
.lppd-project-context-toolbar__back:hover,
.lppd-project-context-toolbar__back:focus-visible {
  text-decoration: underline;
}
.lppd-project-context-header {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--lppd-border, #2a2a3a);
}
.lppd-project-context-header__main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}
.lppd-project-context-header__titles {
  min-width: 0;
  flex: 1 1 12rem;
}
.lppd-project-context-header__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lppd-text-muted, #8a8aaa);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lppd-project-context-header__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--lppd-text, #e8e8f0);
}
.lppd-project-context-header__tabline {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-context-header__tab-label {
  font-weight: 600;
  color: var(--lppd-info, #93c5fd);
}
.lppd-project-context-header__badges {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

/* ─── Project tab panels (shared head + layout) ─── */
.lppd-project-tab-panel__head {
  margin-bottom: 1.25rem;
}
.lppd-project-tab-panel__intro {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  color: var(--lppd-text-muted, #8a8aaa);
  max-width: 52rem;
  line-height: 1.45;
}
.lppd-project-tab-panel__meta {
  margin: 0.5rem 0 0;
  font-size: 0.85rem;
}
.lppd-project-tab-panel__link {
  color: var(--lppd-accent, #7c6fff);
  text-decoration: none;
  font-weight: 600;
}
.lppd-project-tab-panel__link:hover,
.lppd-project-tab-panel__link:focus-visible {
  text-decoration: underline;
}

.lppd-entitlement-upsell {
  margin-bottom: 1rem;
  border: 1px solid rgba(124, 111, 255, 0.28);
  background: rgba(124, 111, 255, 0.06);
}
.lppd-entitlement-upsell--compact {
  padding: 0.85rem 1rem;
}
.lppd-entitlement-upsell--tab-invoices {
  margin-bottom: 1rem;
}
.lppd-entitlement-upsell__title {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--lppd-text, #e8e8f0);
}
.lppd-entitlement-upsell__text {
  margin: 0 0 0.75rem;
  font-size: 0.88rem;
  color: var(--lppd-text-muted, #8a8aaa);
  line-height: 1.45;
}
.lppd-entitlement-upsell__actions {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.lppd-project-details-portal-token__wl-actions,
.lppd-project-details-portal-upsell__actions {
  margin: 0.35rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Details tab */
.lppd-project-details-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--lppd-border, #2a2a3a);
}
.lppd-project-details-hero__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--lppd-text-muted, #8a8aaa);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lppd-project-details-hero__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}
.lppd-project-details-hero__meta {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-details-role-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(124, 111, 255, 0.12);
  color: var(--lppd-accent, #a5b4fc);
  border: 1px solid rgba(124, 111, 255, 0.25);
}
.lppd-pill--project-active {
  background: rgba(16, 185, 129, 0.12);
  color: #6ee7b7;
}
.lppd-pill--project-archived {
  background: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
}
.lppd-pill--project-completed {
  background: rgba(59, 130, 246, 0.12);
  color: #93c5fd;
}
.lppd-project-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
@media (max-width: 900px) {
  .lppd-project-details-grid {
    grid-template-columns: 1fr;
  }
}
.lppd-project-details-card--source {
  grid-column: span 2;
}
@media (max-width: 900px) {
  .lppd-project-details-card--source {
    grid-column: span 1;
  }
}
.lppd-project-details-card__lede {
  margin: 0 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 600;
}
.lppd-project-details-hint {
  margin: 0.75rem 0 0;
  font-size: 0.85rem;
  color: var(--lppd-text-muted, #8a8aaa);
  line-height: 1.45;
}
.lppd-project-details-kv__type {
  display: inline-block;
  margin-right: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-details-kv__link {
  font-weight: 600;
}
.lppd-project-details-people {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.lppd-project-details-person {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.lppd-project-details-person:last-child {
  border-bottom: 0;
}
.lppd-project-details-person__label {
  font-size: 0.8rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-details-person__name {
  font-weight: 600;
}
.lppd-project-details-kv {
  margin: 0;
}
.lppd-project-details-prose {
  font-size: 0.92rem;
  line-height: 1.55;
}
.lppd-project-details-card--wide {
  grid-column: 1 / -1;
}

/* Kanban */
.lppd-project-kanban {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
@media (max-width: 1100px) {
  .lppd-project-kanban {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .lppd-project-kanban {
    grid-template-columns: 1fr;
  }
}
.lppd-project-kanban__column {
  border: 1px solid var(--lppd-border, #2a2a3a);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
  padding: 0.65rem 0.75rem;
  min-height: 12rem;
}
.lppd-project-kanban__heading {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-kanban__heading--todo {
  color: #93c5fd;
}
.lppd-project-kanban__heading--doing {
  color: #fcd34d;
}
.lppd-project-kanban__heading--blocked {
  color: #fda4af;
}
.lppd-project-kanban__heading--done {
  color: #6ee7b7;
}
.lppd-project-kanban__count {
  font-weight: 700;
  color: var(--lppd-text, #e0e0f0);
}
.lppd-project-kanban__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.lppd-project-kanban__empty {
  font-size: 0.85rem;
  color: var(--lppd-text-muted, #8a8aaa);
  padding: 0.5rem 0;
}
.lppd-project-task-card {
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
}
.lppd-project-task-card__title {
  font-weight: 600;
  font-size: 0.9rem;
}
.lppd-project-task-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-task-card__due,
.lppd-project-task-card__assignee {
  margin-top: 0.25rem;
  font-size: 0.78rem;
}
.lppd-pill--priority-high {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
}
.lppd-pill--priority-low {
  background: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
}

/* Timeline */
.lppd-project-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid var(--lppd-border, #2a2a3a);
  margin-left: 0.5rem;
}
.lppd-project-timeline__item {
  position: relative;
  padding: 0 0 1.25rem 1.25rem;
}
.lppd-project-timeline__marker {
  position: absolute;
  left: -0.4rem;
  top: 0.35rem;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: var(--lppd-accent, #7c6fff);
  box-shadow: 0 0 0 3px rgba(124, 111, 255, 0.2);
}
.lppd-project-timeline__item--task .lppd-project-timeline__marker {
  background: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2);
}
.lppd-project-timeline__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.lppd-project-timeline__badge {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-timeline__time {
  font-size: 0.78rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-timeline__text {
  margin: 0;
  font-size: 0.92rem;
}
.lppd-project-timeline__sub {
  margin: 0.25rem 0 0;
  font-size: 0.8rem;
  color: var(--lppd-text-muted, #8a8aaa);
}

/* Simple Gantt */
.lppd-project-gantt__row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 2fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
@media (max-width: 720px) {
  .lppd-project-gantt__row {
    grid-template-columns: 1fr;
  }
}
.lppd-project-gantt__label {
  font-weight: 600;
  font-size: 0.9rem;
}
.lppd-project-gantt__track {
  height: 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  overflow: hidden;
}
.lppd-project-gantt__bar {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #2563eb, #3b82f6);
}
.lppd-project-gantt__bar--done {
  background: linear-gradient(90deg, #059669, #34d399);
}
.lppd-project-gantt__bar--doing {
  background: linear-gradient(90deg, #d97706, #fbbf24);
}
.lppd-project-gantt__bar--blocked {
  background: linear-gradient(90deg, #dc2626, #f87171);
}
.lppd-project-gantt__dates {
  font-size: 0.8rem;
  color: var(--lppd-text-muted, #8a8aaa);
  text-align: right;
}
@media (max-width: 720px) {
  .lppd-project-gantt__dates {
    text-align: left;
  }
}

/* Discussions */
.lppd-project-discussions-cards {
  display: grid;
  gap: 1rem;
}
.lppd-project-discussions-card__title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}
.lppd-project-discussions-tips {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--lppd-text-muted, #8a8aaa);
  font-size: 0.88rem;
  line-height: 1.5;
}

/* Files */
.lppd-project-files-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.75rem;
}
.lppd-project-file-card {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--lppd-border, #2a2a3a);
  background: rgba(255, 255, 255, 0.02);
}
.lppd-project-file-card__icon {
  font-size: 1.35rem;
  line-height: 1;
}
.lppd-project-file-card__body {
  flex: 1;
  min-width: 0;
}
.lppd-project-file-card__name {
  font-weight: 600;
  font-size: 0.9rem;
  word-break: break-word;
}
.lppd-project-file-card__meta {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  color: var(--lppd-text-muted, #8a8aaa);
}

/* Milestones list */
.lppd-project-milestones-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.lppd-project-milestone-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid var(--lppd-border, #2a2a3a);
  background: rgba(255, 255, 255, 0.02);
}
.lppd-project-milestone-row__icon {
  font-size: 1.25rem;
}
.lppd-project-milestone-row__body {
  flex: 1;
  min-width: 0;
}
.lppd-project-milestone-row__title {
  font-weight: 600;
}
.lppd-project-milestone-row__meta {
  font-size: 0.8rem;
  color: var(--lppd-text-muted, #8a8aaa);
  margin-top: 0.15rem;
}
.lppd-project-milestones-foot {
  margin-top: 1.25rem;
}
.lppd-pill--milestone-funded,
.lppd-pill--milestone-released {
  background: rgba(16, 185, 129, 0.12);
  color: #6ee7b7;
}
.lppd-pill--milestone-draft {
  background: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
}

/* Contract */
.lppd-project-contract-dl {
  display: grid;
  grid-template-columns: minmax(0, 10rem) 1fr;
  gap: 0.5rem 1rem;
  margin: 0;
  font-size: 0.9rem;
}
.lppd-project-contract-dl dt {
  margin: 0;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-contract-dl dd {
  margin: 0;
  font-weight: 600;
}
.lppd-project-contract-card__actions {
  margin-top: 1rem;
}

/* Job application pills */
.lppd-pill--app-pending {
  background: rgba(251, 191, 36, 0.12);
  color: #fcd34d;
}
.lppd-pill--app-accepted {
  background: rgba(16, 185, 129, 0.15);
  color: #6ee7b7;
}
.lppd-pill--app-rejected {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
}
.lppd-pill--app-withdrawn {
  background: rgba(148, 163, 184, 0.12);
  color: #cbd5e1;
}

/* Project details hero actions + tab heads + hub create */
.lppd-project-details-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lppd-project-tab-panel__head--row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.lppd-projects-create-hub {
  margin-bottom: 1.25rem;
}
.lppd-projects-create-hub__title {
  margin-top: 0;
}
.lppd-projects-create-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.75rem 1rem;
  margin-top: 0.75rem;
}
.lppd-projects-create-hub__full {
  grid-column: 1 / -1;
}
.lppd-form-row {
  margin: 0;
}
.lppd-form-row label {
  display: block;
  font-size: 0.8rem;
  margin-bottom: 0.25rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-form__req {
  color: var(--lppd-accent, #7dd3fc);
  font-weight: 600;
}
.lppd-project-edit-modal__fieldset {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem 1rem;
  border: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.1));
  border-radius: var(--lppd-radius, 8px);
}
.lppd-project-edit-modal__fieldset legend {
  padding: 0 0.35rem;
  font-weight: 600;
  font-size: 0.85rem;
}
.lppd-project-contract-participants {
  font-size: 0.9rem;
}
.lppd-project-edit-modal[hidden],
.lppd-project-task-modal[hidden],
.lppd-project-contract-modal[hidden] {
  display: none !important;
}

/* Project tab — workspace file storage */
.lppd-project-files-workspace {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.08));
}
.lppd-project-files-workspace__title,
.lppd-project-files-portal__title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
}
.lppd-project-files-workspace__hint {
  margin: 0 0 1rem;
}
.lppd-project-files-workspace__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.lppd-project-files-workspace__folder-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.lppd-project-files-workspace__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.lppd-project-files-workspace__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lppd-project-files-workspace__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.06));
}
.lppd-project-files-workspace__info {
  flex: 1 1 14rem;
  min-width: 0;
}
.lppd-project-files-workspace__name {
  display: block;
  font-weight: 500;
}
.lppd-project-files-workspace__meta {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.85rem;
}
.lppd-project-files-workspace__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.lppd-project-files-workspace__msg {
  min-height: 1.25rem;
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-project-files-portal {
  margin-top: 0.5rem;
}

/* Project details — people actions + portal link */
.lppd-project-details-people-actions {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.08));
}
.lppd-project-details-people-actions__lead {
  margin-bottom: 0.5rem;
}
.lppd-project-details-people-actions p:last-child {
  margin-bottom: 0;
}
.lppd-project-details-portal-token__out {
  margin-top: 0.5rem;
  word-break: break-all;
  font-size: 0.9rem;
}
.lppd-project-details-portal-token__link {
  word-break: break-all;
}

/* Project tab — timesheets (log + timer) */
.lppd-project-timesheets-log {
  margin-bottom: 1.75rem;
  padding: 1rem 1.25rem;
}
.lppd-project-timesheets-log__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}
.lppd-form__row--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 640px) {
  .lppd-form__row--split {
    grid-template-columns: 1fr;
  }
}
.lppd-form__label--inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.lppd-project-timesheets-log__timer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 1rem 0 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.08));
}
.lppd-project-timesheets-log__clock {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  min-width: 4.75rem;
}
.lppd-project-timesheets-log__msg {
  margin: 0.5rem 0 0;
}

/* Task detail drawer (Kanban card → GET task) */
body.lppd-task-drawer-open {
  overflow: hidden;
}
.lppd-task-drawer {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
}
.lppd-task-drawer[hidden] {
  display: none !important;
}
.lppd-task-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  cursor: pointer;
}
.lppd-task-drawer__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 52rem);
  max-height: 100vh;
  overflow: auto;
  background: var(--lppd-bg-elevated, #1e1e2a);
  box-shadow: -6px 0 28px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.08));
}
.lppd-task-drawer__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.08));
}
.lppd-task-drawer__title {
  margin: 0.35rem 0 0;
  font-size: 1.25rem;
  line-height: 1.3;
}
.lppd-task-drawer__eyebrow {
  margin: 0 0 0.25rem;
}
.lppd-task-drawer__header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.lppd-task-drawer__close {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.15rem 0.35rem;
  opacity: 0.85;
}
.lppd-task-drawer__close:hover {
  opacity: 1;
}
.lppd-task-drawer__grid {
  display: grid;
  grid-template-columns: 1fr min(16rem, 34%);
  gap: 0;
  flex: 1;
  min-height: 0;
}
@media (max-width: 720px) {
  .lppd-task-drawer__grid {
    grid-template-columns: 1fr;
  }
}
.lppd-task-drawer__main {
  padding: 1rem 1.25rem 1.5rem;
  border-right: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.06));
}
.lppd-task-drawer__sidebar {
  padding: 1rem 1rem 1.5rem;
  background: var(--lppd-bg-muted, rgba(255, 255, 255, 0.03));
}
.lppd-task-drawer__muted {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-task-drawer__related {
  margin: 0 0 1rem;
  font-size: 0.9rem;
}
.lppd-task-drawer__section {
  margin-bottom: 1.25rem;
}
.lppd-task-drawer__section-title {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
}
.lppd-task-drawer__prose {
  font-size: 0.9rem;
  line-height: 1.5;
}
.lppd-task-drawer__prose p {
  margin: 0 0 0.5rem;
}
.lppd-task-drawer__sidebar-title {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
}
.lppd-task-drawer__kv {
  margin: 0;
}
.lppd-task-drawer__kv > div {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  gap: 0.35rem 0.75rem;
  font-size: 0.85rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.06));
}
.lppd-task-drawer__kv dt {
  margin: 0;
  color: var(--lppd-text-muted, #8a8aaa);
}
.lppd-task-drawer__kv dd {
  margin: 0;
}
.lppd-task-drawer__logged {
  color: var(--lppd-success, #6ecf8f);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.lppd-task-drawer__estimate {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.lppd-task-drawer__dropzone {
  position: relative;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed var(--lppd-border-subtle, rgba(255, 255, 255, 0.15));
  border-radius: 6px;
  font-size: 0.8rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.lppd-task-drawer__err {
  margin: 0 1.25rem 1rem;
}
.lppd-task-drawer[data-lppd-task-drawer-mode="view"] .lppd-task-drawer__edit-only {
  display: none !important;
}
.lppd-task-drawer[data-lppd-task-drawer-mode="edit"] .lppd-task-drawer__view-only {
  display: none !important;
}
.lppd-task-drawer__title-input {
  width: 100%;
  max-width: 100%;
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0;
}
.lppd-task-drawer__checklist-edit-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.35rem;
}
.lppd-task-drawer__checklist-edit-row .lppd-input[type="text"] {
  flex: 1 1 12rem;
  min-width: 0;
}
.lppd-task-drawer__checklist-remove {
  flex: 0 0 auto;
  border: none;
  background: transparent;
  color: var(--lppd-muted, #888);
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0 0.25rem;
}
.lppd-task-drawer__checklist-remove:hover {
  color: var(--lppd-danger, #e66);
}
.lppd-task-drawer__checklist-cb {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0 0.35rem 0 0;
  cursor: pointer;
  accent-color: var(--lppd-accent, #6eb5ff);
}
.lppd-task-drawer__checklist-li {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
  margin-bottom: 0.35rem;
}
.lppd-task-drawer__timer-block {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--lppd-border-subtle, rgba(255, 255, 255, 0.1));
}
.lppd-task-drawer__timer-display {
  font-variant-numeric: tabular-nums;
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0.25rem 0;
}
.lppd-task-drawer__timer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
}
.lppd-task-drawer__dropzone:hover,
.lppd-task-drawer__dropzone:focus-visible {
  border-color: var(--lppd-border-strong, rgba(255, 255, 255, 0.28));
  outline: none;
}
.lppd-task-drawer__dropzone--active {
  border-color: var(--lppd-accent, #6eb5ff);
  background: rgba(110, 181, 255, 0.06);
}
.lppd-task-drawer__file-input {
  position: absolute;
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  z-index: -1;
}
.lppd-task-drawer__files-msg {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.8rem;
}
.lppd-rail-card--project-activity-feed .lppd-project-activity-panel__list {
  max-height: 14rem;
  overflow-y: auto;
}
.lppd-pill--status-done {
  background: rgba(80, 180, 120, 0.2);
  border-color: rgba(80, 180, 120, 0.45);
  color: #a8e6c5;
}
