/*
 * Service provider dashboard design system.
 * Source of truth: resources/views/service-provider/profile-info.blade.php
 */

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-Regular-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-Medium-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-SemiBold-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-Bold-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-ExtraBold-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "Changa";
  src: url("../fonts/ArbFONTS-Changa-ExtraBold-1.ttf") format("truetype");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  --brand: #347782;
  --brand-dark: #285d66;
  --brand-light: #5a9ca5;
  --brand-lighter: #e8f4f6;
  --gold: #d4c5a8;
  --gold-light: #f0e9dd;
  --gold-lighter: #fdfaf5;
  --surface: #f8f9fc;
  --card: #ffffff;
  --card-bg: #ffffff;
  --text: #1e293b;
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #94a3b8;
  --muted: #64748b;
  --border: #e2e8f0;
  --danger: #ef4444;
  --shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);
  --shadow-md: 0 8px 20px -8px rgba(15, 23, 42, .18);
  --shadow-lg: 0 18px 35px -14px rgba(15, 23, 42, .26);
  --radius-sm: .75rem;
  --radius: 1rem;
  --radius-lg: 1.25rem;
  --r: 1rem;
  --rl: 1.25rem;
  --transition: all .25s cubic-bezier(.4, 0, .2, 1);
}

html { scroll-behavior: smooth; }

body.provider-shell,
body.applicant-shell,
body.guest-shell {
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  color: var(--text-primary);
  background: var(--surface);
  font-family: "Changa", Tahoma, Arial, sans-serif;
  text-rendering: optimizeLegibility;
}

body.guest-shell {
  background:
    radial-gradient(circle at 8% 12%, rgba(52, 119, 130, .08), transparent 24rem),
    radial-gradient(circle at 92% 88%, rgba(212, 197, 168, .15), transparent 28rem),
    var(--surface);
}

body.provider-shell button,
body.provider-shell input,
body.provider-shell select,
body.provider-shell textarea,
body.provider-shell .btn,
body.provider-shell .form-control,
body.provider-shell .form-select,
body.provider-shell .select2-container,
body.applicant-shell button,
body.applicant-shell input,
body.applicant-shell select,
body.applicant-shell textarea,
body.applicant-shell .btn,
body.applicant-shell .form-control,
body.applicant-shell .form-select,
body.applicant-shell .select2-container {
  font-family: inherit;
}

body.guest-shell button,
body.guest-shell input,
body.guest-shell select,
body.guest-shell textarea,
body.guest-shell .btn,
body.guest-shell .form-control,
body.guest-shell .form-select,
body.guest-shell .select2-container { font-family: inherit; }

body.provider-shell *,
body.provider-shell *::before,
body.provider-shell *::after,
body.applicant-shell *,
body.applicant-shell *::before,
body.applicant-shell *::after { box-sizing: border-box; }

body.provider-shell :focus-visible,
body.applicant-shell :focus-visible {
  outline: 3px solid rgba(52, 119, 130, .28);
  outline-offset: 3px;
}

/* Top navigation */
.provider-navbar {
  min-height: 80px;
  height: auto !important;
  padding-block: .45rem !important;
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 6px 24px rgba(15, 23, 42, .06);
  backdrop-filter: blur(14px);
}

.provider-navbar .navbar-brand img {
  display: block;
  width: auto;
  height: 60px;
  margin: 0 !important;
  object-fit: contain;
}

.provider-navbar .nav-link {
  border-radius: .75rem;
  color: var(--text-secondary);
  font-weight: 650;
  transition: var(--transition);
}

.provider-navbar .nav-link:hover,
.provider-navbar .nav-link:focus-visible {
  color: var(--brand);
  background: var(--brand-lighter);
}

.provider-navbar .navbar-toggler {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: .75rem;
  color: var(--brand);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.provider-navbar .dropdown-menu {
  padding: .55rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
}

.provider-navbar .dropdown-item {
  padding: .7rem .8rem;
  border-radius: .6rem;
  color: var(--text-secondary);
}

.provider-navbar .dropdown-item:hover,
.provider-navbar .dropdown-item:focus {
  color: var(--brand);
  background: var(--brand-lighter);
}

.provider-user-menu {
  display: flex !important;
  align-items: center;
  gap: .25rem;
  padding: .25rem;
  border: 1px solid var(--border);
  background: var(--gold-lighter);
}

.provider-user-menu .user-profile img {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
}

/* Dashboard frame */
.provider-main { min-height: 55vh; }
.provider-profile-section { background: var(--surface); }
.provider-dashboard-row { align-items: stretch !important; }

.provider-sidebar {
  position: relative;
  z-index: 3;
  flex: 0 0 250px;
  width: 250px;
  min-height: calc(100vh - 80px);
  padding: 1rem .8rem 1.5rem;
  border-inline-end: 1px solid var(--border);
  background: #fff;
}

.provider-sidebar .nav {
  position: sticky;
  top: 96px;
  margin: 0 !important;
  padding-top: 0 !important;
}

.provider-sidebar .head,
.provider-offcanvas .head {
  margin-bottom: 1rem;
  padding: 1.15rem !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(145deg, var(--brand-lighter), #fff);
}

.provider-sidebar .head .image img,
.provider-offcanvas .head .image img {
  width: 82px;
  height: 82px;
  border: 4px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(52, 119, 130, .18), var(--shadow-sm);
}

.provider-sidebar .head h3,
.provider-offcanvas .head h3 {
  margin: .7rem 0 .2rem;
  padding-top: 0 !important;
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 800;
}

.provider-sidebar .head p,
.provider-offcanvas .head p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
}

.provider-sidebar .nav-link,
.provider-offcanvas .nav-link {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 46px;
  margin-bottom: .3rem;
  padding: .7rem .8rem;
  border: 1px solid transparent;
  border-radius: .75rem;
  color: var(--text-secondary);
  font-size: .88rem;
  font-weight: 700;
  transition: var(--transition);
}

.provider-sidebar .nav-link i,
.provider-offcanvas .nav-link i {
  width: 22px;
  color: var(--brand);
  text-align: center;
}

.provider-sidebar .nav-link:hover,
.provider-offcanvas .nav-link:hover {
  color: var(--brand);
  border-color: rgba(52, 119, 130, .16);
  background: var(--brand-lighter);
  transform: translateX(var(--nav-hover-shift, 2px));
}

[dir="rtl"] .provider-sidebar .nav-link:hover,
[dir="rtl"] .provider-offcanvas .nav-link:hover { --nav-hover-shift: -2px; }

.provider-sidebar .nav-link.active,
.provider-offcanvas .nav-link.active {
  color: #fff !important;
  border-color: transparent;
  background: linear-gradient(135deg, var(--brand), var(--brand-light));
  box-shadow: 0 9px 18px -12px rgba(52, 119, 130, .9);
}

.provider-sidebar .nav-link.active i,
.provider-offcanvas .nav-link.active i { color: #fff; }

.provider-content {
  flex: 1 1 0;
  width: calc(100% - 250px);
  min-width: 0;
  padding: 0;
}

.provider-offcanvas {
  width: min(88vw, 330px) !important;
  border: 0;
  background: var(--surface);
}

.provider-offcanvas .offcanvas-header { padding: 1rem 1rem 0; }
.provider-offcanvas .offcanvas-body { padding: .75rem 1rem 1.25rem; }
.provider-offcanvas .nav { margin: 0 !important; padding-top: 0 !important; }

.provider-mobile-menu-button {
  position: sticky;
  top: 88px;
  z-index: 1020;
  display: none;
  align-items: center;
  gap: .55rem;
  width: max-content;
  min-height: 44px;
  margin: .75rem 1rem 0;
  padding: .6rem .9rem;
  border: 1px solid rgba(52, 119, 130, .2);
  border-radius: .75rem;
  color: var(--brand-dark);
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-sm);
  font-weight: 700;
  backdrop-filter: blur(10px);
}

/* Unified provider page anatomy */
.provider-page-frame {
  width: min(100%, 1400px);
  margin-inline: auto;
  padding: 1.5rem;
}

.provider-page-body { min-width: 0; }

.provider-page-header {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  min-height: 154px;
  overflow: hidden;
  margin-bottom: 1.5rem;
  padding: 1.75rem 2rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-lg);
  color: #fff;
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 48%, var(--brand-light) 100%);
  box-shadow: var(--shadow-lg);
}

.provider-page-header::before,
.provider-page-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.provider-page-header::before {
  inset-block: 12px;
  inset-inline-end: clamp(18px, 3vw, 42px);
  width: clamp(104px, 9vw, 110px);
  background-image: url('../images/redd-brand-gold.png');
  background-repeat: no-repeat;
  background-position: left center;
  /* The source is the transparent horizontal brand lockup; the narrow box
     intentionally reveals only its mark, not the adjacent wordmark. */
  background-size: auto 100%;
  opacity: .16;
  filter: saturate(.72) brightness(1.2);
}

.provider-page-header::after {
  inset-block-end: -80px;
  inset-inline-start: 28%;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212, 197, 168, .2), transparent 68%);
}

.provider-page-header__content {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}

.provider-page-header__icon {
  display: grid;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  place-items: center;
  font-size: 1.45rem;
  backdrop-filter: blur(8px);
}

.provider-page-header__copy { min-width: 0; }

.provider-page-header__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  line-height: 1.35;
  font-weight: 800;
}

.provider-page-header__subtitle {
  max-width: 720px;
  margin: .4rem 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: .98rem;
  line-height: 1.75;
  font-weight: 500;
}

.provider-page-header__actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
}

.provider-page-header__actions .btn {
  min-height: 44px;
  border-color: rgba(255, 255, 255, .28);
  color: var(--brand-dark);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.provider-page-header__actions .btn:hover,
.provider-page-header__actions .btn:focus-visible {
  color: #fff;
  border-color: var(--gold);
  background: rgba(40, 93, 102, .92);
}

.provider-section-card {
  overflow: hidden;
  margin-bottom: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card-bg);
  box-shadow: var(--shadow-sm);
}

.provider-section-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, var(--brand-lighter), #fff);
}

.provider-section-card__title {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: 0;
  color: var(--text-primary);
  font-size: 1.05rem;
  font-weight: 800;
}

.provider-section-card__title i { color: var(--brand); }
.provider-section-card__body { padding: 1.25rem; }

.provider-empty-state {
  display: grid;
  min-height: 260px;
  padding: 2rem 1rem;
  color: var(--muted);
  text-align: center;
  place-items: center;
}

.provider-empty-state__icon {
  display: grid;
  width: 72px;
  height: 72px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  color: var(--brand);
  background: var(--brand-lighter);
  place-items: center;
  font-size: 1.75rem;
}

.provider-page-body > .stats-container,
.provider-page-body > .orders-shell,
.provider-page-body > .order-details-shell,
.provider-page-body > .container,
.provider-page-body > .contact-page > .container,
.provider-page-body > .complaints-list.container,
.provider-page-body > .complaint-details.container {
  max-width: none;
  padding: 0 !important;
}

.order-context-bar {
  margin-bottom: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--brand-lighter), #fff);
  box-shadow: var(--shadow-sm);
}

.order-context-bar__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.order-context-bar__title {
  margin: 0;
  color: var(--text-primary);
  font-size: 1.15rem;
  line-height: 1.55;
  font-weight: 800;
}

.order-context-bar .order-back {
  color: var(--brand) !important;
  border-color: rgba(52, 119, 130, .22);
  background: #fff;
}

