/* =========================================================
   HYBRIDOC — VIBRANT HUMAN-CENTRED LIGHT HEALTHCARE UI
   ========================================================= */

:root {
  --blue:#2563EB;
  --blue-hover:#1D4ED8;
  --ink:#0F172A;
  --muted:#475569;

  --white:#FFFFFF;
  --canvas:#F8FAFC;
  --line:#E2E8F0;

  --sky:#EFF6FF;
  --mint:#ECFDF5;
  --peach:#FFF7ED;
  --lavender:#F5F3FF;
  --rose:#FFF1F2;

  --brand-red:#DC143C;

  --shadow:0 18px 45px rgba(15,23,42,.08);

  color-scheme:only light !important;
}

/* LIGHT ONLY */

html,
html[data-theme],
html[data-theme-effective],
body,
.hybridoc-public,
.secure-site {
  color-scheme:only light !important;

  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --surface-soft:#F1F5F9;
  --ink:#0F172A;
  --ink-2:#334155;
  --muted:#475569;
  --line:#E2E8F0;
  --line-strong:#CBD5E1;

  --teal:#2563EB;
  --teal-dark:#1D4ED8;
  --accent:#2563EB;

  background:#F8FAFC !important;
  color:#0F172A !important;
}

[data-appearance-r91] {
  display:none !important;
}

/* HEADER */

.hybridoc-public .site-header {
  background:rgba(255,255,255,.97) !important;
  border-top:3px solid var(--blue) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 6px 24px rgba(15,23,42,.05) !important;
}

.hybridoc-public .site-header-inner {
  min-height:84px;
  overflow:visible !important;
}

/* never crop Hybridoc logo */

.hybridoc-public .platform-brand.hybridoc-logo {
  display:flex !important;
  align-items:center !important;

  width:190px !important;
  min-width:190px !important;
  height:72px !important;

  overflow:visible !important;
}

.hybridoc-public .platform-brand.hybridoc-logo img {
  display:block !important;

  width:100% !important;
  height:100% !important;

  max-width:190px !important;
  max-height:66px !important;

  object-fit:contain !important;
  object-position:left center !important;

  clip-path:none !important;
  filter:none !important;
}

/* HERO */

.hybridoc-public .public-hero {
  position:relative;

  min-height:650px;

  overflow:hidden;

  border-radius:0 0 34px 34px;

  background:
    linear-gradient(
      90deg,
      #FFFFFF 0%,
      #FFFFFF 42%,
      rgba(255,255,255,.94) 51%,
      rgba(255,255,255,.12) 73%
    ),
    url('/assets/hybridoc-media/hero-human.webp')
      right center / 58% auto no-repeat !important;
}

.hybridoc-public .public-hero-copy {
  position:relative;
  z-index:3;

  max-width:600px;
}

.hybridoc-public .public-hero h1 {
  color:var(--ink) !important;
  font-weight:800;
}

.hybridoc-public
:is(.kicker,.hc-eyebrow) {
  color:var(--brand-red) !important;
}

/* existing product preview becomes a clean floating card */

.hybridoc-public
:is(.hc-care-map,.hybridoc-care-preview) {
  background:rgba(255,255,255,.94) !important;

  border:1px solid rgba(226,232,240,.94) !important;

  color:var(--ink) !important;

  box-shadow:0 22px 60px rgba(15,23,42,.14) !important;

  backdrop-filter:blur(14px);
}

.hybridoc-public
:is(.hc-care-map,.hybridoc-care-preview)
:is(h2,h3,strong) {
  color:var(--ink) !important;
}

.hybridoc-public
:is(.hc-care-map,.hybridoc-care-preview)
:is(p,span,small) {
  color:var(--muted) !important;
}

/* BUTTONS */

.hybridoc-public
:is(.button-primary,.network-button:not(.secondary)) {
  background:var(--hd-crimson,#cf0a3d) !important;
  border-color:var(--hd-crimson,#cf0a3d) !important;
  color:#fff !important;

  box-shadow:0 10px 24px rgba(207,10,61,.12) !important;
}

.hybridoc-public
:is(.button-primary,.network-button:not(.secondary)):hover {
  background:#a80830 !important;
}

.hybridoc-public
:is(.button-ghost,.network-button.secondary) {
  background:#fff !important;

  border:1px solid #CBD5E1 !important;

  color:var(--ink) !important;
}

/* PATIENTS */

.hybridoc-public #patients {
  background:#fff !important;

  box-shadow:0 0 0 100vmax #fff;

  clip-path:inset(0 -100vmax);
}

/* PROFESSIONALS */

.hybridoc-public #professionals {
  background:var(--canvas) !important;

  box-shadow:0 0 0 100vmax var(--canvas);

  clip-path:inset(0 -100vmax);

  color:var(--ink) !important;
}

/* human image banner using a different crop */

