/* Localsewa v32.9.0 — Provider Home Foundation
 * Provider-only visual refresh. Customer UI is intentionally untouched.
 */
.provider-shell-header-v329 {
  height: 64px !important;
  min-height: 64px !important;
  background: linear-gradient(105deg, rgba(19,77,55,.98) 0%, rgba(18,92,77,.98) 64%, rgba(54,57,111,.98) 100%) !important;
  box-shadow: 0 5px 18px rgba(15,23,42,.10) !important;
}
.provider-shell-header-v329 > div:first-child > p { font-size:10px!important; line-height:1.2!important; letter-spacing:.01em!important; color:#9DE7B8!important; }
.provider-shell-header-v329 > div:first-child > h1 { margin-top:2px!important; font-size:17px!important; line-height:1.2!important; letter-spacing:-.02em!important; }
.provider-shell-header-v329 button { border-radius:12px!important; background:rgba(255,255,255,.09)!important; border-color:rgba(255,255,255,.15)!important; box-shadow:none!important; }

.provider-home-main { padding-top:18px!important; }
.provider-home-main > * + * { margin-top:18px!important; }
.provider-home-main > div.grid { gap:18px!important; }
.provider-home-main > div.grid > div > * + * { margin-top:18px!important; }
.provider-home-main > div.grid > div:nth-child(2) { margin-top:0!important; padding-top:0!important; border-top:0!important; }
.provider-home-welcome > p:first-child { font-size:11px!important; font-weight:700!important; color:#5E776A!important; }
.provider-home-welcome > h2 { margin-top:2px!important; font-size:25px!important; line-height:1.16!important; letter-spacing:-.04em!important; }
.provider-home-welcome > p:last-child { margin-top:4px!important; font-size:12px!important; color:#7B9186!important; }

.provider-home-stat-card { min-height:116px!important; padding:14px!important; border-radius:20px!important; border-color:#D8E6DD!important; box-shadow:0 5px 18px rgba(15,23,42,.045)!important; }
.provider-home-stat-card > div:first-child > span:first-child { width:38px!important; height:38px!important; border-radius:12px!important; }
.provider-home-stat-card > div:first-child > span:last-child { font-size:28px!important; line-height:1!important; }
.provider-home-stat-card > h3 { margin-top:13px!important; font-size:10px!important; line-height:1.3!important; letter-spacing:.11em!important; }
.provider-home-stat-card > p { display:none!important; }

.provider-home-business-card { padding:17px!important; border:1px solid rgba(255,255,255,.18)!important; border-radius:23px!important; background:linear-gradient(135deg,#0E5034 0%,#0B6B58 58%,#345B88 100%)!important; box-shadow:0 13px 30px rgba(18,67,52,.16)!important; }
.provider-home-business-card > div:first-child { gap:13px!important; }
.provider-home-business-card > div:first-child > button { width:60px!important; height:60px!important; border-color:rgba(255,255,255,.38)!important; background:rgba(255,255,255,.12)!important; }
.provider-home-business-card h2 { font-size:17px!important; line-height:1.2!important; }
.provider-home-business-card h2 + span,.provider-home-business-card h2 ~ span { white-space:nowrap; }
.provider-home-availability { margin-top:16px!important; min-height:62px!important; padding:12px 13px!important; border-radius:16px!important; background:rgba(255,255,255,.09)!important; border-color:rgba(255,255,255,.16)!important; backdrop-filter:blur(8px)!important; -webkit-backdrop-filter:blur(8px)!important; }
.provider-home-availability > div > p:first-child { font-size:13px!important; }
.provider-home-availability > div > p:last-child { font-size:10.5px!important; }
.provider-home-availability-status { display:inline-flex!important; align-items:center!important; gap:7px!important; margin-top:10px!important; font-size:11px!important; }
.provider-home-availability-status::before { content:''; width:7px; height:7px; flex:0 0 7px; border-radius:999px; background:#73E7A0; box-shadow:0 0 0 3px rgba(115,231,160,.12); }
.provider-home-profile-link { margin-top:12px!important; padding-top:12px!important; font-size:11px!important; }

.provider-home-requests > div:first-child { margin-bottom:12px!important; }
.provider-home-requests h2 { font-size:17px!important; }
.provider-home-requests > div:first-child p { margin-top:2px!important; font-size:11px!important; }
.provider-home-requests > div:last-child { gap:10px!important; }
.provider-home-request-card { padding:14px!important; border-radius:18px!important; box-shadow:0 4px 16px rgba(15,23,42,.035)!important; }
.provider-home-request-card h3 { font-size:14px!important; line-height:1.3!important; }
.provider-home-request-card h3 + p { margin-top:3px!important; font-size:12px!important; }
.provider-home-request-card h3 + p + div { margin-top:6px!important; max-width:100%!important; overflow:hidden!important; white-space:nowrap!important; text-overflow:ellipsis!important; font-size:10.5px!important; }
.provider-home-request-card > div:last-of-type { margin-top:11px!important; padding-top:10px!important; }
.provider-home-request-card > div:last-of-type > p { font-size:10.5px!important; }

.provider-home-premium { height:154px!important; min-height:154px!important; border-radius:22px!important; box-shadow:0 12px 30px rgba(49,46,129,.17)!important; }
.provider-home-premium > div:last-child { padding:16px!important; }
.provider-home-premium h2 { font-size:17px!important; }
.provider-home-premium p { max-width:88%!important; font-size:10.5px!important; line-height:1.45!important; }
.provider-home-completion-card { padding:16px!important; border-radius:20px!important; }
.provider-home-completion-card h3 { font-size:14px!important; }
.provider-home-completion-card h3 + p { margin-top:2px!important; font-size:10.5px!important; }
.provider-home-completion-card > div:first-child > span { font-size:20px!important; }
.provider-home-completion-card > div:nth-child(2) { margin-top:12px!important; height:7px!important; }
.provider-home-completion-card > a { margin-top:12px!important; height:40px!important; border-radius:12px!important; font-size:12px!important; }
.provider-home-tip-card { padding:14px 15px!important; border-radius:18px!important; background:#FFFBEF!important; box-shadow:none!important; }
.provider-home-tip-card > p:first-child { font-size:9px!important; letter-spacing:.11em!important; }
.provider-home-tip-card > h3 { margin-top:5px!important; font-size:13px!important; }
.provider-home-tip-card > p:last-child { margin-top:3px!important; font-size:10.5px!important; line-height:1.55!important; }

@media (max-width:767.98px) {
  .provider-bottom-nav-v329 { background:rgba(255,255,255,.98)!important; box-shadow:0 -7px 24px rgba(15,23,42,.075)!important; }
}
@media (min-width:1280px) {
  .provider-home-stat-card { min-height:124px!important; }
  .provider-home-stat-card > p { display:block!important; margin-top:6px!important; font-size:11px!important; line-height:1.55!important; }
}
@media (prefers-reduced-motion:reduce) {
  .provider-home-business-card,.provider-home-request-card,.provider-home-premium { transition:none!important; transform:none!important; }
}

/* Localsewa v32.9.1 — Provider Home mobile overflow guardrails
 * Keep every provider-dashboard region inside the available viewport.
 * The outer dashboard grid has no explicit mobile track in the compiled
 * markup, so its implicit auto track could expand to a child's min-content
 * width. Force a minmax(0, 1fr) track until the xl desktop layout takes over.
 */
@media (max-width: 1279.98px) {
  .provider-home-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
  }

  .provider-home-main > div.grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .provider-home-main > div.grid > div,
  .provider-home-main section,
  .provider-home-stat-card,
  .provider-home-business-card,
  .provider-home-requests,
  .provider-home-request-card,
  .provider-home-premium,
  .provider-home-completion-card,
  .provider-home-tip-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767.98px) {
  /* Two-column stat grid must shrink tracks instead of widening the page. */
  .provider-home-main section > .grid.grid-cols-2 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .provider-home-business-card > div:first-child,
  .provider-home-business-card > div:first-child > div,
  .provider-home-business-card [class*="flex"],
  .provider-home-availability,
  .provider-home-availability > div,
  .provider-home-profile-link,
  .provider-home-requests > div:first-child,
  .provider-home-request-card > div,
  .provider-home-request-card > div > div {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .provider-home-business-card > div:first-child > div {
    overflow: hidden !important;
  }

  .provider-home-availability > div:first-child {
    flex: 1 1 auto !important;
    padding-right: 10px !important;
  }

  .provider-home-availability > button {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
  }

  .provider-home-availability > div:first-child > p {
    overflow-wrap: anywhere !important;
  }

  .provider-home-requests > div:first-child > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .provider-home-requests > div:first-child > a {
    flex: 0 0 auto !important;
    margin-left: 10px !important;
    white-space: nowrap !important;
  }

  .provider-home-request-card > div:first-child > div:first-child {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .provider-home-request-card > div:first-child > span {
    flex: 0 0 auto !important;
    max-width: 42% !important;
    white-space: nowrap !important;
  }

  .provider-home-request-card > div:last-of-type {
    gap: 8px !important;
  }

  .provider-home-request-card > div:last-of-type > p {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .provider-home-request-card > div:last-of-type > a,
  .provider-home-request-card > div:last-of-type > button {
    flex: 0 0 auto !important;
  }
}

/* Localsewa v32.9.2 — Provider Home card polish
 * Remove the redundant profile footer row from the business card and
 * rebalance the compact Localsewa+ promotional card.
 */
.provider-home-profile-link {
  display: none !important;
}

/* Give the business card a clean finish after removing its footer row. */
.provider-home-business-card {
  padding-bottom: 17px !important;
}
.provider-home-availability-status {
  margin-bottom: 0 !important;
}

/* Premium workspace card: balanced hierarchy, spacing and mobile fit. */
.provider-home-premium {
  height: 168px !important;
  min-height: 168px !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 30px rgba(49,46,129,.16) !important;
}
.provider-home-premium > div:last-child {
  padding: 17px 18px 16px !important;
}
.provider-home-premium > div:last-child > div:first-child {
  align-items: center !important;
  gap: 11px !important;
}
.provider-home-premium > div:last-child > div:first-child > span:first-child {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border-radius: 14px !important;
}
.provider-home-premium > div:last-child > div:first-child > div {
  min-width: 0 !important;
  padding-top: 0 !important;
}
.provider-home-premium > div:last-child > div:first-child > div > p {
  margin: 0 !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
  letter-spacing: .14em !important;
}
.provider-home-premium h2 {
  margin-top: 3px !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}
.provider-home-premium > div:last-child > p {
  margin-top: 14px !important;
  padding-top: 0 !important;
  max-width: 235px !important;
  font-size: 10.5px !important;
  line-height: 1.45 !important;
}
.provider-home-premium > div:last-child > span:last-child {
  margin-top: auto !important;
  min-height: 30px !important;
  padding: 6px 12px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

@media (max-width: 420px) {
  .provider-home-premium {
    height: 164px !important;
    min-height: 164px !important;
  }
  .provider-home-premium > div:last-child {
    padding: 15px 16px 14px !important;
  }
  .provider-home-premium > div:last-child > p {
    margin-top: 11px !important;
    max-width: 220px !important;
  }
}