.order-context-bar .order-hero-meta { margin-top: 1rem; }
.order-context-bar .order-meta-pill { color: var(--text-secondary); border-color: var(--border); background: #fff; }
.order-context-bar .order-meta-pill i { color: var(--brand); }
.order-context-bar .order-status { color: #6b5a3a; border-color: transparent; background: var(--gold-light); }

.provider-notification-list {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.provider-notification-list .note {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fff;
  transition: var(--transition);
}

.provider-notification-list .note:hover { border-color: rgba(52,119,130,.35); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.provider-notification-list .note-link { padding: 1rem; }

.provider-success-mark {
  display: grid;
  width: 76px;
  height: 76px;
  margin-inline: auto;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--brand), var(--brand-light));
  box-shadow: 0 14px 28px -14px rgba(52,119,130,.8);
  place-items: center;
  font-size: 1.8rem;
}

.payment-success-card { max-width: 720px; margin-inline: auto; }

.guest-provider-page-frame {
  width: min(100% - 2rem, 1200px);
  margin: 1.5rem auto 0;
}

.guest-provider-page-frame .provider-page-header { min-height: 132px; margin-bottom: 0; }

body[class*="guest-page--provider-"] .logins-section {
  padding: 1.5rem 0 3rem;
  background: transparent !important;
}

body[class*="guest-page--provider-"] .logins-section > .container { max-width: 1200px; }
body[class*="guest-page--provider-"] .logins-content { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
body[class*="guest-page--provider-"] .logins-content > .row { align-items: stretch; margin: 0; }
body[class*="guest-page--provider-"] .logins-content > .row > [class*="col-"] { padding: clamp(1rem, 3vw, 2rem); }
body[class*="guest-page--provider-"] .logins-content .info { height: 100%; padding: clamp(1rem, 4vw, 3rem) !important; border-radius: var(--radius); color: #fff; background: linear-gradient(145deg, var(--brand-dark), var(--brand)); }
body[class*="guest-page--provider-"] .logins-content .info .title,
body[class*="guest-page--provider-"] .logins-content .info .sub-Title,
body[class*="guest-page--provider-"] .logins-content .info .details { color: #fff !important; }
body[class*="guest-page--provider-"] .logins-content .form,
body[class*="guest-page--provider-"] .otp-long { height: 100%; padding: clamp(1rem, 3vw, 2rem) !important; border: 0; border-radius: var(--radius); background: #fff; box-shadow: none; }
body[class*="guest-page--provider-"] .logins-content .form .overlay { padding: 0 !important; }

/* The legacy combined profile keeps its tab logic, but uses the current shell only. */
.dashboard-page--provider-profile .provider-page-body > .profile-section > .row > .d-flex > .nav-side {
  display: none !important;
}

.dashboard-page--provider-profile .provider-page-body > .profile-section > .row > .d-flex > .content-side {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}

.dashboard-page--provider-profile .provider-page-body > .profile-section,
.dashboard-page--provider-profile .tab-content { background: transparent; }

/* Provider home is legacy marketing content; contain it inside dashboard cards. */
.dashboard-page--home .provider-page-body {
  display: grid;
  gap: 1.25rem;
}

.dashboard-page--home .provider-page-body > section {
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background-color: #fff;
  box-shadow: var(--shadow-sm);
}

.dashboard-page--home .services > a { color: inherit; text-decoration: none; }
.dashboard-page--home .services .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr);
  align-items: center;
  gap: 1rem;
  height: auto !important;
  min-height: 360px;
  padding: 2rem !important;
  border-radius: 0 !important;
}
.dashboard-page--home .services img { max-width: 100%; margin: 0 !important; }
.dashboard-page--home .services h1 { margin: 0 !important; font-size: clamp(2rem, 5vw, 4rem) !important; }

/* Shared page primitives from the statistics screen */
.stats-container { max-width: 1400px; margin: 0 auto; padding: 1.5rem; }

.stats-header {
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  padding: 2rem;
  border-radius: var(--radius-lg);
  color: #fff;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-light) 100%);
  box-shadow: var(--shadow-lg);
}

.stats-header::before {
  content: "";
  position: absolute;
  top: -60%;
  inset-inline-end: -15%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, transparent 70%);
}

.stats-title { margin: 0 0 .5rem; font-size: clamp(1.65rem, 3vw, 2.125rem); font-weight: 800; letter-spacing: -.5px; }
.stats-subtitle { margin: 0; font-size: 1.05rem; font-weight: 500; opacity: .95; }

.promotion-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1.2rem;
  border-radius: 999px;
  color: #6b5a3a;
  background: linear-gradient(135deg, var(--gold), #e6d9c0);
  box-shadow: 0 4px 12px rgba(212, 197, 168, .3);
  font-size: .875rem;
  font-weight: 700;
}

.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.kpi-card,
.chart-card,
.quick-actions,
.sp-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card-bg);
  box-shadow: var(--shadow-sm);
}

.kpi-card {
  position: relative;
  overflow: hidden;
  height: 100%;
  padding: 1.5rem;
  transition: var(--transition);
}

.kpi-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--brand), var(--gold));
  transform: scaleX(0);
  transition: transform .3s ease;
}

.kpi-card:hover { border-color: var(--brand); box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.kpi-card:hover::before { transform: scaleX(1); }
.kpi-icon { display: grid; width: 52px; height: 52px; margin-bottom: 1rem; border-radius: var(--radius-sm); place-items: center; font-size: 22px; }
.kpi-icon.brand { color: var(--brand); background: rgba(52,119,130,.1); }
.kpi-icon.gold { color: #9a8153; background: rgba(212,197,168,.18); }
.kpi-label { margin-bottom: .5rem; color: var(--text-secondary); font-size: .875rem; font-weight: 600; }
.kpi-value { margin-bottom: .25rem; color: var(--text-primary); font-size: 2.125rem; line-height: 1; font-weight: 800; }
.kpi-change { color: var(--text-muted); font-size: .875rem; }
.kpi-details { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--border); }
.kpi-detail-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .35rem 0; font-size: .875rem; }
.kpi-detail-label { color: var(--text-secondary); font-weight: 500; }
.kpi-detail-value { color: var(--text-primary); font-weight: 700; }

.summary-section {
  margin-bottom: 2rem;
  padding: 2rem;
  border-radius: var(--radius-lg);
  color: #6b5a3a;
  background: linear-gradient(135deg, var(--gold), #e6d9c0);
  box-shadow: var(--shadow-lg);
}
.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.summary-item { padding: 1rem; border-radius: var(--radius-sm); text-align: center; background: rgba(255,255,255,.2); }
.summary-value { margin-bottom: .5rem; color: #6b5a3a; font-size: 2.5rem; line-height: 1; font-weight: 800; }
.summary-label { font-size: .9375rem; font-weight: 500; opacity: .9; }

.profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
.profile-item { padding: 1.5rem; border-radius: var(--radius); background: var(--brand-lighter); text-align: center; transition: var(--transition); }
.profile-item:hover { background: #fff; box-shadow: var(--shadow-sm); }
.profile-icon { display: grid; width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; color: #fff; place-items: center; font-size: 28px; }
.profile-icon.brand { background: var(--brand); }
.profile-icon.gold { background: #b59c6d; }

.chart-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.chart-card { height: 100%; padding: 1.5rem; transition: var(--transition); }
.chart-card:hover { box-shadow: var(--shadow-md); }
.chart-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.chart-title { display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--text-primary); font-size: 1.125rem; font-weight: 700; }
.chart-title i { color: var(--brand); }
.chart-badge { padding: .25rem .75rem; border-radius: 999px; color: var(--brand); background: var(--brand-lighter); font-size: .75rem; font-weight: 600; }
.chart-container { position: relative; height: 300px; }
.chart-container.tall { height: 420px; }

.quick-actions { padding: 1.5rem; }
.quick-actions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1rem; margin-top: 1rem; }
.quick-action-btn { display: flex; flex-direction: column; align-items: center; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-primary); background: var(--gold-lighter); text-align: center; text-decoration: none; font-size: .8rem; font-weight: 600; transition: var(--transition); }
.quick-action-btn:hover { color: #fff !important; border-color: var(--brand); background: var(--brand); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.quick-action-icon { display: grid; width: 48px; height: 48px; border-radius: var(--radius-sm); color: var(--brand); background: #fff; place-items: center; font-size: 20px; transition: var(--transition); }
.quick-action-btn:hover .quick-action-icon { color: #fff; background: rgba(255,255,255,.2); }
.sp-card { padding: 1.25rem; }

/* Legacy dashboard screens: unified visual language without changing markup */
.provider-content {
  color: var(--text-primary);
  background: var(--surface);
}

.provider-content > .container,
.provider-content > .container-fluid,
.provider-content > .tab-pane,
.provider-content > section:not(.title-section) {
  max-width: 1400px;
  margin-inline: auto;
}

.provider-content .title-section {
  position: relative;
  overflow: hidden;
  min-height: 130px;
  margin: 1.5rem;
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--brand), var(--brand-light)) !important;
  box-shadow: var(--shadow-lg);
}

.provider-content .title-section::before {
  content: "";
  position: absolute;
  inset-block-start: -110px;
  inset-inline-end: -80px;
  width: 260px;
  height: 260px;
  border: 45px solid rgba(255, 255, 255, .06);
  border-radius: 50%;
}

.provider-content .title-section .title-content,
.provider-content .title-section .title { position: relative; z-index: 1; }
.provider-content .title-section .title { margin: 0; color: #fff !important; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 800; }
.provider-content .title-section .title::before { display: none !important; }

.provider-content .box,
.provider-content .content:not(.dropdown-content),
.provider-content .card {
  border-color: var(--border);
  border-radius: var(--radius);
  background-color: var(--card-bg);
  box-shadow: var(--shadow-sm);
}

.provider-content .card { overflow: hidden; }
.provider-content .card-header {
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--border);
  color: var(--text-primary);
  background: linear-gradient(135deg, var(--brand-lighter), #fff);
  font-weight: 700;
}
.provider-content .card-footer { border-top: 1px solid var(--border); background: #fbfdff; }

.provider-content .main-button {
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid var(--brand) !important;
  border-radius: .7rem;
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand), var(--brand-light)) !important;
  box-shadow: 0 8px 18px -13px rgba(52, 119, 130, .9);
  font-weight: 700;
}
.provider-content .main-button:hover,
.provider-content .main-button:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand)) !important;
  transform: translateY(-1px);
}

.provider-content .form-label,
.provider-content label { color: var(--text-secondary); font-weight: 650; }
.provider-content .form-text { color: var(--muted); }
.provider-content textarea.form-control { min-height: 120px; resize: vertical; }
.provider-content input[type="file"].form-control { padding: .55rem .75rem; }

.provider-content .alert {
  border: 0;
  border-inline-start: 4px solid currentColor;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-sm);
}

.provider-content .nav-tabs {
  gap: .4rem;
  padding: .4rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #fff;
}
.provider-content .nav-tabs .nav-link {
  min-height: 42px;
  border: 0;
  border-radius: .65rem;
  color: var(--text-secondary);
  font-weight: 700;
}
.provider-content .nav-tabs .nav-link.active {
  color: #fff;
  background: var(--brand);
}