.hybridoc-public #professionals::before {
  content:"";

  display:block;

  width:100%;
  height:300px;

  margin:0 0 40px;

  border-radius:28px;

  background:
    linear-gradient(
      90deg,
      rgba(37,99,235,.04),
      rgba(255,255,255,.02)
    ),
    url('/assets/hybridoc-media/hero-human.webp')
      center 42% / cover no-repeat;

  box-shadow:var(--shadow);
}

.hybridoc-public #professionals
:is(h1,h2,h3,strong) {
  color:var(--ink) !important;
}

.hybridoc-public #professionals
:is(p,li) {
  color:var(--muted) !important;
}

/* PRACTICES */

.hybridoc-public #practices {
  background:var(--sky) !important;

  box-shadow:0 0 0 100vmax var(--sky);

  clip-path:inset(0 -100vmax);

  color:var(--ink) !important;
}

/* CARDS */

.hybridoc-public
:is(
  .network-mode-card,
  .network-card,
  .network-panel,
  .hc-card,
  .hc-feature-card,
  .public-section article
) {
  background:#fff !important;

  border:1px solid var(--line) !important;

  border-radius:20px !important;

  color:var(--ink) !important;

  box-shadow:0 12px 34px rgba(15,23,42,.06) !important;
}

.hybridoc-public
:is(
  .network-mode-card,
  .network-card,
  .network-panel,
  .hc-card,
  .hc-feature-card,
  .public-section article
)
:is(h2,h3,strong) {
  color:var(--ink) !important;
}

.hybridoc-public
:is(
  .network-mode-card,
  .network-card,
  .network-panel,
  .hc-card,
  .hc-feature-card,
  .public-section article
)
:is(p,li) {
  color:var(--muted) !important;
}

/* friendly pastel icon tiles */

.hybridoc-public
:is(
  .network-mode-icon,
  .hybridoc-path-icon,
  .feature-icon,
  .card-icon
) {
  background:var(--sky) !important;

  color:var(--blue) !important;

  border-color:#DBEAFE !important;
}

/* different card accents */

.hybridoc-public #patients article:nth-of-type(1) {
  background:linear-gradient(180deg,#fff,#EFF6FF) !important;
}

.hybridoc-public #patients article:nth-of-type(2) {
  background:linear-gradient(180deg,#fff,#FFF1F2) !important;
}

.hybridoc-public #patients article:nth-of-type(3) {
  background:linear-gradient(180deg,#fff,#ECFDF5) !important;
}

/* HELP */

#drkt-help button,
.help-button,
.floating-help {
  background:var(--hd-crimson,#cf0a3d) !important;

  color:#fff !important;

  border-color:var(--hd-crimson,#cf0a3d) !important;

  box-shadow:0 14px 32px rgba(37,99,235,.23) !important;
}

/* FOOTER */

.hybridoc-public .public-footer {
  background:#fff !important;

  color:var(--ink) !important;

  border-top:1px solid var(--line) !important;
}

.hybridoc-public .public-footer
:is(p,small,span,a) {
  color:var(--muted) !important;
}

/* SECURE DASHBOARDS — LIGHT */

.secure-site,
.secure-site .layout,
.secure-site .workspace,
.secure-site .content {
  background:var(--canvas) !important;

  color:var(--ink) !important;
}

.secure-site .sidebar {
  background:#fff !important;

  color:var(--ink) !important;

  border-right:1px solid var(--line) !important;
}

.secure-site .sidebar
:is(a,summary,.brand,.workspace-label) {
  color:var(--ink) !important;
}

.secure-site .sidebar
:is(.nav-section a,[data-route]):hover {
  background:var(--sky) !important;
}

.secure-site .sidebar
:is(
  .nav-section a[aria-current="page"],
  .nav-section a.active,
  [data-route].active
) {
  background:var(--hd-crimson,#cf0a3d) !important;

  color:#fff !important;
}

.secure-site .topbar {
  background:rgba(255,255,255,.97) !important;

  border-bottom:1px solid var(--line) !important;
}

/* MOBILE */

@media (max-width:800px) {

  .hybridoc-public .public-hero {
    min-height:auto;

    padding-top:360px !important;

    background:
      linear-gradient(
        180deg,
        transparent 0 300px,
        rgba(255,255,255,.98) 355px,
        #fff 100%
      ),
      url('/assets/hybridoc-media/hero-human.webp')
        center top / auto 330px no-repeat !important;
  }

  .hybridoc-public #professionals::before {
    height:220px;

    border-radius:20px;
  }

  .hybridoc-public .platform-brand.hybridoc-logo {
    width:145px !important;
    min-width:145px !important;
    height:60px !important;
  }

  .hybridoc-public .platform-brand.hybridoc-logo img {
    max-width:145px !important;
    max-height:54px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  *,
  *::before,
  *::after {
    animation:none !important;
    transition:none !important;
  }
}
