@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');

/* Page-scoped visual language: the reference uses deep service-green, warm ivory,
   and small, precise touches of mint. These overrides never escape these pages. */
body.provider-home-page,
body.provider-pricing-page,
body.cr-admin-page.ops-admin-dashboard,
body.cr-admin-page.ops-admin-users,
body.cr-admin-page.ops-admin-revenue {
  --ops-forest: #075d49;
  --ops-deep: #064b3d;
  --ops-green: #07805d;
  --ops-mint: #eaf5ef;
  --ops-paper: #f4f8f5;
  --ops-ink: #18382f;
  --ops-muted: #698078;
  --ops-line: #dce8e1;
  --ops-gold: #d7b54b;
  --font-display: 'Manrope', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  background: var(--ops-paper) !important;
  color: var(--ops-ink) !important;
  font-family: var(--font-body);
}

body.provider-home-page .app-shell { min-height: 100dvh; background: var(--ops-paper); }
body.provider-home-page .app-sidebar {
  width: 220px; background: var(--ops-forest); color: #f2faf6;
  border: 0; box-shadow: 5px 0 20px rgba(13, 67, 51, .08);
}
body.provider-home-page .app-sidebar-header { min-height: 66px; padding: 0 20px; border-color: rgba(255,255,255,.13); }
body.provider-home-page .brand-logo { color: #f2faf6; font-family: var(--font-display); font-size: 14px; letter-spacing: -.02em; }
body.provider-home-page .brand-mark-small { background-color: #f6faf6; border-radius: 7px; }
body.provider-home-page .app-nav { padding: 15px 10px; gap: 4px; }
body.provider-home-page .nav-item {
  min-height: 38px; padding: 9px 11px; border-radius: 7px; color: rgba(242,250,246,.76);
  font-size: 12px; font-weight: 600; transition: background .18s, color .18s, transform .18s;
}
body.provider-home-page .nav-item svg { width: 16px; height: 16px; }
body.provider-home-page .nav-item.active,
body.provider-home-page .nav-item:hover { background: rgba(228,247,237,.15); color: #fff; transform: translateX(2px); }
body.provider-home-page .app-main { min-width: 0; }
body.provider-home-page .app-topbar {
  height: 62px; padding: 0 30px; background: #fbfdfb;
  border-bottom: 1px solid var(--ops-line); box-shadow: none;
}
body.provider-home-page .app-topbar .brand-logo { color: var(--ops-forest); }
body.provider-home-page .app-content-area { width: min(100%, 1500px); padding: 29px 34px 40px; }
body.provider-home-page .page-greeting { margin-bottom: 22px !important; align-items: center !important; }
body.provider-home-page #workOverviewTitle { color: var(--ops-forest) !important; font: 800 24px/1.2 var(--font-display) !important; letter-spacing: -.035em; }
body.provider-home-page .page-greeting p { color: var(--ops-muted) !important; font-size: 13px !important; }
body.provider-home-page .app-grid { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 22px; }
body.provider-home-page .grid-main-col, body.provider-home-page .grid-right-col { min-width: 0; }
body.provider-home-page .kpi-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
body.provider-home-page .kpi-card {
  min-height: 112px; padding: 16px; border: 1px solid var(--ops-line); border-radius: 11px;
  background: #fff; box-shadow: 0 3px 12px rgba(18,73,53,.035);
}
body.provider-home-page .kpi-card:hover { border-color: #a9ccba; box-shadow: 0 8px 22px rgba(18,73,53,.09); transform: translateY(-2px); }
body.provider-home-page .kpi-value { color: var(--ops-forest); font: 800 23px/1.15 var(--font-display) !important; letter-spacing: -.04em; }
body.provider-home-page .kpi-label { color: var(--ops-muted) !important; font-size: 11px !important; }
body.provider-home-page .kpi-icon { border-radius: 8px !important; background: var(--ops-mint) !important; }
body.provider-home-page .widget-card,
body.provider-home-page .home-feedback-card {
  padding: 19px; border: 1px solid var(--ops-line); border-radius: 11px;
  background: #fff; box-shadow: 0 3px 14px rgba(18,73,53,.04);
}
body.provider-home-page .widget-title { color: var(--ops-forest); font: 800 15px/1.35 var(--font-display); }
body.provider-home-page table th { color: var(--ops-muted) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .045em; }
body.provider-home-page table td { border-color: var(--ops-line); }
body.provider-home-page table tr:last-child td { border-bottom: 0; }
body.provider-home-page .btn, body.provider-home-page .btn-accent {
  border-radius: 7px; font-family: var(--font-body); font-weight: 700;
}
body.provider-home-page .btn-accent { background: var(--ops-green); color: #fff; }
body.provider-home-page .btn-accent:hover { background: var(--ops-deep); }
body.provider-home-page .grid-right-col > .widget-card[style*="linear-gradient"] {
  background: var(--ops-forest) !important; color: #f3faf6 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
body.provider-home-page .grid-right-col > .widget-card[style*="linear-gradient"] a { background: #e0f2e8; color: var(--ops-forest); }
body.provider-home-page .home-feedback-card { margin-bottom: 20px; }

/* Price settings: retain the original forms and API-bound field IDs. */
body.provider-pricing-page .app-container { width: min(1080px, calc(100% - 36px)); padding: 30px 0 56px; }
body.provider-pricing-page .top-row { margin-bottom: 16px; }
body.provider-pricing-page .top-row .link { color: var(--ops-forest); font-weight: 700; }
body.provider-pricing-page .app-box { padding: clamp(20px, 4vw, 38px); border: 1px solid var(--ops-line); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(16,76,54,.06); }
body.provider-pricing-page h1 { color: var(--ops-forest); font: 800 clamp(25px,3vw,34px)/1.15 var(--font-display); letter-spacing: -.04em; }
body.provider-pricing-page .account-section-title { color: var(--ops-forest); font: 800 17px var(--font-display); }
body.provider-pricing-page .account-section-desc { color: var(--ops-muted); line-height: 1.65; }
body.provider-pricing-page .pricing-card { padding: 18px; border: 1px solid var(--ops-line); border-radius: 10px; background: #fbfdfb; }
body.provider-pricing-page .pricing-row { padding: 16px 0; border-color: var(--ops-line); }
body.provider-pricing-page .pricing-label { color: var(--ops-forest); }
body.provider-pricing-page .pricing-actions { gap: 8px; }
body.provider-pricing-page .cr-input,
body.provider-pricing-page input,
body.provider-pricing-page select,
body.provider-pricing-page textarea { border-color: #cbded2; border-radius: 7px; color: var(--ops-ink); background-color: #fff; }
body.provider-pricing-page :is(input,select,textarea):focus { outline: 3px solid rgba(7,128,93,.18); border-color: var(--ops-green); }
body.provider-pricing-page .btn,
body.provider-pricing-page .cr-btn.primary { border-radius: 7px; background: var(--ops-green); color: #fff; font-weight: 700; }

/* Control room system — admin pages only. */
body.cr-admin-page.ops-admin-dashboard .app-shell,
body.cr-admin-page.ops-admin-users .cr-app-shell,
body.cr-admin-page.ops-admin-revenue .cr-app-shell { background: var(--ops-paper); }
body.cr-admin-page.ops-admin-dashboard .app-sidebar,
body.cr-admin-page.ops-admin-users .cr-sidebar,
body.cr-admin-page.ops-admin-revenue .cr-sidebar {
  background: var(--ops-forest) !important; color: #f2faf6; border: 0 !important;
  box-shadow: 5px 0 22px rgba(13,67,51,.08);
}
body.cr-admin-page.ops-admin-dashboard .app-sidebar-header,
body.cr-admin-page.ops-admin-users .cr-brand,
body.cr-admin-page.ops-admin-revenue .cr-brand { border-color: rgba(255,255,255,.14); color: #f7fbf8; }
body.cr-admin-page.ops-admin-dashboard .app-nav,
body.cr-admin-page.ops-admin-users .cr-nav,
body.cr-admin-page.ops-admin-revenue .cr-nav { gap: 4px; }
body.cr-admin-page.ops-admin-dashboard .nav-item,
body.cr-admin-page.ops-admin-users .cr-nav-link,
body.cr-admin-page.ops-admin-revenue .cr-nav-link { color: rgba(242,250,246,.78); border-radius: 7px; }
body.cr-admin-page.ops-admin-dashboard .nav-item.active,
body.cr-admin-page.ops-admin-dashboard .nav-item:hover,
body.cr-admin-page.ops-admin-users .cr-nav-link.active,
body.cr-admin-page.ops-admin-users .cr-nav-link:hover,
body.cr-admin-page.ops-admin-revenue .cr-nav-link.active,
body.cr-admin-page.ops-admin-revenue .cr-nav-link:hover { background: rgba(228,247,237,.15); color: #fff; }
body.cr-admin-page.ops-admin-users .cr-app-shell,
body.cr-admin-page.ops-admin-revenue .cr-app-shell { min-height: 100dvh; }
body.cr-admin-page.ops-admin-dashboard .cr-header,
body.cr-admin-page.ops-admin-users .cr-header,
body.cr-admin-page.ops-admin-revenue .cr-header {
  background: #fbfdfb !important; border-color: var(--ops-line) !important;
  box-shadow: none; color: var(--ops-forest);
}
body.cr-admin-page.ops-admin-dashboard .cr-content,
body.cr-admin-page.ops-admin-users .cr-content,
body.cr-admin-page.ops-admin-revenue .cr-content { max-width: 1440px; padding: 28px 34px 46px; }
body.cr-admin-page.ops-admin-dashboard .cr-page-title,
body.cr-admin-page.ops-admin-users .cr-page-title,
body.cr-admin-page.ops-admin-revenue .cr-page-title { color: var(--ops-forest); }
body.cr-admin-page.ops-admin-dashboard .kpi-grid { gap: 12px; }
body.cr-admin-page.ops-admin-dashboard .kpi-card,
body.cr-admin-page.ops-admin-dashboard .widget-card,
body.cr-admin-page.ops-admin-users .cr-card,
body.cr-admin-page.ops-admin-revenue .cr-card,
body.cr-admin-page.ops-admin-revenue .cr-stat-card {
  border: 1px solid var(--ops-line); border-radius: 11px; background: #fff;
  box-shadow: 0 3px 14px rgba(18,73,53,.04);
}
body.cr-admin-page.ops-admin-dashboard .kpi-card { min-height: 116px; padding: 17px; }
body.cr-admin-page.ops-admin-dashboard .kpi-card:hover { border-color: #a9ccba; transform: translateY(-2px); }
body.cr-admin-page.ops-admin-dashboard .kpi-value,
body.cr-admin-page.ops-admin-revenue .cr-stat-value { color: var(--ops-forest); font-family: var(--font-display); }
body.cr-admin-page.ops-admin-dashboard .widget-title { color: var(--ops-forest); font-family: var(--font-display); }
body.cr-admin-page.ops-admin-dashboard .nav-item { text-decoration: none; }
body.cr-admin-page.ops-admin-dashboard .nav-item span { min-width: 0; }
body.cr-admin-page.ops-admin-users .cr-content { width: 100%; }
body.cr-admin-page.ops-admin-users .cr-tabs { border-color: var(--ops-line); }
body.cr-admin-page.ops-admin-users .cr-tab { color: var(--ops-muted); }
body.cr-admin-page.ops-admin-users .cr-tab.active { color: var(--ops-forest); border-color: var(--ops-green); }
body.cr-admin-page.ops-admin-users .cr-list-row { align-items: flex-start; gap: 20px; border-color: var(--ops-line); }
body.cr-admin-page.ops-admin-users .cr-list-row:hover { background: #f7fbf8; }
body.cr-admin-page.ops-admin-users .cr-text-main { color: var(--ops-forest); }
body.cr-admin-page.ops-admin-users .cr-btn,
body.cr-admin-page.ops-admin-revenue .cr-btn { border-radius: 7px; font-family: var(--font-body); }
body.cr-admin-page.ops-admin-users .cr-btn.outline,
body.cr-admin-page.ops-admin-revenue .cr-btn.outline { border-color: #c7d9ce; color: var(--ops-forest); background: #fff; }
body.cr-admin-page.ops-admin-users .cr-btn.danger { color: #a33e34; }
body.cr-admin-page.ops-admin-users .cr-input,
body.cr-admin-page.ops-admin-revenue .cr-input { border-color: #cbded2; border-radius: 7px; }
body.cr-admin-page.ops-admin-users .cr-modal { border-radius: 12px; }
body.cr-admin-page.ops-admin-revenue .cr-stat-card.accent { background: var(--ops-forest); border-color: var(--ops-forest); }
body.cr-admin-page.ops-admin-revenue .cr-stat-card.accent .cr-stat-value { color: #f4fbf6; }
body.cr-admin-page.ops-admin-revenue .revenue-amount { color: var(--ops-green); }
body.cr-admin-page.ops-admin-revenue .revenue-record { padding: 20px 22px; border-color: var(--ops-line); }
body.cr-admin-page.ops-admin-revenue .revenue-record-grid { gap: 14px 22px; }

@media (max-width: 1000px) {
  body.provider-home-page .app-grid { grid-template-columns: 1fr; }
  body.provider-home-page .grid-right-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  body.provider-home-page .grid-right-col > * { margin: 0 !important; }
  body.provider-home-page .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cr-admin-page.ops-admin-dashboard .kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  body.provider-home-page .app-content-area { padding: 20px 16px 32px; }
  body.provider-home-page .app-topbar { padding: 0 16px; }
  body.provider-home-page .app-grid { gap: 16px; }
  body.provider-home-page .page-greeting { align-items: flex-start !important; gap: 14px; flex-direction: column; }
  body.provider-home-page #workOverviewTitle { font-size: 21px !important; }
  body.provider-home-page .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  body.provider-home-page .kpi-card { min-height: 100px; padding: 12px; }
  body.provider-home-page .kpi-value { font-size: 20px !important; }
  body.provider-home-page .grid-right-col { grid-template-columns: 1fr; }
  body.provider-home-page table { min-width: 620px; }
  body.provider-pricing-page .app-container { width: calc(100% - 24px); padding: 18px 0 32px; }
  body.provider-pricing-page .app-box { padding: 20px 16px; }
  body.provider-pricing-page .pricing-row { gap: 10px; }
  body.provider-pricing-page .pricing-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  body.provider-pricing-page .pricing-actions > * { min-width: 0; width: 100%; }
  body.cr-admin-page.ops-admin-dashboard .cr-content,
  body.cr-admin-page.ops-admin-users .cr-content,
  body.cr-admin-page.ops-admin-revenue .cr-content { padding: 19px 15px 34px; }
  body.cr-admin-page.ops-admin-dashboard .kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.cr-admin-page.ops-admin-dashboard .app-grid { grid-template-columns: 1fr !important; }
  body.cr-admin-page.ops-admin-users .cr-list-row { flex-direction: column; }
  body.cr-admin-page.ops-admin-users .cr-list-col { width: 100%; align-items: flex-start !important; }
  body.cr-admin-page.ops-admin-users .cr-list-col > div { justify-content: flex-start !important; flex-wrap: wrap; }
  body.cr-admin-page.ops-admin-revenue .cr-grid-2 { grid-template-columns: 1fr; }
  body.cr-admin-page.ops-admin-revenue .revenue-toolbar,
  body.cr-admin-page.ops-admin-revenue .revenue-record-grid { grid-template-columns: 1fr; }
  body.cr-admin-page.ops-admin-revenue .revenue-record-head { display: block; }
  body.cr-admin-page.ops-admin-revenue .revenue-amount { text-align: left; margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.provider-home-page *, body.provider-pricing-page *,
  body.cr-admin-page.ops-admin-dashboard *, body.cr-admin-page.ops-admin-users *,
  body.cr-admin-page.ops-admin-revenue * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Provider-only finishing overrides. Admin surfaces above intentionally remain untouched. */
html[data-theme="dark"] body.provider-home-page,
html[data-theme="dark"] body.provider-pricing-page {
  --ops-forest:#b8e3cd;
  --ops-deep:#143d31;
  --ops-green:#55bd8d;
  --ops-mint:#203b32;
  --ops-paper:#101c19;
  --ops-ink:#e2efe7;
  --ops-muted:#a8beb1;
  --ops-line:#304a3d;
  color:var(--ops-ink)!important;
  background:var(--ops-paper)!important;
}
html[data-theme="dark"] body.provider-home-page .app-topbar,
html[data-theme="dark"] body.provider-pricing-page .app-box {
  background:#172722!important;border-color:#304a3d!important;color:#e2efe7;
}
html[data-theme="dark"] body.provider-home-page :is(.kpi-card,.widget-card,.home-feedback-card) {
  background:#172722!important;border-color:#304a3d!important;color:#e2efe7;
}
html[data-theme="dark"] body.provider-home-page :is(.page-greeting p,.kpi-label,table th) {color:#a8beb1!important}
html[data-theme="dark"] body.provider-home-page :is(#workOverviewTitle,.kpi-value,.widget-title) {color:#b8e3cd!important}
html[data-theme="dark"] body.provider-home-page .grid-right-col > .widget-card[style*="linear-gradient"] {
  background:#12392e!important;color:#eaf7ee!important;
}
html[data-theme="dark"] body.provider-home-page .grid-right-col > .widget-card[style*="linear-gradient"] a {
  background:#dff2e7;color:#12392e;
}
html[data-theme="dark"] body.provider-pricing-page .pricing-card {
  background:#172722!important;border-color:#304a3d!important;color:#e2efe7;
}
html[data-theme="dark"] body.provider-pricing-page :is(.pricing-label,.account-section-title,h1) {color:#b8e3cd}
html[data-theme="dark"] body.provider-pricing-page .account-section-desc {color:#a8beb1}
html[data-theme="dark"] body.provider-pricing-page :is(.cr-input,input,select,textarea) {
  color:#e2efe7;background:#14221d;border-color:#3a5949;
}
html[data-theme="dark"] body.provider-pricing-page .top-row .link {color:#b8e3cd}
html[data-theme="dark"] body.provider-home-page .app-topbar .brand-logo {color:#b8e3cd!important}
html[data-theme="dark"] body.provider-home-page #companyExpiryBanner {
  background:#493913!important;
  border-color:#9a7021!important;
  color:#ffe6a1!important;
}
html[data-theme="dark"] body.provider-home-page [style*="background:#F0FDF4"] {
  background:#124332!important;
  color:#d8f5e3!important;
}
html[data-theme="dark"] body.provider-home-page [style*="background:#FFFBEB"] {
  background:#493913!important;
  color:#ffe6a1!important;
}
html[data-theme="dark"] body.provider-pricing-page :is(.btn,.cr-btn.primary) {
  background:#176b4d!important;
  border-color:#176b4d!important;
  color:#fff!important;
}

@media (min-width:768px) and (max-width:1100px) {
  body.provider-home-page .app-content-area {padding:25px 22px 36px}
  body.provider-home-page .app-grid {gap:17px}
  body.provider-home-page .grid-right-col {grid-template-columns:repeat(2,minmax(0,1fr))}
  body.provider-home-page .kpi-grid {gap:9px}
}
@media (max-width:767px) {
  body.provider-home-page .app-content-area {padding:18px 14px calc(92px + env(safe-area-inset-bottom))}
  body.provider-home-page .page-greeting {margin-bottom:16px!important}
  body.provider-home-page .widget-card,
  body.provider-home-page .home-feedback-card {padding:15px}
  body.provider-home-page table {font-size:12px}
  body.provider-home-page .kpi-card {border-radius:10px}
  body.provider-pricing-page .pricing-section {padding-top:18px}
}