.provider-content .list-group-item { border-color: var(--border); color: var(--text-secondary); background: #fff; }
.provider-content .pagination { gap: .3rem; }
.provider-content .page-link { border-color: var(--border); border-radius: .6rem !important; color: var(--brand); }
.provider-content .page-item.active .page-link { border-color: var(--brand); background: var(--brand); }

/* Authentication and public account screens */
body.guest-shell .logins-section,
body.guest-shell .register-section,
body.guest-shell .login-section,
body.guest-shell .order-service-section {
  color: var(--text-primary);
}
body.guest-shell .form-control,
body.guest-shell .form-select,
body.guest-shell .select2-container--default .select2-selection--single,
body.guest-shell .select2-container--default .select2-selection--multiple {
  min-height: 46px;
  border-color: var(--border);
  border-radius: .75rem;
  background: #fff;
}
body.guest-shell .form-control:focus,
body.guest-shell .form-select:focus { border-color: var(--brand-light); box-shadow: 0 0 0 3px rgba(52,119,130,.12); }
body.guest-shell .main-button,
body.guest-shell .btn-primary {
  min-height: 44px;
  border-color: var(--brand) !important;
  border-radius: .7rem;
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand), var(--brand-light)) !important;
  font-weight: 700;
}
body.guest-shell .card,
body.guest-shell .box,
body.guest-shell .form {
  border-color: var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

/* Consistent controls */
.provider-content .form-control,
.provider-content .form-select,
.provider-content .select2-container--default .select2-selection--single,
.provider-content .select2-container--default .select2-selection--multiple {
  min-height: 46px;
  border-color: var(--border);
  border-radius: .75rem;
  background-color: #fff;
  box-shadow: none;
}

.provider-content .form-control:focus,
.provider-content .form-select:focus {
  border-color: var(--brand-light);
  box-shadow: 0 0 0 3px rgba(52,119,130,.12);
}

.provider-content .btn { border-radius: .7rem; font-weight: 700; transition: var(--transition); }
.provider-content .btn-primary { border-color: var(--brand); background: var(--brand); }
.provider-content .btn-primary:hover { border-color: var(--brand-dark); background: var(--brand-dark); transform: translateY(-1px); }
.provider-content .btn-outline-primary { color: var(--brand); border-color: var(--brand); }
.provider-content .btn-outline-primary:hover { color: #fff; background: var(--brand); }
.provider-content .btn-warning,
.provider-content .btn-outline-warning { color: #6b5a3a !important; border-color: var(--gold) !important; background: var(--gold) !important; }
.provider-content .btn-warning:hover,
.provider-content .btn-outline-warning:hover { color: #5a4a2e !important; background: #c7b897 !important; }
.provider-content .badge.bg-success { background-color: var(--brand) !important; }
.provider-content .badge.bg-secondary,
.provider-content .badge.bg-warning { color: #6b5a3a !important; background-color: var(--gold) !important; }

.provider-content .table-responsive { border: 1px solid var(--border); border-radius: var(--radius-sm); }
.provider-content .table { margin-bottom: 0; color: var(--text-secondary); vertical-align: middle; }
.provider-content .table thead th { padding: .9rem 1rem; border-bottom-width: 1px; color: var(--text-primary); background: var(--brand-lighter); font-size: .82rem; white-space: nowrap; }
.provider-content .table tbody td { padding: .9rem 1rem; border-color: var(--border); }
.provider-content .table tbody tr:hover { background: #fbfdff; }

.provider-content .modal-content { overflow: hidden; border: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.provider-content .modal-header { color: #fff; border: 0; background: linear-gradient(135deg, var(--brand), var(--brand-light)); }

.flash-stack {
  position: fixed;
  top: 96px;
  inset-inline-end: 16px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.flash-stack .alert { min-width: 320px; max-width: min(92vw, 560px); margin: 0; border: 0; border-radius: var(--radius-sm); box-shadow: var(--shadow-lg); pointer-events: auto; font-weight: 600; }
.flash-stack .btn-close { filter: saturate(0) contrast(.35); }

.card-body .avatar-lg { display: block; width: 120px; min-width: 120px; height: 120px; border-radius: 50% !important; object-fit: cover; }

@media (max-width: 991.98px) {
  .provider-navbar .navbar-collapse {
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    max-height: calc(100vh - 84px);
    overflow-y: auto;
    padding: .8rem 1rem 1rem;
    border-bottom: 1px solid var(--border);
    background: #fff;
    box-shadow: var(--shadow-lg);
  }
  .provider-navbar .navbar-nav { gap: .2rem; }
  .provider-navbar .nav-link { padding: .75rem !important; }
  .provider-navbar .container { max-width: 100%; padding-inline: 1rem; }
}

@media (max-width: 767.98px) {
  .provider-content { width: 100%; }
  .provider-mobile-menu-button { display: inline-flex; }
  .provider-page-frame { padding: 1rem; }
  .provider-page-header {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    padding: 1.25rem;
  }
  .provider-page-header::before {
    inset-block: 18px;
    inset-inline-end: 12px;
    width: 86px;
    opacity: .11;
  }
  .provider-page-header__icon {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    border-radius: .85rem;
    font-size: 1.15rem;
  }
  .provider-page-header__actions { width: 100%; justify-content: flex-start; }
  .provider-page-header__actions .btn { flex: 1 1 auto; }
  .provider-section-card__header { align-items: flex-start; flex-direction: column; }
  .provider-section-card__body { padding: 1rem; }
  .order-context-bar__main { align-items: flex-start; flex-direction: column; }
  .order-context-bar .order-back { width: 100%; justify-content: center; }
  .guest-provider-page-frame { width: calc(100% - 2rem); margin-top: 1rem; }
  .dashboard-page--home .services .container { grid-template-columns: 1fr; min-height: 0; padding: 1.25rem !important; text-align: center; }
  .stats-container { padding: 1rem; }
  .stats-header { margin-bottom: 1.25rem; padding: 1.35rem; }
  .kpi-grid,
  .chart-grid { grid-template-columns: 1fr; gap: 1rem; }
  .kpi-value { font-size: 1.75rem; }
  .summary-section { padding: 1.25rem; }
  .summary-grid { gap: .75rem; }
  .summary-value { font-size: 2rem; }
  .chart-container { height: 250px; }
  .flash-stack { top: 84px; right: 12px; left: 12px; }
  .flash-stack .alert { width: 100%; min-width: 0; max-width: none; }

  .provider-content .card,
  .provider-content .modal-content { border-radius: var(--radius); }
  .provider-content .card-body { padding: 1rem; }
  .provider-content .table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .provider-content img,
  .provider-content video,
  .provider-content iframe { max-width: 100%; }
  .provider-content .modal-dialog { margin: .75rem; }
  .provider-content .btn { min-height: 44px; }
  .provider-content .form-control,
  .provider-content .form-select { min-height: 44px; font-size: 16px; }
  .provider-content .title-section { min-height: 108px; margin: 1rem; padding: 1.15rem; }
  .provider-content .box { margin-inline: .75rem; padding: 1rem; }
  .provider-content .orders-tabs,
  .provider-content .nav-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    max-width: 100%;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .provider-content .orders-tabs > *,
  .provider-content .nav-tabs > * { flex: 0 0 auto; scroll-snap-align: start; }
  body.guest-shell .container { padding-inline: 1rem; }
  body.guest-shell .card,
  body.guest-shell .box,
  body.guest-shell .form { border-radius: var(--radius); }
}

@media (max-width: 479.98px) {
  .provider-navbar { min-height: 68px; }
  .provider-navbar .navbar-brand img { height: 50px; }
  .provider-navbar .navbar-collapse { max-height: calc(100dvh - 68px); }
  .provider-mobile-menu-button { top: 74px; margin-inline: .75rem; }
  .stats-container { padding: .75rem; }
  .stats-header { padding: 1.1rem; border-radius: var(--radius); }
  .stats-title { font-size: 1.45rem; }
  .summary-section { padding: 1rem; }
  .provider-content .card-body { padding: .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.provider-shell *,
  body.provider-shell *::before,
  body.provider-shell *::after,
  body.applicant-shell *,
  body.applicant-shell *::before,
  body.applicant-shell *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Complete provider/applicant page layer */
.dashboard-page {
  width: 100%;
  min-width: 0;
  padding: clamp(1rem, 2.4vw, 2rem);
}

.dashboard-page > :first-child { margin-top: 0 !important; }
.dashboard-page > :last-child { margin-bottom: 0 !important; }

.dashboard-page :is(h1, h2, h3, h4, h5, h6) {
  color: var(--text-primary);
  line-height: 1.45;
}

.dashboard-page :is(.title-section, .page-header, .section-header) {
  position: relative;
  overflow: hidden;
  margin: 0 0 1.5rem !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  border: 0 !important;
  border-radius: var(--radius-lg) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand), var(--brand-light)) !important;
  box-shadow: var(--shadow-lg) !important;
}

.dashboard-page :is(.title-section, .page-header, .section-header)::after {
  position: absolute;
  inset-block-start: -55%;
  inset-inline-end: -5%;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .09);
  content: "";
  pointer-events: none;
}

.dashboard-page :is(.title-section, .page-header, .section-header) :is(h1, h2, h3, h4, p, i, span) {
  position: relative;
  z-index: 1;
  color: inherit !important;
}

.dashboard-page :is(.card, .box, .content, .content-box, .form-box, .notification-item, .complaint-card, .wallet-card) {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  background: var(--card) !important;
  box-shadow: var(--shadow-sm) !important;
}

.dashboard-page :is(.card, .box, .notification-item, .complaint-card) {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dashboard-page :is(.card, .box, .notification-item, .complaint-card):hover {
  border-color: rgba(52, 119, 130, .25) !important;
  box-shadow: var(--shadow-md) !important;
}

.dashboard-page .card-header {
  padding: 1rem 1.2rem;
  border-color: var(--border);
  color: var(--text-primary);
  background: linear-gradient(180deg, #fff, var(--gold-lighter));
  font-weight: 700;
}

.dashboard-page :is(.btn, .main-button, button[type="submit"]) {
  min-height: 44px;
  border-radius: .75rem !important;
  font-family: inherit !important;
  font-weight: 700 !important;
}

.dashboard-page :is(.main-button, .btn-primary, button[type="submit"]:not(.btn-danger):not(.btn-secondary)) {
  border-color: var(--brand) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand-light)) !important;
  box-shadow: 0 8px 18px -10px rgba(40, 93, 102, .8);
}

.dashboard-page :is(.main-button, .btn-primary, button[type="submit"]:not(.btn-danger):not(.btn-secondary)):hover {
  transform: translateY(-1px);
  filter: brightness(.97);
}

.dashboard-page :is(.form-control, .form-select, input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  min-height: 46px;
  border-color: var(--border) !important;
  border-radius: .75rem !important;
  color: var(--text-primary);
  background-color: #fff;
  font-family: inherit !important;
}

.dashboard-page :is(.form-control, .form-select, input, textarea, select):focus {
  border-color: var(--brand-light) !important;
  box-shadow: 0 0 0 3px rgba(52, 119, 130, .12) !important;
  outline: 0;
}

.dashboard-page :is(.badge, .status, .status-badge) {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .35rem .7rem;
  border-radius: 999px !important;
  font-weight: 700;
}

.dashboard-page .table-responsive {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-sm);
  -webkit-overflow-scrolling: touch;
}

.dashboard-page .table { min-width: 640px; margin: 0; }
.dashboard-page .table thead th {
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--border);
  color: var(--brand-dark);
  background: var(--brand-lighter);
  white-space: nowrap;
}
.dashboard-page .table tbody td { padding: .9rem 1rem; border-color: var(--border); }

.dashboard-page :is(.nav-tabs, .tabs, .orders-tabs) {
  gap: .4rem;
  padding: .4rem;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm);
  background: #fff;
}

.dashboard-page :is(.nav-tabs, .tabs, .orders-tabs) :is(.nav-link, .tab-button, button) {
  min-height: 42px;
  border: 0 !important;
  border-radius: .65rem !important;
  color: var(--text-secondary);
  background: transparent;
  font-weight: 700;
}

.dashboard-page :is(.nav-tabs, .tabs, .orders-tabs) :is(.active, [aria-selected="true"]) {
  color: #fff !important;
  background: var(--brand) !important;
}

.dashboard-page :is(.modal-content, .offcanvas) {
  border: 0 !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
}

.dashboard-page .modal-header {
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-dark), var(--brand-light));
}

.dashboard-page--messages :is(.chat-container, .messages-container, .conversation-list),
.dashboard-page--notifications :is(.notifications-list, .notification-item),
.dashboard-page--orders :is(.orders-container, .orders-list),
.dashboard-page--complaints :is(.complaints-list, .complaint-card) {
  border-color: var(--border) !important;
  background-color: #fff !important;
}

.dashboard-page--messages :is(.message-input, .chat-input, textarea) { min-height: 48px; }
.dashboard-page--profile img,
.dashboard-page--favorites img,
.dashboard-page--ads img { object-fit: cover; }

.dashboard-page :is(.empty-state, .no-data, .no-results) {
  width: 100%;
  padding: clamp(2rem, 6vw, 4rem) 1.25rem;
  border: 1px dashed rgba(52, 119, 130, .3);
  border-radius: var(--radius);
  color: var(--muted);
  background: var(--brand-lighter);
  text-align: center;
}

.guest-page {
  min-width: 0;
  color: var(--text-primary);
  font-family: "Changa", Tahoma, Arial, sans-serif;
}

.guest-page :is(.login-container, .register-container, .profile-container, .order-service-container, form) {
  border-radius: var(--radius-lg);
}

@media (max-width: 767.98px) {
  .dashboard-page { padding: .9rem; }
  .dashboard-page :is(.title-section, .page-header, .section-header) {
    margin-bottom: 1rem !important;
    padding: 1.15rem !important;
    border-radius: var(--radius) !important;
  }
  .dashboard-page :is(.row, .d-flex).gap-3 { row-gap: .75rem !important; }
  .dashboard-page :is(.btn, .main-button, button[type="submit"]) { min-height: 46px; }
  .dashboard-page .btn-group:not(.btn-group-sm) { display: flex; width: 100%; flex-wrap: wrap; }
  .dashboard-page .btn-group:not(.btn-group-sm) > .btn { flex: 1 1 auto; }
  .dashboard-page :is(.nav-tabs, .tabs, .orders-tabs) {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .dashboard-page :is(.nav-tabs, .tabs, .orders-tabs) > * { flex: 0 0 auto; scroll-snap-align: start; }
  .dashboard-page :is(.modal-dialog, .modal-dialog-centered) { margin: .6rem; }
  .dashboard-page :is(img, video, iframe, canvas) { max-width: 100%; }
  .dashboard-page--messages :is(.chat-container, .messages-container) { min-height: calc(100dvh - 190px); }
}

@media (max-width: 479.98px) {
  .dashboard-page { padding: .7rem; }
  .dashboard-page :is(.card-body, .modal-body, .modal-footer) { padding: .9rem; }
  .dashboard-page .d-flex.justify-content-between { gap: .65rem; flex-wrap: wrap; }
  .dashboard-page .w-50 { width: 100% !important; }
}

/* REDD_PROVIDER_SHELL_V6_START */

/* ========================================================================== 
   Provider application shell v6
   ========================================================================== */
:root {
  --provider-sidebar-expanded: 280px;
  --provider-sidebar-collapsed: 82px;
  --provider-appbar-height: 76px;
  --provider-shell-gap: 24px;
}

html[data-provider-sidebar] body.provider-shell {
  background: #f5f8fa;
}

body.provider-shell {
  min-height: 100vh;
  overflow-x: clip;
}

body.provider-shell.provider-no-scroll { overflow: hidden; }

.provider-app {
  min-height: 100vh;
  background:
    radial-gradient(circle at 90% 0, rgba(52, 119, 130, .055), transparent 28rem),
    #f5f8fa;
}

.provider-appbar {
  position: fixed;
  z-index: 1040;
  inset-block-start: 0;
  inset-inline: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--provider-appbar-height);
  padding: 10px clamp(14px, 2vw, 28px);
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 28px rgba(15, 23, 42, .055);
  backdrop-filter: blur(18px);
}

.provider-appbar__start,
.provider-appbar__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.provider-appbar__brand {
  display: inline-flex;
  align-items: center;
  height: 54px;
  padding-inline: 6px;
}

.provider-appbar__brand img {
  display: block;
  width: auto;
  max-width: 172px;
  height: 48px;
  object-fit: contain;
}

.provider-icon-button,
.provider-sidebar__close {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #dce6ea;
  border-radius: 14px;
  color: var(--brand);
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
  transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}

.provider-icon-button:hover,
.provider-icon-button:focus-visible,
.provider-sidebar__close:hover,
.provider-sidebar__close:focus-visible {
  color: #fff;
  border-color: var(--brand);
  background: var(--brand);
  transform: translateY(-1px);
}

.provider-notification-dot {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e25757;
}

.provider-account-button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 52px;
  padding: 5px 7px 5px 12px;
  border: 1px solid #dce6ea;
  border-radius: 16px;
  color: #28454b;
  background: #fff;
}

[dir="rtl"] .provider-account-button { padding: 5px 7px 5px 12px; }
[dir="ltr"] .provider-account-button { padding: 5px 12px 5px 7px; }

.provider-account-button > img {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 2px solid #edf3f5;
  border-radius: 12px;
  object-fit: cover;
}

.provider-account-button__copy {
  display: grid;
  min-width: 110px;
  text-align: start;
  line-height: 1.25;
}

.provider-account-button__copy strong {
  overflow: hidden;
  color: #203b41;
  font-size: .82rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.provider-account-button__copy small { color: #7a9197; font-size: .69rem; }
.provider-account-button > i { color: #90a3a8; font-size: .7rem; }

.provider-appbar .dropdown-menu {
  margin-top: 10px !important;
  padding: 8px;
  border: 1px solid #e0e8eb;
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
}

.provider-appbar .dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #425c62;
  font-weight: 650;
}

.provider-appbar .dropdown-item:hover { color: var(--brand); background: var(--brand-lighter); }

.provider-notification-menu { width: min(360px, calc(100vw - 28px)); max-height: 440px; overflow-y: auto; }
.provider-dropdown-title { padding: 8px 10px 12px; color: #203b41; font-weight: 850; }
.provider-notification-item { display: grid; gap: 3px; padding: 11px 10px; border-top: 1px solid #eef2f4; color: #40585e; text-decoration: none; }
.provider-notification-item:hover { color: var(--brand); background: #f8fbfc; }
.provider-notification-item small { color: #91a1a5; font-size: .7rem; }
.provider-dropdown-empty { padding: 22px 12px; color: #8b9ca0; text-align: center; }
.provider-dropdown-all { display: block; margin-top: 6px; padding: 9px; border-radius: 10px; color: var(--brand); background: var(--brand-lighter); text-align: center; text-decoration: none; font-weight: 750; }

.provider-sidebar {
  position: fixed;
  z-index: 1035;
  inset-block: var(--provider-appbar-height) 0;
  inset-inline-start: 0;
  display: flex !important;
  flex-direction: column;
  width: var(--provider-sidebar-collapsed) !important;
  min-height: 0 !important;
  padding: 14px 10px 12px;
  border: 0;
  border-inline-end: 1px solid #dfe8eb;
  background: #fff;
  box-shadow: 10px 0 34px rgba(15, 23, 42, .04);
  overflow: hidden;
  transition: width .26s cubic-bezier(.4, 0, .2, 1), transform .26s cubic-bezier(.4, 0, .2, 1);
}

[dir="rtl"] .provider-sidebar { box-shadow: -10px 0 34px rgba(15, 23, 42, .04); }
html[data-provider-sidebar="expanded"] .provider-sidebar { width: var(--provider-sidebar-expanded) !important; }
html[data-provider-sidebar="hidden"] .provider-sidebar { transform: translateX(-110%); }
[dir="rtl"][data-provider-sidebar="hidden"] .provider-sidebar { transform: translateX(110%); }

.provider-sidebar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 58px;
  margin-bottom: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f4;
}

.provider-sidebar__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.provider-sidebar__identity img {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border: 3px solid #fff;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 0 0 1px #dce7ea;
}

.provider-sidebar__identity span {
  display: grid;
  min-width: 0;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .16s ease, transform .2s ease;
}

[dir="rtl"] .provider-sidebar__identity span { transform: translateX(-8px); }
html[data-provider-sidebar="expanded"] .provider-sidebar__identity span { opacity: 1; transform: none; }
.provider-sidebar__identity strong { overflow: hidden; color: #263f45; font-size: .86rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-sidebar__identity small { color: #84979c; font-size: .7rem; white-space: nowrap; }

.provider-sidebar__close {
  display: none;
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

html[data-provider-sidebar="expanded"] .provider-sidebar__close { display: inline-grid; }

.provider-sidebar__nav {
  display: grid;
  gap: 5px;
  min-height: 0;
  padding: 2px 0 12px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #ccdadd transparent;
}

.provider-nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 14px;
  color: #71858a;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.provider-nav-link i {
  display: inline-grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  color: #b6a382;
  font-size: 1.04rem;
}

.provider-nav-link span {
  overflow: hidden;
  opacity: 0;
  font-size: .88rem;
  font-weight: 750;
  text-overflow: ellipsis;
  transition: opacity .16s ease;
}

html[data-provider-sidebar="expanded"] .provider-nav-link span { opacity: 1; }
.provider-nav-link:hover { color: var(--brand); background: #f0f7f8; }
.provider-nav-link.active { color: #fff; background: linear-gradient(135deg, var(--brand), #4b929c); box-shadow: 0 9px 18px rgba(52, 119, 130, .19); }
.provider-nav-link.active i { color: #fff; }

html[data-provider-sidebar="collapsed"] .provider-nav-link::after {
  content: attr(title);
  position: fixed;
  z-index: 1060;
  inset-inline-start: 72px;
  padding: 7px 10px;
  border-radius: 9px;
  color: #fff;
  background: #203b41;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
  font-size: .74rem;
  opacity: 0;
  pointer-events: none;
  transform: translateX(5px);
  transition: opacity .15s ease, transform .15s ease;
}

[dir="rtl"][data-provider-sidebar="collapsed"] .provider-nav-link::after { transform: translateX(-5px); }
html[data-provider-sidebar="collapsed"] .provider-nav-link:hover::after { opacity: 1; transform: none; }

.provider-sidebar__footer { margin-top: auto; padding-top: 10px; border-top: 1px solid #edf2f4; }
.provider-nav-link--logout, .provider-nav-link--logout i { color: #c75b5b; }
.provider-nav-link--logout:hover { color: #a93f3f; background: #fff1f1; }

.provider-content {
  width: auto !important;
  min-width: 0;
  min-height: 100vh;
  margin: 0 !important;
  padding: calc(var(--provider-appbar-height) + var(--provider-shell-gap)) clamp(16px, 2.5vw, 36px) 20px !important;
  padding-inline-start: calc(var(--provider-sidebar-collapsed) + clamp(16px, 2.5vw, 36px)) !important;
  background: transparent !important;
  transition: padding-inline-start .26s cubic-bezier(.4, 0, .2, 1);
}

html[data-provider-sidebar="expanded"] .provider-content {
  padding-inline-start: calc(var(--provider-sidebar-expanded) + clamp(16px, 2.5vw, 36px)) !important;
}

html[data-provider-sidebar="hidden"] .provider-content {
  padding-inline-start: clamp(16px, 2.5vw, 36px) !important;
}

.provider-content .dashboard-page,
.provider-content .provider-page-frame {
  width: 100%;
  max-width: 1500px;
  margin-inline: auto;
}

.provider-content .provider-page-frame { padding: 0 !important; }
.provider-content .provider-page-body { min-width: 0; }

.provider-content .provider-page-header {
  min-height: 146px;
  margin-bottom: 22px;
  padding: 26px clamp(20px, 3vw, 34px);
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, #285f68 0%, #347782 48%, #4d919a 100%);
  box-shadow: 0 16px 34px rgba(52, 119, 130, .17);
}

.provider-content .provider-page-header::before {
  inset-block: 18px;
  inset-inline: auto 24px;
  width: clamp(90px, 9vw, 112px);
  height: auto;
  border: 0;
  border-radius: 0;
  opacity: .15;
  background: url('../images/redd-brand-gold.png') center / contain no-repeat;
}

.provider-content .provider-page-header::after {
  inset-block-end: -90px;
  inset-inline-start: 30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,197,168,.17), transparent 68%);
}

.provider-sidebar-launcher {
  position: fixed;
  z-index: 1034;
  inset-block-start: calc(var(--provider-appbar-height) + 16px);
  inset-inline-start: 14px;
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 10px 24px rgba(52, 119, 130, .24);
  font-family: inherit;
  font-weight: 750;
}

html[data-provider-sidebar="hidden"] .provider-sidebar-launcher { display: inline-flex; }
.provider-sidebar-backdrop { display: none; }

.provider-dashboard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: 1500px;
  margin: 30px auto 0;
  padding: 18px 4px 4px;
  border-top: 1px solid #e0e8eb;
  color: #829499;
  font-size: .75rem;
}

.provider-dashboard-footer a { color: var(--brand); text-decoration: none; }

@media (max-width: 991.98px) {
  :root { --provider-appbar-height: 68px; }

  .provider-appbar { padding: 8px 12px; }
  .provider-appbar__brand { height: 48px; }
  .provider-appbar__brand img { max-width: 128px; height: 42px; }
  .provider-language-menu { display: none; }
  .provider-account-button { width: 46px; height: 46px; padding: 3px !important; border-radius: 14px; }
  .provider-account-button > img { width: 38px; height: 38px; }
  .provider-account-button__copy,
  .provider-account-button > i { display: none; }

  .provider-sidebar {
    z-index: 1055;
    inset-block-start: 0;
    width: min(310px, 88vw) !important;
    padding: 16px 12px;
    transform: translateX(-110%);
    box-shadow: 18px 0 50px rgba(15, 23, 42, .2);
  }

  [dir="rtl"] .provider-sidebar { transform: translateX(110%); box-shadow: -18px 0 50px rgba(15, 23, 42, .2); }
  .provider-sidebar-mobile-open .provider-sidebar { transform: none !important; }
  .provider-sidebar__top { min-height: 62px; }
  .provider-sidebar__identity span,
  .provider-nav-link span { opacity: 1 !important; transform: none !important; }
  .provider-sidebar__close { display: inline-grid !important; }

  .provider-sidebar-backdrop {
    position: fixed;
    z-index: 1050;
    inset: 0;
    display: block;
    border: 0;
    background: rgba(15, 23, 42, .45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  .provider-sidebar-mobile-open .provider-sidebar-backdrop { opacity: 1; pointer-events: auto; }

  .provider-content,
  html[data-provider-sidebar="expanded"] .provider-content,
  html[data-provider-sidebar="hidden"] .provider-content {
    width: 100% !important;
    padding: calc(var(--provider-appbar-height) + 16px) 14px 18px !important;
  }

  html[data-provider-sidebar="hidden"] .provider-sidebar-launcher { display: none; }
}

@media (max-width: 575.98px) {
  .provider-appbar__actions { gap: 6px; }
  .provider-appbar__brand img { max-width: 104px; height: 38px; }
  .provider-icon-button { width: 42px; height: 42px; border-radius: 13px; }
  .provider-appbar__actions > .dropdown:first-child .provider-icon-button { display: inline-grid; }
  .provider-dashboard-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .provider-sidebar,
  .provider-content,
  .provider-nav-link,
  .provider-sidebar-backdrop { transition: none !important; }
}

/* ========================================================================== 
   Provider pages: shared information architecture
   ========================================================================== */
.provider-view { display: grid; gap: 22px; min-width: 0; }

.provider-section-card,
.provider-content .chart-card,
.provider-content .sp-card,
.provider-content .orders-panel {
  overflow: hidden;
  border: 1px solid #e0e8eb !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(27, 55, 61, .055) !important;
}

.provider-section-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 16px 20px;
  border-bottom: 1px solid #e9eff1;
  background: linear-gradient(180deg, #fff, #fbfdfd);
}

.provider-section-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #213e44;
  font-size: 1rem;
  font-weight: 850;
}

.provider-section-card__title i { color: var(--brand); }
.provider-section-card__subtitle { margin: 4px 0 0; color: #899a9f; font-size: .76rem; }
.provider-section-card__body { padding: 20px; }

.provider-eyebrow {
  display: inline-block;
  margin-bottom: 5px;
  color: #c5b18e;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
}

.provider-welcome-card,
.provider-profile-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  min-height: 180px;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(135deg, #285f68, #438b95);
  box-shadow: 0 18px 38px rgba(52, 119, 130, .18);
}

.provider-welcome-card::after,
.provider-profile-hero::after {
  content: '';
  position: absolute;
  inset-block: 20px;
  inset-inline-end: 28px;
  width: 124px;
  opacity: .1;
  background: url('../images/redd-brand-gold.png') center / contain no-repeat;
  pointer-events: none;
}

.provider-welcome-card > *, .provider-profile-hero > * { position: relative; z-index: 1; }
.provider-welcome-card h2 { margin: 0 0 6px; font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 900; }
.provider-welcome-card p { max-width: 600px; margin: 0; color: rgba(255,255,255,.82); }
.provider-welcome-card .btn { color: var(--brand); font-weight: 800; white-space: nowrap; }

.provider-profile-hero__identity { display: flex; align-items: center; gap: 18px; min-width: 0; }
.provider-profile-hero__identity img { flex: 0 0 86px; width: 86px; height: 86px; border: 5px solid rgba(255,255,255,.9); border-radius: 24px; object-fit: cover; box-shadow: 0 10px 22px rgba(15,23,42,.16); }
.provider-profile-hero__identity h2 { margin: 0 0 3px; font-size: clamp(1.35rem, 3vw, 1.9rem); font-weight: 900; }
.provider-profile-hero__identity p { margin: 0; color: rgba(255,255,255,.74); }
.provider-profile-hero__meta { display: grid; gap: 8px; min-width: 210px; }
.provider-profile-hero__meta div { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.09); font-size: .8rem; }

.provider-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.provider-metric-card { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 106px; padding: 18px; border: 1px solid #e1e9ec; border-radius: 18px; color: inherit; background: #fff; box-shadow: 0 7px 22px rgba(27,55,61,.045); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.provider-metric-card:hover { color: inherit; border-color: rgba(52,119,130,.35); box-shadow: 0 13px 28px rgba(27,55,61,.09); transform: translateY(-2px); }
.provider-metric-card__icon { display: grid; flex: 0 0 52px; place-items: center; width: 52px; height: 52px; border-radius: 15px; color: var(--brand); background: var(--brand-lighter); font-size: 1.15rem; }
.provider-metric-card > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.provider-metric-card small { color: #7b8e93; font-size: .72rem; }
.provider-metric-card strong { color: #213e44; font-size: 1.15rem; font-weight: 900; }
.provider-metric-card__arrow { margin-inline-start: auto; color: #bac6c9; font-size: .72rem; }

.provider-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.provider-action-card { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 88px; padding: 15px; border: 1px solid #e5ecee; border-radius: 16px; color: inherit; background: #fbfdfd; text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.provider-action-card > i { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: #a38e6b; background: #f5efe5; }
.provider-action-card > span { display: grid; min-width: 0; }
.provider-action-card strong { color: #29474d; font-size: .83rem; font-weight: 850; }
.provider-action-card small { overflow: hidden; color: #89999d; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.provider-action-card:hover { color: inherit; border-color: rgba(52,119,130,.28); background: #f3f9fa; transform: translateY(-2px); }
.provider-action-card:hover > i { color: #fff; background: var(--brand); }

.provider-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.provider-supporting-copy { margin: 0 0 18px; color: #6f8388; line-height: 1.9; }
.provider-inline-actions, .provider-form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.provider-ticket-list { display: grid; }
.provider-ticket-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 16px 20px; border-bottom: 1px solid #edf2f4; transition: background .18s ease; }
.provider-ticket-row:last-child { border-bottom: 0; }
.provider-ticket-row:hover { background: #fbfdfd; }
.provider-ticket-row__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: var(--brand); background: var(--brand-lighter); }
.provider-ticket-row__main { min-width: 0; }
.provider-ticket-row__main h3 { overflow: hidden; margin: 0 0 5px; color: #29464c; font-size: .9rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-ticket-row__meta { display: flex; gap: 16px; color: #89999d; font-size: .69rem; }
.provider-ticket-row__meta span { display: inline-flex; align-items: center; gap: 5px; }
.provider-status-pill { display: inline-flex; align-items: center; width: fit-content; padding: 5px 10px; border: 1px solid #d9e6e9; border-radius: 999px; color: var(--brand); background: #f0f8f9; font-size: .69rem; font-weight: 750; }
.provider-row-action { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 10px; color: var(--brand); background: var(--brand-lighter); font-size: .72rem; font-weight: 750; text-decoration: none; }

.provider-form-layout { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.7fr); gap: 20px; align-items: start; }
.provider-form-guide { position: sticky; top: calc(var(--provider-appbar-height) + 24px); padding: 24px; border: 1px solid #e1e9eb; border-radius: 20px; background: linear-gradient(145deg, #f1f8f9, #fff); }
.provider-form-guide__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 15px; color: #917c5b; background: #f3eadb; font-size: 1.2rem; }
.provider-form-guide h2 { margin: 0 0 8px; color: #29464c; font-size: 1rem; font-weight: 850; }
.provider-form-guide p { margin: 0; color: #6f8388; font-size: .78rem; line-height: 1.9; }
.provider-form-guide ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; color: #63787d; font-size: .74rem; }
.provider-form-guide li { display: flex; align-items: center; gap: 8px; }
.provider-form-guide li i { color: var(--brand); }
.provider-form-stack { display: grid; gap: 18px; }
.provider-input-wrap { position: relative; }
.provider-input-wrap > i { position: absolute; z-index: 2; inset-block-start: 50%; inset-inline-start: 15px; color: #adbdc1; transform: translateY(-50%); }
.provider-input-wrap .form-control { padding-inline-start: 42px !important; }
.provider-form-actions { justify-content: flex-end; padding-top: 4px; }

.provider-complaint-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 20px; align-items: start; }
.provider-complaint-grid > div { display: grid; gap: 20px; }
.provider-sticky-card { position: sticky; top: calc(var(--provider-appbar-height) + 24px); }
.provider-description-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border: 1px solid #e6edef; border-radius: 15px; overflow: hidden; }
.provider-description-list > div { min-width: 0; padding: 14px 16px; border-bottom: 1px solid #edf2f3; }
.provider-description-list > div:nth-child(odd) { border-inline-end: 1px solid #edf2f3; }
.provider-description-list__wide { grid-column: 1 / -1; border-inline-end: 0 !important; }
.provider-description-list dt { margin-bottom: 5px; color: #88999d; font-size: .68rem; font-weight: 700; }
.provider-description-list dd { margin: 0; color: #29464c; font-size: .82rem; font-weight: 750; overflow-wrap: anywhere; }
.provider-conversation { display: grid; gap: 12px; max-height: 520px; overflow-y: auto; }
.provider-reply { max-width: 88%; padding: 14px 16px; border: 1px solid #e1e9eb; border-radius: 16px; background: #f8fafb; }
.provider-reply--support { margin-inline-end: auto; border-color: rgba(52,119,130,.18); background: #eef7f8; }
.provider-reply--user { margin-inline-start: auto; border-color: rgba(212,197,168,.45); background: #fdfaf5; }
.provider-reply__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.provider-reply__head strong { display: flex; align-items: center; gap: 7px; color: #29464c; font-size: .76rem; }
.provider-reply__head time { color: #91a0a4; font-size: .64rem; }
.provider-reply p { margin: 0; color: #53696e; font-size: .78rem; line-height: 1.8; }

.provider-empty-state { display: grid; min-height: 300px; place-items: center; padding: 32px; text-align: center; }
.provider-empty-state > div { display: grid; justify-items: center; gap: 9px; max-width: 420px; }
.provider-empty-state__icon { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; color: var(--brand); background: var(--brand-lighter); font-size: 1.5rem; }
.provider-empty-state h3 { margin: 8px 0 0; color: #29464c; font-size: 1rem; font-weight: 850; }
.provider-empty-state p { margin: 0; color: #829499; font-size: .78rem; }
.provider-empty-state--compact { min-height: 190px; }

.provider-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 20px; }
.provider-property-card { overflow: hidden; min-width: 0; border: 1px solid #e2eaec; border-radius: 18px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.provider-property-card:hover { border-color: rgba(52,119,130,.28); box-shadow: 0 14px 30px rgba(27,55,61,.09); transform: translateY(-3px); }
.provider-property-card__media { position: relative; display: block; height: 190px; overflow: hidden; background: #edf3f4; }
.provider-property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.provider-property-card:hover .provider-property-card__media img { transform: scale(1.035); }
.provider-property-card__favorite { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #d55c64; background: rgba(255,255,255,.92); box-shadow: 0 5px 14px rgba(15,23,42,.13); }
.provider-property-card__body { display: grid; gap: 12px; padding: 16px; }
.provider-property-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.provider-property-card__top small { color: #9aa8ab; font-size: .68rem; }
.provider-property-card h3 { overflow: hidden; margin: 0; font-size: .9rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-property-card h3 a { color: #29464c; text-decoration: none; }
.provider-property-card__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; color: #84969a; font-size: .68rem; }
.provider-property-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
.provider-property-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid #edf2f3; }
.provider-property-card__footer strong { color: var(--brand); font-size: .88rem; font-weight: 900; }
.provider-property-card__footer a { display: inline-flex; align-items: center; gap: 6px; color: #6f8388; font-size: .7rem; font-weight: 750; text-decoration: none; }

.provider-wallet-layout { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.65fr); gap: 20px; align-items: stretch; }
.provider-wallet-balance { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; min-height: 330px; padding: 30px; border-radius: 22px; color: #fff; background: linear-gradient(145deg, #285f68, #438b95); box-shadow: 0 18px 36px rgba(52,119,130,.16); }
.provider-wallet-balance::after { content: ''; position: absolute; inset-block-end: -32px; inset-inline-end: -25px; width: 160px; height: 160px; border: 28px solid rgba(255,255,255,.055); border-radius: 50%; }
.provider-wallet-balance__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.11); font-size: 1.3rem; }
.provider-wallet-balance small { display: block; color: rgba(255,255,255,.73); font-size: .74rem; }
.provider-wallet-balance strong { display: block; margin-top: 3px; font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; }
.provider-wallet-balance strong span { font-size: .9rem; font-weight: 700; }
.provider-wallet-balance p { max-width: 260px; margin: 22px 0 0; color: rgba(255,255,255,.72); font-size: .73rem; line-height: 1.8; }
.provider-amount-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.provider-amount-option { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 6px; min-height: 92px; padding: 14px; border: 1px solid #dde7e9; border-radius: 16px; color: #29464c; background: #fbfdfd; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.provider-amount-option span { font-size: 1.5rem; font-weight: 900; }
.provider-amount-option small { color: #829499; font-size: .72rem; }
.provider-amount-option > i { position: absolute; inset-block-start: 10px; inset-inline-end: 10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: transparent; background: #eef3f4; font-size: .65rem; }
.provider-amount-option:hover { border-color: rgba(52,119,130,.35); transform: translateY(-2px); }
.provider-amount-option.active { border-color: var(--brand); background: #eef8f9; box-shadow: 0 0 0 3px rgba(52,119,130,.09); }
.provider-amount-option.active > i { color: #fff; background: var(--brand); }
.provider-checkout-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 16px; border: 1px solid #e4ebed; border-radius: 15px; background: #f8fafb; }
.provider-checkout-bar > div { display: grid; }
.provider-checkout-bar small { color: #89999d; font-size: .68rem; }
.provider-checkout-bar strong { color: #29464c; font-size: .88rem; font-weight: 850; }

/* Normalize legacy page shells without nesting another dashboard. */
.provider-content .stats-container,
.provider-content .orders-shell,
.provider-content .order-details-shell,
.provider-content .contact-page,
.provider-content .complaint-details {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.provider-content .stats-header { display: none !important; }
.provider-content .chart-grid,
.provider-content .kpi-grid { gap: 16px; }
.provider-content .chart-card,
.provider-content .sp-card { padding: 20px !important; }
.provider-content .table-responsive { border: 0 !important; border-radius: 0 !important; }
.provider-content .table thead th { border: 0; color: #557076; background: #f1f7f8; font-size: .72rem; }
.provider-content .table tbody td { color: #53696e; font-size: .75rem; }
.provider-content .table tbody tr:last-child td { border-bottom: 0; }
.provider-content .form-control,
.provider-content .form-select,
.provider-content .select2-container--default .select2-selection--single,
.provider-content .select2-container--default .select2-selection--multiple { min-height: 48px; border-color: #dce6e9; border-radius: 13px !important; background-color: #fff; }
.provider-content textarea.form-control { min-height: 130px; }
.provider-content .form-control:focus,
.provider-content .form-select:focus { border-color: rgba(52,119,130,.65); box-shadow: 0 0 0 4px rgba(52,119,130,.1); }
.provider-content .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 15px; border-radius: 12px; font-size: .77rem; font-weight: 800; }

.provider-route--favorites .provider-section-card__body,
.provider-route--ads .chart-card { padding: 0 !important; }
.provider-route--favorites .provider-section-card__header { border-bottom: 1px solid #e8eff1; }
.provider-route--favorites .my-real-content > .d-flex { padding: 16px 20px 20px; }
.provider-route--notifications .provider-notification-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.provider-route--notifications .provider-notification-list .note { border: 1px solid #e3ebed; border-radius: 14px; background: #fff; }
.provider-route--notifications .provider-notification-list .note-link { padding: 14px 16px; }
.provider-route--notifications .provider-notification-list .note:hover { border-color: rgba(52,119,130,.3); background: #f8fbfc; }
.provider-route--update-profile .sp-card > .edit-profile-content > form { display: grid; gap: 20px; }
.provider-route--update-profile .interest-card { min-height: 42px; border-color: #dce6e9 !important; background: #fbfdfd; cursor: pointer; }
.provider-route--messages .messages-grid { min-height: min(680px, calc(100vh - 210px)); }
.provider-route--payment-success .payment-success-card { max-width: 680px; margin-inline: auto; }

@media (max-width: 1199.98px) {
  .provider-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .provider-complaint-grid { grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr); }
  .provider-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
  .provider-metric-grid { grid-template-columns: 1fr; }
  .provider-form-layout,
  .provider-complaint-grid { grid-template-columns: 1fr; }
  .provider-form-guide,
  .provider-sticky-card { position: static; }
  .provider-wallet-layout { grid-template-columns: 1fr; }
  .provider-wallet-balance { min-height: 250px; }
}

@media (max-width: 767.98px) {
  .provider-view { gap: 14px; }
  .provider-content .provider-page-header { min-height: 122px; margin-bottom: 14px; padding: 20px 16px; border-radius: 19px; }
  .provider-content .provider-page-header::before { inset-block: 20px; inset-inline-end: 12px; width: 78px; opacity: .1; }
  .provider-content .provider-page-header__icon { flex-basis: 50px; width: 50px; height: 50px; }
  .provider-content .provider-page-header__title { font-size: 1.35rem; }
  .provider-content .provider-page-header__subtitle { font-size: .78rem; line-height: 1.6; }
  .provider-welcome-card,
  .provider-profile-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 22px 18px; border-radius: 19px; }
  .provider-welcome-card::after,
  .provider-profile-hero::after { inset-block: 22px; inset-inline-end: 14px; width: 88px; }
  .provider-profile-hero__identity { align-items: flex-start; }
  .provider-profile-hero__identity img { flex-basis: 68px; width: 68px; height: 68px; border-radius: 19px; }
  .provider-profile-hero__meta { width: 100%; min-width: 0; }
  .provider-action-grid,
  .provider-two-column,
  .provider-property-grid { grid-template-columns: 1fr; }
  .provider-property-grid { padding: 14px; }
  .provider-section-card,
  .provider-content .chart-card,
  .provider-content .sp-card,
  .provider-content .orders-panel { border-radius: 17px !important; }
  .provider-section-card__header { min-height: 64px; padding: 14px 16px; }
  .provider-section-card__body { padding: 16px; }
  .provider-ticket-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding: 14px; }
  .provider-ticket-row__meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .provider-ticket-row .provider-status-pill { display: none; }
  .provider-row-action span { display: none; }
  .provider-description-list { grid-template-columns: 1fr; }
  .provider-description-list > div:nth-child(odd) { border-inline-end: 0; }
  .provider-description-list__wide { grid-column: auto; }
  .provider-reply { max-width: 96%; }
  .provider-content .chart-card,
  .provider-content .sp-card { padding: 16px !important; }
  .provider-content .table-responsive { margin: 0; }
  .provider-route--favorites .table,
  .provider-route--ads .table { min-width: 780px; }
}

@media (max-width: 479.98px) {
  .provider-profile-hero__identity { width: 100%; }
  .provider-profile-hero__identity div { min-width: 0; }
  .provider-profile-hero__identity h2,
  .provider-profile-hero__identity p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .provider-metric-card { min-height: 92px; padding: 14px; }
  .provider-action-card { min-height: 82px; padding: 13px; }
  .provider-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .provider-form-actions .btn { width: 100%; }
  .provider-amount-grid { grid-template-columns: 1fr 1fr; }
  .provider-checkout-bar { align-items: stretch; flex-direction: column; }
  .provider-checkout-bar .btn { width: 100%; }
}

/* Provider authentication pages share the visual language without the app sidebar. */
body.guest-shell.guest-page--provider-login,
body.guest-shell.guest-page--provider-register,
body.guest-shell.guest-page--provider-otp {
  background: #f5f8fa;
}

.guest-page--provider-login .guest-provider-page-frame,
.guest-page--provider-register .guest-provider-page-frame,
.guest-page--provider-otp .guest-provider-page-frame {
  width: min(1180px, calc(100% - 28px));
  margin: 24px auto 0;
  padding: 0;
}

.guest-page--provider-login .logins-section,
.guest-page--provider-register .logins-section,
.guest-page--provider-otp .logins-section {
  min-height: auto !important;
  padding: 26px 0 58px;
}

.guest-page--provider-login .logins-content,
.guest-page--provider-register .logins-content,
.guest-page--provider-otp .logins-content {
  overflow: hidden;
  border: 1px solid #dfe8eb;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(27,55,61,.1);
}

.guest-page--provider-login .logins-content > .row,
.guest-page--provider-register .logins-content > .row,
.guest-page--provider-otp .logins-content > .row { margin: 0; }

.guest-page--provider-login .logins-content > .row > div,
.guest-page--provider-register .logins-content > .row > div,
.guest-page--provider-otp .logins-content > .row > div { padding: 0; }

.guest-page--provider-login .logins-content .info,
.guest-page--provider-register .logins-content .info,
.guest-page--provider-otp .logins-content .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: clamp(28px, 5vw, 58px) !important;
  color: #fff;
  background: linear-gradient(145deg, #285f68, #438b95);
}

.guest-page--provider-login .logins-content .info :is(h2,h3,p,span),
.guest-page--provider-register .logins-content .info :is(h2,h3,p,span),
.guest-page--provider-otp .logins-content .info :is(h2,h3,p,span) { color: inherit !important; }

.guest-page--provider-login .login_form,
.guest-page--provider-register .login_form,
.guest-page--provider-otp .login_form { padding: 0 !important; background: #fff; }

.guest-page--provider-login .login_form .overlay,
.guest-page--provider-register .login_form .overlay,
.guest-page--provider-otp .login_form .overlay { min-height: 100%; padding: clamp(28px, 5vw, 58px) !important; background: #fff !important; }

.guest-page--provider-login .login_form .title,
.guest-page--provider-register .login_form .title,
.guest-page--provider-otp .login_form .title { padding-top: 0 !important; color: #29464c; font-size: 1.45rem; font-weight: 900 !important; }

.guest-page--provider-login .login_form form,
.guest-page--provider-register .login_form form,
.guest-page--provider-otp .login_form form { padding-top: 24px !important; }

.guest-page--provider-login .phone-input-container,
.guest-page--provider-register .phone-input-container,
.guest-page--provider-otp .phone-input-container { min-height: 52px; border: 1px solid #dce6e9 !important; border-radius: 14px !important; box-shadow: none !important; }

.guest-page--provider-login .main-button,
.guest-page--provider-register .main-button,
.guest-page--provider-otp .main-button { width: 100%; min-height: 50px; margin-top: 24px !important; border: 0; border-radius: 14px !important; color: #fff; background: var(--brand); font-weight: 850; }

@media (max-width: 767.98px) {
  .guest-page--provider-login .logins-content .info,
  .guest-page--provider-register .logins-content .info,
  .guest-page--provider-otp .logins-content .info { display: none; }
  .guest-page--provider-login .logins-content,
  .guest-page--provider-register .logins-content,
  .guest-page--provider-otp .logins-content { border-radius: 18px; }
}

/* REDD_PROVIDER_SHELL_V6_END */


/* REDD_PROVIDER_HEADER_ICON_FIX_START */
/* Header watermark: show the R mark only, clearly, without clipping. */
.provider-content .provider-page-header::before {
  inset-block: 14px;
  inset-inline: auto 24px;
  width: 94px;
  height: auto;
  border: 0;
  border-radius: 0;
  opacity: .42;
  background-image: url('../images/redd-brand-gold.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 108px;
  filter: saturate(1.12) brightness(1.12) contrast(1.08);
}

@media (max-width: 767.98px) {
  .provider-content .provider-page-header::before {
    inset-block: 14px;
    inset-inline-end: 12px;
    width: 74px;
    opacity: .38;
    background-position: left center;
    background-size: auto 84px;
  }
}
/* REDD_PROVIDER_HEADER_ICON_FIX_END */

/* REDD_APPLICANT_SHELL_V7_START */

/* ========================================================================== 
   Provider application shell v6
   ========================================================================== */
:root {
  --provider-sidebar-expanded: 280px;
  --provider-sidebar-collapsed: 82px;
  --provider-appbar-height: 76px;
  --provider-shell-gap: 24px;
}

html[data-provider-sidebar] body.provider-shell {
  background: #f5f8fa;
}

body.provider-shell {
  min-height: 100vh;
  overflow-x: clip;
}

body.provider-shell.provider-no-scroll { overflow: hidden; }

.provider-app {
  min-height: 100vh;
  background:
    radial-gradient(circle at 90% 0, rgba(52, 119, 130, .055), transparent 28rem),
    #f5f8fa;
}

.provider-appbar {
  position: fixed;
  z-index: 1040;
  inset-block-start: 0;
  inset-inline: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--provider-appbar-height);
  padding: 10px clamp(14px, 2vw, 28px);
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 28px rgba(15, 23, 42, .055);
  backdrop-filter: blur(18px);
}

.provider-appbar__start,
.provider-appbar__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.provider-appbar__brand {
  display: inline-flex;
  align-items: center;
  height: 54px;
  padding-inline: 6px;
}

.provider-appbar__brand img {
  display: block;
  width: auto;
  max-width: 172px;
  height: 48px;
  object-fit: contain;
}

.provider-icon-button,
.provider-sidebar__close {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #dce6ea;
  border-radius: 14px;
  color: var(--brand);
  background: #fff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, .04);
  transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease;
}

.provider-icon-button:hover,
.provider-icon-button:focus-visible,
.provider-sidebar__close:hover,
.provider-sidebar__close:focus-visible {
  color: #fff;
  border-color: var(--brand);
  background: var(--brand);
  transform: translateY(-1px);
}

.provider-notification-dot {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  width: 8px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e25757;
}

.provider-account-button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 52px;
  padding: 5px 7px 5px 12px;
  border: 1px solid #dce6ea;
  border-radius: 16px;
  color: #28454b;
  background: #fff;
}

[dir="rtl"] .provider-account-button { padding: 5px 7px 5px 12px; }
[dir="ltr"] .provider-account-button { padding: 5px 12px 5px 7px; }

.provider-account-button > img {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 2px solid #edf3f5;
  border-radius: 12px;
  object-fit: cover;
}

.provider-account-button__copy {
  display: grid;
  min-width: 110px;
  text-align: start;
  line-height: 1.25;
}

.provider-account-button__copy strong {
  overflow: hidden;
  color: #203b41;
  font-size: .82rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.provider-account-button__copy small { color: #7a9197; font-size: .69rem; }
.provider-account-button > i { color: #90a3a8; font-size: .7rem; }

.provider-appbar .dropdown-menu {
  margin-top: 10px !important;
  padding: 8px;
  border: 1px solid #e0e8eb;
  border-radius: 16px;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
}

.provider-appbar .dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #425c62;
  font-weight: 650;
}

.provider-appbar .dropdown-item:hover { color: var(--brand); background: var(--brand-lighter); }

.provider-notification-menu { width: min(360px, calc(100vw - 28px)); max-height: 440px; overflow-y: auto; }
.provider-dropdown-title { padding: 8px 10px 12px; color: #203b41; font-weight: 850; }
.provider-notification-item { display: grid; gap: 3px; padding: 11px 10px; border-top: 1px solid #eef2f4; color: #40585e; text-decoration: none; }
.provider-notification-item:hover { color: var(--brand); background: #f8fbfc; }
.provider-notification-item small { color: #91a1a5; font-size: .7rem; }
.provider-dropdown-empty { padding: 22px 12px; color: #8b9ca0; text-align: center; }
.provider-dropdown-all { display: block; margin-top: 6px; padding: 9px; border-radius: 10px; color: var(--brand); background: var(--brand-lighter); text-align: center; text-decoration: none; font-weight: 750; }

.provider-sidebar {
  position: fixed;
  z-index: 1035;
  inset-block: var(--provider-appbar-height) 0;
  inset-inline-start: 0;
  display: flex !important;
  flex-direction: column;
  width: var(--provider-sidebar-collapsed) !important;
  min-height: 0 !important;
  padding: 14px 10px 12px;
  border: 0;
  border-inline-end: 1px solid #dfe8eb;
  background: #fff;
  box-shadow: 10px 0 34px rgba(15, 23, 42, .04);
  overflow: hidden;
  transition: width .26s cubic-bezier(.4, 0, .2, 1), transform .26s cubic-bezier(.4, 0, .2, 1);
}

[dir="rtl"] .provider-sidebar { box-shadow: -10px 0 34px rgba(15, 23, 42, .04); }
html[data-provider-sidebar="expanded"] .provider-sidebar { width: var(--provider-sidebar-expanded) !important; }
html[data-provider-sidebar="hidden"] .provider-sidebar { transform: translateX(-110%); }
[dir="rtl"][data-provider-sidebar="hidden"] .provider-sidebar { transform: translateX(110%); }

.provider-sidebar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 58px;
  margin-bottom: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edf2f4;
}

.provider-sidebar__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.provider-sidebar__identity img {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border: 3px solid #fff;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 0 0 1px #dce7ea;
}

.provider-sidebar__identity span {
  display: grid;
  min-width: 0;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .16s ease, transform .2s ease;
}

[dir="rtl"] .provider-sidebar__identity span { transform: translateX(-8px); }
html[data-provider-sidebar="expanded"] .provider-sidebar__identity span { opacity: 1; transform: none; }
.provider-sidebar__identity strong { overflow: hidden; color: #263f45; font-size: .86rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-sidebar__identity small { color: #84979c; font-size: .7rem; white-space: nowrap; }

.provider-sidebar__close {
  display: none;
  width: 34px;
  height: 34px;
  border-radius: 10px;
}

html[data-provider-sidebar="expanded"] .provider-sidebar__close { display: inline-grid; }

.provider-sidebar__nav {
  display: grid;
  gap: 5px;
  min-height: 0;
  padding: 2px 0 12px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #ccdadd transparent;
}

.provider-nav-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 10px;
  border-radius: 14px;
  color: #71858a;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.provider-nav-link i {
  display: inline-grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  color: #b6a382;
  font-size: 1.04rem;
}

.provider-nav-link span {
  overflow: hidden;
  opacity: 0;
  font-size: .88rem;
  font-weight: 750;
  text-overflow: ellipsis;
  transition: opacity .16s ease;
}

html[data-provider-sidebar="expanded"] .provider-nav-link span { opacity: 1; }
.provider-nav-link:hover { color: var(--brand); background: #f0f7f8; }
.provider-nav-link.active { color: #fff; background: linear-gradient(135deg, var(--brand), #4b929c); box-shadow: 0 9px 18px rgba(52, 119, 130, .19); }
.provider-nav-link.active i { color: #fff; }

html[data-provider-sidebar="collapsed"] .provider-nav-link::after {
  content: attr(title);
  position: fixed;
  z-index: 1060;
  inset-inline-start: 72px;
  padding: 7px 10px;
  border-radius: 9px;
  color: #fff;
  background: #203b41;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
  font-size: .74rem;
  opacity: 0;
  pointer-events: none;
  transform: translateX(5px);
  transition: opacity .15s ease, transform .15s ease;
}

[dir="rtl"][data-provider-sidebar="collapsed"] .provider-nav-link::after { transform: translateX(-5px); }
html[data-provider-sidebar="collapsed"] .provider-nav-link:hover::after { opacity: 1; transform: none; }

.provider-sidebar__footer { margin-top: auto; padding-top: 10px; border-top: 1px solid #edf2f4; }
.provider-nav-link--logout, .provider-nav-link--logout i { color: #c75b5b; }
.provider-nav-link--logout:hover { color: #a93f3f; background: #fff1f1; }

.provider-content {
  width: auto !important;
  min-width: 0;
  min-height: 100vh;
  margin: 0 !important;
  padding: calc(var(--provider-appbar-height) + var(--provider-shell-gap)) clamp(16px, 2.5vw, 36px) 20px !important;
  padding-inline-start: calc(var(--provider-sidebar-collapsed) + clamp(16px, 2.5vw, 36px)) !important;
  background: transparent !important;
  transition: padding-inline-start .26s cubic-bezier(.4, 0, .2, 1);
}

html[data-provider-sidebar="expanded"] .provider-content {
  padding-inline-start: calc(var(--provider-sidebar-expanded) + clamp(16px, 2.5vw, 36px)) !important;
}

html[data-provider-sidebar="hidden"] .provider-content {
  padding-inline-start: clamp(16px, 2.5vw, 36px) !important;
}

.provider-content .dashboard-page,
.provider-content .provider-page-frame {
  width: 100%;
  max-width: 1500px;
  margin-inline: auto;
}

.provider-content .provider-page-frame { padding: 0 !important; }
.provider-content .provider-page-body { min-width: 0; }

.provider-content .provider-page-header {
  min-height: 146px;
  margin-bottom: 22px;
  padding: 26px clamp(20px, 3vw, 34px);
  border: 0;
  border-radius: 22px;
  background: linear-gradient(135deg, #285f68 0%, #347782 48%, #4d919a 100%);
  box-shadow: 0 16px 34px rgba(52, 119, 130, .17);
}

.provider-content .provider-page-header::before {
  inset-block: 18px;
  inset-inline: auto 24px;
  width: clamp(90px, 9vw, 112px);
  height: auto;
  border: 0;
  border-radius: 0;
  opacity: .15;
  background: url('../images/redd-brand-gold.png') center / contain no-repeat;
}

.provider-content .provider-page-header::after {
  inset-block-end: -90px;
  inset-inline-start: 30%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,197,168,.17), transparent 68%);
}

.provider-sidebar-launcher {
  position: fixed;
  z-index: 1034;
  inset-block-start: calc(var(--provider-appbar-height) + 16px);
  inset-inline-start: 14px;
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: var(--brand);
  box-shadow: 0 10px 24px rgba(52, 119, 130, .24);
  font-family: inherit;
  font-weight: 750;
}

html[data-provider-sidebar="hidden"] .provider-sidebar-launcher { display: inline-flex; }
.provider-sidebar-backdrop { display: none; }

.provider-dashboard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: 1500px;
  margin: 30px auto 0;
  padding: 18px 4px 4px;
  border-top: 1px solid #e0e8eb;
  color: #829499;
  font-size: .75rem;
}

.provider-dashboard-footer a { color: var(--brand); text-decoration: none; }

@media (max-width: 991.98px) {
  :root { --provider-appbar-height: 68px; }

  .provider-appbar { padding: 8px 12px; }
  .provider-appbar__brand { height: 48px; }
  .provider-appbar__brand img { max-width: 128px; height: 42px; }
  .provider-language-menu { display: none; }
  .provider-account-button { width: 46px; height: 46px; padding: 3px !important; border-radius: 14px; }
  .provider-account-button > img { width: 38px; height: 38px; }
  .provider-account-button__copy,
  .provider-account-button > i { display: none; }

  .provider-sidebar {
    z-index: 1055;
    inset-block-start: 0;
    width: min(310px, 88vw) !important;
    padding: 16px 12px;
    transform: translateX(-110%);
    box-shadow: 18px 0 50px rgba(15, 23, 42, .2);
  }

  [dir="rtl"] .provider-sidebar { transform: translateX(110%); box-shadow: -18px 0 50px rgba(15, 23, 42, .2); }
  .provider-sidebar-mobile-open .provider-sidebar { transform: none !important; }
  .provider-sidebar__top { min-height: 62px; }
  .provider-sidebar__identity span,
  .provider-nav-link span { opacity: 1 !important; transform: none !important; }
  .provider-sidebar__close { display: inline-grid !important; }

  .provider-sidebar-backdrop {
    position: fixed;
    z-index: 1050;
    inset: 0;
    display: block;
    border: 0;
    background: rgba(15, 23, 42, .45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
  }

  .provider-sidebar-mobile-open .provider-sidebar-backdrop { opacity: 1; pointer-events: auto; }

  .provider-content,
  html[data-provider-sidebar="expanded"] .provider-content,
  html[data-provider-sidebar="hidden"] .provider-content {
    width: 100% !important;
    padding: calc(var(--provider-appbar-height) + 16px) 14px 18px !important;
  }

  html[data-provider-sidebar="hidden"] .provider-sidebar-launcher { display: none; }
}

@media (max-width: 575.98px) {
  .provider-appbar__actions { gap: 6px; }
  .provider-appbar__brand img { max-width: 104px; height: 38px; }
  .provider-icon-button { width: 42px; height: 42px; border-radius: 13px; }
  .provider-appbar__actions > .dropdown:first-child .provider-icon-button { display: inline-grid; }
  .provider-dashboard-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .provider-sidebar,
  .provider-content,
  .provider-nav-link,
  .provider-sidebar-backdrop { transition: none !important; }
}

/* ========================================================================== 
   Provider pages: shared information architecture
   ========================================================================== */
.provider-view { display: grid; gap: 22px; min-width: 0; }

.provider-section-card,
.provider-content .chart-card,
.provider-content .sp-card,
.provider-content .orders-panel {
  overflow: hidden;
  border: 1px solid #e0e8eb !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(27, 55, 61, .055) !important;
}

.provider-section-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 16px 20px;
  border-bottom: 1px solid #e9eff1;
  background: linear-gradient(180deg, #fff, #fbfdfd);
}

.provider-section-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #213e44;
  font-size: 1rem;
  font-weight: 850;
}

.provider-section-card__title i { color: var(--brand); }
.provider-section-card__subtitle { margin: 4px 0 0; color: #899a9f; font-size: .76rem; }
.provider-section-card__body { padding: 20px; }

.provider-eyebrow {
  display: inline-block;
  margin-bottom: 5px;
  color: #c5b18e;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .04em;
}

.provider-welcome-card,
.provider-profile-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  min-height: 180px;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(135deg, #285f68, #438b95);
  box-shadow: 0 18px 38px rgba(52, 119, 130, .18);
}

.provider-welcome-card::after,
.provider-profile-hero::after {
  content: '';
  position: absolute;
  inset-block: 20px;
  inset-inline-end: 28px;
  width: 124px;
  opacity: .1;
  background: url('../images/redd-brand-gold.png') center / contain no-repeat;
  pointer-events: none;
}

.provider-welcome-card > *, .provider-profile-hero > * { position: relative; z-index: 1; }
.provider-welcome-card h2 { margin: 0 0 6px; font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 900; }
.provider-welcome-card p { max-width: 600px; margin: 0; color: rgba(255,255,255,.82); }
.provider-welcome-card .btn { color: var(--brand); font-weight: 800; white-space: nowrap; }

.provider-profile-hero__identity { display: flex; align-items: center; gap: 18px; min-width: 0; }
.provider-profile-hero__identity img { flex: 0 0 86px; width: 86px; height: 86px; border: 5px solid rgba(255,255,255,.9); border-radius: 24px; object-fit: cover; box-shadow: 0 10px 22px rgba(15,23,42,.16); }
.provider-profile-hero__identity h2 { margin: 0 0 3px; font-size: clamp(1.35rem, 3vw, 1.9rem); font-weight: 900; }
.provider-profile-hero__identity p { margin: 0; color: rgba(255,255,255,.74); }
.provider-profile-hero__meta { display: grid; gap: 8px; min-width: 210px; }
.provider-profile-hero__meta div { display: flex; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.09); font-size: .8rem; }

.provider-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.provider-metric-card { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 106px; padding: 18px; border: 1px solid #e1e9ec; border-radius: 18px; color: inherit; background: #fff; box-shadow: 0 7px 22px rgba(27,55,61,.045); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.provider-metric-card:hover { color: inherit; border-color: rgba(52,119,130,.35); box-shadow: 0 13px 28px rgba(27,55,61,.09); transform: translateY(-2px); }
.provider-metric-card__icon { display: grid; flex: 0 0 52px; place-items: center; width: 52px; height: 52px; border-radius: 15px; color: var(--brand); background: var(--brand-lighter); font-size: 1.15rem; }
.provider-metric-card > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.provider-metric-card small { color: #7b8e93; font-size: .72rem; }
.provider-metric-card strong { color: #213e44; font-size: 1.15rem; font-weight: 900; }
.provider-metric-card__arrow { margin-inline-start: auto; color: #bac6c9; font-size: .72rem; }

.provider-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.provider-action-card { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 88px; padding: 15px; border: 1px solid #e5ecee; border-radius: 16px; color: inherit; background: #fbfdfd; text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.provider-action-card > i { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: #a38e6b; background: #f5efe5; }
.provider-action-card > span { display: grid; min-width: 0; }
.provider-action-card strong { color: #29474d; font-size: .83rem; font-weight: 850; }
.provider-action-card small { overflow: hidden; color: #89999d; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.provider-action-card:hover { color: inherit; border-color: rgba(52,119,130,.28); background: #f3f9fa; transform: translateY(-2px); }
.provider-action-card:hover > i { color: #fff; background: var(--brand); }

.provider-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.provider-supporting-copy { margin: 0 0 18px; color: #6f8388; line-height: 1.9; }
.provider-inline-actions, .provider-form-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.provider-ticket-list { display: grid; }
.provider-ticket-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 16px 20px; border-bottom: 1px solid #edf2f4; transition: background .18s ease; }
.provider-ticket-row:last-child { border-bottom: 0; }
.provider-ticket-row:hover { background: #fbfdfd; }
.provider-ticket-row__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: var(--brand); background: var(--brand-lighter); }
.provider-ticket-row__main { min-width: 0; }
.provider-ticket-row__main h3 { overflow: hidden; margin: 0 0 5px; color: #29464c; font-size: .9rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-ticket-row__meta { display: flex; gap: 16px; color: #89999d; font-size: .69rem; }
.provider-ticket-row__meta span { display: inline-flex; align-items: center; gap: 5px; }
.provider-status-pill { display: inline-flex; align-items: center; width: fit-content; padding: 5px 10px; border: 1px solid #d9e6e9; border-radius: 999px; color: var(--brand); background: #f0f8f9; font-size: .69rem; font-weight: 750; }
.provider-row-action { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border-radius: 10px; color: var(--brand); background: var(--brand-lighter); font-size: .72rem; font-weight: 750; text-decoration: none; }

.provider-form-layout { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.7fr); gap: 20px; align-items: start; }
.provider-form-guide { position: sticky; top: calc(var(--provider-appbar-height) + 24px); padding: 24px; border: 1px solid #e1e9eb; border-radius: 20px; background: linear-gradient(145deg, #f1f8f9, #fff); }
.provider-form-guide__icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 16px; border-radius: 15px; color: #917c5b; background: #f3eadb; font-size: 1.2rem; }
.provider-form-guide h2 { margin: 0 0 8px; color: #29464c; font-size: 1rem; font-weight: 850; }
.provider-form-guide p { margin: 0; color: #6f8388; font-size: .78rem; line-height: 1.9; }
.provider-form-guide ul { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; color: #63787d; font-size: .74rem; }
.provider-form-guide li { display: flex; align-items: center; gap: 8px; }
.provider-form-guide li i { color: var(--brand); }
.provider-form-stack { display: grid; gap: 18px; }
.provider-input-wrap { position: relative; }
.provider-input-wrap > i { position: absolute; z-index: 2; inset-block-start: 50%; inset-inline-start: 15px; color: #adbdc1; transform: translateY(-50%); }
.provider-input-wrap .form-control { padding-inline-start: 42px !important; }
.provider-form-actions { justify-content: flex-end; padding-top: 4px; }

.provider-complaint-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 20px; align-items: start; }
.provider-complaint-grid > div { display: grid; gap: 20px; }
.provider-sticky-card { position: sticky; top: calc(var(--provider-appbar-height) + 24px); }
.provider-description-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border: 1px solid #e6edef; border-radius: 15px; overflow: hidden; }
.provider-description-list > div { min-width: 0; padding: 14px 16px; border-bottom: 1px solid #edf2f3; }
.provider-description-list > div:nth-child(odd) { border-inline-end: 1px solid #edf2f3; }
.provider-description-list__wide { grid-column: 1 / -1; border-inline-end: 0 !important; }
.provider-description-list dt { margin-bottom: 5px; color: #88999d; font-size: .68rem; font-weight: 700; }
.provider-description-list dd { margin: 0; color: #29464c; font-size: .82rem; font-weight: 750; overflow-wrap: anywhere; }
.provider-conversation { display: grid; gap: 12px; max-height: 520px; overflow-y: auto; }
.provider-reply { max-width: 88%; padding: 14px 16px; border: 1px solid #e1e9eb; border-radius: 16px; background: #f8fafb; }
.provider-reply--support { margin-inline-end: auto; border-color: rgba(52,119,130,.18); background: #eef7f8; }
.provider-reply--user { margin-inline-start: auto; border-color: rgba(212,197,168,.45); background: #fdfaf5; }
.provider-reply__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.provider-reply__head strong { display: flex; align-items: center; gap: 7px; color: #29464c; font-size: .76rem; }
.provider-reply__head time { color: #91a0a4; font-size: .64rem; }
.provider-reply p { margin: 0; color: #53696e; font-size: .78rem; line-height: 1.8; }

.provider-empty-state { display: grid; min-height: 300px; place-items: center; padding: 32px; text-align: center; }
.provider-empty-state > div { display: grid; justify-items: center; gap: 9px; max-width: 420px; }
.provider-empty-state__icon { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; color: var(--brand); background: var(--brand-lighter); font-size: 1.5rem; }
.provider-empty-state h3 { margin: 8px 0 0; color: #29464c; font-size: 1rem; font-weight: 850; }
.provider-empty-state p { margin: 0; color: #829499; font-size: .78rem; }
.provider-empty-state--compact { min-height: 190px; }

.provider-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 20px; }
.provider-property-card { overflow: hidden; min-width: 0; border: 1px solid #e2eaec; border-radius: 18px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.provider-property-card:hover { border-color: rgba(52,119,130,.28); box-shadow: 0 14px 30px rgba(27,55,61,.09); transform: translateY(-3px); }
.provider-property-card__media { position: relative; display: block; height: 190px; overflow: hidden; background: #edf3f4; }
.provider-property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.provider-property-card:hover .provider-property-card__media img { transform: scale(1.035); }
.provider-property-card__favorite { position: absolute; inset-block-start: 12px; inset-inline-end: 12px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #d55c64; background: rgba(255,255,255,.92); box-shadow: 0 5px 14px rgba(15,23,42,.13); }
.provider-property-card__body { display: grid; gap: 12px; padding: 16px; }
.provider-property-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.provider-property-card__top small { color: #9aa8ab; font-size: .68rem; }
.provider-property-card h3 { overflow: hidden; margin: 0; font-size: .9rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.provider-property-card h3 a { color: #29464c; text-decoration: none; }
.provider-property-card__meta { display: flex; flex-wrap: wrap; gap: 8px 14px; color: #84969a; font-size: .68rem; }
.provider-property-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
.provider-property-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid #edf2f3; }
.provider-property-card__footer strong { color: var(--brand); font-size: .88rem; font-weight: 900; }
.provider-property-card__footer a { display: inline-flex; align-items: center; gap: 6px; color: #6f8388; font-size: .7rem; font-weight: 750; text-decoration: none; }

.provider-wallet-layout { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.65fr); gap: 20px; align-items: stretch; }
.provider-wallet-balance { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; min-height: 330px; padding: 30px; border-radius: 22px; color: #fff; background: linear-gradient(145deg, #285f68, #438b95); box-shadow: 0 18px 36px rgba(52,119,130,.16); }
.provider-wallet-balance::after { content: ''; position: absolute; inset-block-end: -32px; inset-inline-end: -25px; width: 160px; height: 160px; border: 28px solid rgba(255,255,255,.055); border-radius: 50%; }
.provider-wallet-balance__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 30px; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.11); font-size: 1.3rem; }
.provider-wallet-balance small { display: block; color: rgba(255,255,255,.73); font-size: .74rem; }
.provider-wallet-balance strong { display: block; margin-top: 3px; font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; }
.provider-wallet-balance strong span { font-size: .9rem; font-weight: 700; }
.provider-wallet-balance p { max-width: 260px; margin: 22px 0 0; color: rgba(255,255,255,.72); font-size: .73rem; line-height: 1.8; }
.provider-amount-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.provider-amount-option { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 6px; min-height: 92px; padding: 14px; border: 1px solid #dde7e9; border-radius: 16px; color: #29464c; background: #fbfdfd; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.provider-amount-option span { font-size: 1.5rem; font-weight: 900; }
.provider-amount-option small { color: #829499; font-size: .72rem; }
.provider-amount-option > i { position: absolute; inset-block-start: 10px; inset-inline-end: 10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; color: transparent; background: #eef3f4; font-size: .65rem; }
.provider-amount-option:hover { border-color: rgba(52,119,130,.35); transform: translateY(-2px); }
.provider-amount-option.active { border-color: var(--brand); background: #eef8f9; box-shadow: 0 0 0 3px rgba(52,119,130,.09); }
.provider-amount-option.active > i { color: #fff; background: var(--brand); }
.provider-checkout-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 16px; border: 1px solid #e4ebed; border-radius: 15px; background: #f8fafb; }
.provider-checkout-bar > div { display: grid; }
.provider-checkout-bar small { color: #89999d; font-size: .68rem; }
.provider-checkout-bar strong { color: #29464c; font-size: .88rem; font-weight: 850; }

/* Normalize legacy page shells without nesting another dashboard. */
.provider-content .stats-container,
.provider-content .orders-shell,
.provider-content .order-details-shell,
.provider-content .contact-page,
.provider-content .complaint-details {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.provider-content .stats-header { display: none !important; }
.provider-content .chart-grid,
.provider-content .kpi-grid { gap: 16px; }
.provider-content .chart-card,
.provider-content .sp-card { padding: 20px !important; }
.provider-content .table-responsive { border: 0 !important; border-radius: 0 !important; }
.provider-content .table thead th { border: 0; color: #557076; background: #f1f7f8; font-size: .72rem; }
.provider-content .table tbody td { color: #53696e; font-size: .75rem; }
.provider-content .table tbody tr:last-child td { border-bottom: 0; }
.provider-content .form-control,
.provider-content .form-select,
.provider-content .select2-container--default .select2-selection--single,
.provider-content .select2-container--default .select2-selection--multiple { min-height: 48px; border-color: #dce6e9; border-radius: 13px !important; background-color: #fff; }
.provider-content textarea.form-control { min-height: 130px; }
.provider-content .form-control:focus,
.provider-content .form-select:focus { border-color: rgba(52,119,130,.65); box-shadow: 0 0 0 4px rgba(52,119,130,.1); }
.provider-content .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 15px; border-radius: 12px; font-size: .77rem; font-weight: 800; }

.provider-route--favorites .provider-section-card__body,
.provider-route--ads .chart-card { padding: 0 !important; }
.provider-route--favorites .provider-section-card__header { border-bottom: 1px solid #e8eff1; }
.provider-route--favorites .my-real-content > .d-flex { padding: 16px 20px 20px; }
.provider-route--notifications .provider-notification-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.provider-route--notifications .provider-notification-list .note { border: 1px solid #e3ebed; border-radius: 14px; background: #fff; }
.provider-route--notifications .provider-notification-list .note-link { padding: 14px 16px; }
.provider-route--notifications .provider-notification-list .note:hover { border-color: rgba(52,119,130,.3); background: #f8fbfc; }
.provider-route--update-profile .sp-card > .edit-profile-content > form { display: grid; gap: 20px; }
.provider-route--update-profile .interest-card { min-height: 42px; border-color: #dce6e9 !important; background: #fbfdfd; cursor: pointer; }
.provider-route--messages .messages-grid { min-height: min(680px, calc(100vh - 210px)); }
.provider-route--payment-success .payment-success-card { max-width: 680px; margin-inline: auto; }

@media (max-width: 1199.98px) {
  .provider-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .provider-complaint-grid { grid-template-columns: minmax(0, 1.35fr) minmax(260px, .75fr); }
  .provider-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
  .provider-metric-grid { grid-template-columns: 1fr; }
  .provider-form-layout,
  .provider-complaint-grid { grid-template-columns: 1fr; }
  .provider-form-guide,
  .provider-sticky-card { position: static; }
  .provider-wallet-layout { grid-template-columns: 1fr; }
  .provider-wallet-balance { min-height: 250px; }
}

@media (max-width: 767.98px) {
  .provider-view { gap: 14px; }
  .provider-content .provider-page-header { min-height: 122px; margin-bottom: 14px; padding: 20px 16px; border-radius: 19px; }
  .provider-content .provider-page-header::before { inset-block: 20px; inset-inline-end: 12px; width: 78px; opacity: .1; }
  .provider-content .provider-page-header__icon { flex-basis: 50px; width: 50px; height: 50px; }
  .provider-content .provider-page-header__title { font-size: 1.35rem; }
  .provider-content .provider-page-header__subtitle { font-size: .78rem; line-height: 1.6; }
  .provider-welcome-card,
  .provider-profile-hero { align-items: flex-start; flex-direction: column; min-height: 0; padding: 22px 18px; border-radius: 19px; }
  .provider-welcome-card::after,
  .provider-profile-hero::after { inset-block: 22px; inset-inline-end: 14px; width: 88px; }
  .provider-profile-hero__identity { align-items: flex-start; }
  .provider-profile-hero__identity img { flex-basis: 68px; width: 68px; height: 68px; border-radius: 19px; }
  .provider-profile-hero__meta { width: 100%; min-width: 0; }
  .provider-action-grid,
  .provider-two-column,
  .provider-property-grid { grid-template-columns: 1fr; }
  .provider-property-grid { padding: 14px; }
  .provider-section-card,
  .provider-content .chart-card,
  .provider-content .sp-card,
  .provider-content .orders-panel { border-radius: 17px !important; }
  .provider-section-card__header { min-height: 64px; padding: 14px 16px; }
  .provider-section-card__body { padding: 16px; }
  .provider-ticket-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; padding: 14px; }
  .provider-ticket-row__meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .provider-ticket-row .provider-status-pill { display: none; }
  .provider-row-action span { display: none; }
  .provider-description-list { grid-template-columns: 1fr; }
  .provider-description-list > div:nth-child(odd) { border-inline-end: 0; }
  .provider-description-list__wide { grid-column: auto; }
  .provider-reply { max-width: 96%; }
  .provider-content .chart-card,
  .provider-content .sp-card { padding: 16px !important; }
  .provider-content .table-responsive { margin: 0; }
  .provider-route--favorites .table,
  .provider-route--ads .table { min-width: 780px; }
}

@media (max-width: 479.98px) {
  .provider-profile-hero__identity { width: 100%; }
  .provider-profile-hero__identity div { min-width: 0; }
  .provider-profile-hero__identity h2,
  .provider-profile-hero__identity p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .provider-metric-card { min-height: 92px; padding: 14px; }
  .provider-action-card { min-height: 82px; padding: 13px; }
  .provider-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .provider-form-actions .btn { width: 100%; }
  .provider-amount-grid { grid-template-columns: 1fr 1fr; }
  .provider-checkout-bar { align-items: stretch; flex-direction: column; }
  .provider-checkout-bar .btn { width: 100%; }
}

/* Provider authentication pages share the visual language without the app sidebar. */
body.guest-shell.guest-page--provider-login,
body.guest-shell.guest-page--provider-register,
body.guest-shell.guest-page--provider-otp {
  background: #f5f8fa;
}

.guest-page--provider-login .guest-provider-page-frame,
.guest-page--provider-register .guest-provider-page-frame,
.guest-page--provider-otp .guest-provider-page-frame {
  width: min(1180px, calc(100% - 28px));
  margin: 24px auto 0;
  padding: 0;
}

.guest-page--provider-login .logins-section,
.guest-page--provider-register .logins-section,
.guest-page--provider-otp .logins-section {
  min-height: auto !important;
  padding: 26px 0 58px;
}

.guest-page--provider-login .logins-content,
.guest-page--provider-register .logins-content,
.guest-page--provider-otp .logins-content {
  overflow: hidden;
  border: 1px solid #dfe8eb;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 48px rgba(27,55,61,.1);
}

.guest-page--provider-login .logins-content > .row,
.guest-page--provider-register .logins-content > .row,
.guest-page--provider-otp .logins-content > .row { margin: 0; }

.guest-page--provider-login .logins-content > .row > div,
.guest-page--provider-register .logins-content > .row > div,
.guest-page--provider-otp .logins-content > .row > div { padding: 0; }

.guest-page--provider-login .logins-content .info,
.guest-page--provider-register .logins-content .info,
.guest-page--provider-otp .logins-content .info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: clamp(28px, 5vw, 58px) !important;
  color: #fff;
  background: linear-gradient(145deg, #285f68, #438b95);
}

.guest-page--provider-login .logins-content .info :is(h2,h3,p,span),
.guest-page--provider-register .logins-content .info :is(h2,h3,p,span),
.guest-page--provider-otp .logins-content .info :is(h2,h3,p,span) { color: inherit !important; }

.guest-page--provider-login .login_form,
.guest-page--provider-register .login_form,
.guest-page--provider-otp .login_form { padding: 0 !important; background: #fff; }

.guest-page--provider-login .login_form .overlay,
.guest-page--provider-register .login_form .overlay,
.guest-page--provider-otp .login_form .overlay { min-height: 100%; padding: clamp(28px, 5vw, 58px) !important; background: #fff !important; }

.guest-page--provider-login .login_form .title,
.guest-page--provider-register .login_form .title,
.guest-page--provider-otp .login_form .title { padding-top: 0 !important; color: #29464c; font-size: 1.45rem; font-weight: 900 !important; }

.guest-page--provider-login .login_form form,
.guest-page--provider-register .login_form form,
.guest-page--provider-otp .login_form form { padding-top: 24px !important; }

.guest-page--provider-login .phone-input-container,
.guest-page--provider-register .phone-input-container,
.guest-page--provider-otp .phone-input-container { min-height: 52px; border: 1px solid #dce6e9 !important; border-radius: 14px !important; box-shadow: none !important; }

.guest-page--provider-login .main-button,
.guest-page--provider-register .main-button,
.guest-page--provider-otp .main-button { width: 100%; min-height: 50px; margin-top: 24px !important; border: 0; border-radius: 14px !important; color: #fff; background: var(--brand); font-weight: 850; }

@media (max-width: 767.98px) {
  .guest-page--provider-login .logins-content .info,
  .guest-page--provider-register .logins-content .info,
  .guest-page--provider-otp .logins-content .info { display: none; }
  .guest-page--provider-login .logins-content,
  .guest-page--provider-register .logins-content,
  .guest-page--provider-otp .logins-content { border-radius: 18px; }
}

/* Applicant v7 integration: legacy banners are replaced by the shared page header. */
.applicant-shell .provider-page-body .title-section,
.applicant-shell .provider-page-body > .tab-pane > .title-section {
  display: none !important;
}

.applicant-shell .provider-page-body > .container,
.applicant-shell .provider-page-body > section > .container {
  max-width: none;
}

.provider-route--property-create .property-form-section,
.provider-route--property-edit .property-form-section {
  padding-block: 0 32px !important;
}

.provider-route--property-create #property-form,
.provider-route--property-edit #property-form {
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid #e1e9ec;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(27, 55, 61, .07);
}

.provider-route--property-create #property-form label,
.provider-route--property-edit #property-form label {
  margin-bottom: 8px;
  color: #36565d;
  font-size: .78rem;
  font-weight: 800;
}

.provider-route--property-create #map,
.provider-route--property-edit #map {
  border: 1px solid #dce7ea !important;
  border-radius: 18px !important;
}

/* Preserve the approved R-only watermark and keep it inside the banner. */
.provider-content .provider-page-header::before {
  inset-block: 14px;
  inset-inline: auto 24px;
  width: 94px;
  height: auto;
  opacity: .42;
  background-image: url('../images/redd-brand-gold.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 108px;
  filter: saturate(1.12) brightness(1.12) contrast(1.08);
}

@media (max-width: 767.98px) {
  .provider-content .provider-page-header::before {
    inset-block: 14px;
    inset-inline-end: 12px;
    width: 74px;
    opacity: .38;
    background-position: left center;
    background-size: auto 84px;
  }
}

/* REDD_APPLICANT_SHELL_V7_END */
