/* Shared blue-white visual refresh. It deliberately changes presentation, not product modules. */
:root {
  --vr-blue: #1769f2;
  --vr-blue-deep: #0b3d9b;
  --vr-cyan: #15a8d9;
  --vr-ink: #10254a;
  --vr-muted: #60718d;
  --vr-line: #d9e7f7;
  --vr-surface: rgba(255,255,255,.86);
  --vr-shadow: 0 18px 46px rgba(35,91,166,.11);
}

body { background: #f6faff; color: var(--vr-ink); }
a { transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease; }

/* Public homepage */
body > nav {
  min-height: 76px;
  padding-left: clamp(24px,5vw,72px);
  padding-right: clamp(24px,5vw,72px);
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid var(--vr-line);
  box-shadow: 0 4px 18px rgba(17,74,139,.04);
  backdrop-filter: blur(16px);
}
body > nav .nav-logo { font-size: 18px; color: var(--vr-ink); }
body > nav .nav-logo img { border-radius: 9px; }
body > nav .nav-links { gap: clamp(18px,2vw,34px); }
body > nav .nav-links a { position: relative; color: #485a76; }
body > nav .nav-links a:not([href="/chat/"])::after { background: var(--vr-blue); }
body > nav .nav-links a[href="/chat/"] { background: linear-gradient(135deg,#1158dc,#198aee); box-shadow: 0 10px 20px rgba(23,105,242,.18); }
body:not(:has(.hero)) > nav .nav-links a[href="/chat/"] { background: transparent !important; box-shadow: none !important; color: #526173 !important; }

.hero {
  min-height: 540px;
  padding: 104px max(7vw,64px) 86px;
  text-align: left;
  overflow: hidden;
  background-image: linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.97) 34%,rgba(247,251,255,.46) 64%,rgba(247,251,255,.12) 100%), url('/medical-ai-hero.png');
  background-position: center, right center;
  background-size: cover, max(880px,62vw) auto;
  background-repeat: no-repeat;
}
.hero::before { display: none; }
.hero::after { display: none; }
.hero h1 { max-width: 620px; font-size: clamp(46px,5vw,70px); line-height: 1.12; margin: 0 0 20px; color: var(--vr-ink); }
.hero h1 span { color: #155de8; }
.hero p { max-width: 545px; margin: 0; color: #50627f; font-size: 18px; line-height: 1.8; }
.hero-badge { margin: 0 0 24px; border: 1px solid #b9d4ff; background: rgba(255,255,255,.76); color: #1a65df; box-shadow: 0 10px 28px rgba(44,121,225,.08); }
.hero-cards { max-width: 540px; margin: 34px 0 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.hero-card { min-height: 142px; padding: 22px; border: 1px solid rgba(183,211,248,.92); background: rgba(255,255,255,.79); box-shadow: 0 12px 28px rgba(23,92,170,.08); backdrop-filter: blur(8px); }
.hero-card h3 { font-size: 18px; }
.hero-card:hover { background: #fff; transform: translateY(-5px); border-color: #75abff; box-shadow: 0 18px 36px rgba(23,105,242,.16); }

.features,.pricing,.code-sec { max-width: 1280px; margin-left: auto; margin-right: auto; }
.features { padding-top: 86px; padding-bottom: 86px; }
.features h2,.pricing h2,.code-sec h2 { color: var(--vr-ink); }
.features .sub,.pricing .sub,.code-sec .sub { color: var(--vr-muted); }
.feat-grid { gap: 16px; }
.feat-item { border: 1px solid var(--vr-line); background: rgba(255,255,255,.86); box-shadow: 0 10px 26px rgba(35,91,166,.055); }
.feat-item:hover { background: #fff; border-color: #86b5fb; box-shadow: var(--vr-shadow); }
.feat-icon { background: #eef6ff; border-color: #c9e1ff; color: var(--vr-blue); }
.pricing { max-width: none; padding: 82px max(7vw,56px); background: linear-gradient(180deg,#f2f8ff 0%,#f8fbff 100%); }
.price-card { border-color: var(--vr-line); background: var(--vr-surface); box-shadow: 0 12px 30px rgba(35,91,166,.06); }
.price-card.pop { background: #fff; box-shadow: var(--vr-shadow); }
.price-card.pop::before { background: #1769f2; }
.price-card:hover { background: #fff; }
.code-sec { padding-top: 82px; padding-bottom: 82px; }
.code-block { background: #10254a; border-color: #244d83; box-shadow: 0 18px 40px rgba(16,37,74,.2); }
footer { border-top: 1px solid var(--vr-line); }

/* Application surfaces: chat, developer platform, user center and management. */
.sidebar,.topbar,.input-area,header,.app-header,.admin-header { border-color: var(--vr-line) !important; }
.sidebar { background: linear-gradient(180deg,#fbfdff 0%,#f2f7ff 100%) !important; box-shadow: 8px 0 28px rgba(35,91,166,.045); }
.topbar { background: rgba(255,255,255,.9) !important; backdrop-filter: blur(14px); }
.new-chat,.input-box,.simple-welcome,.dept-card,.card,.panel,.table-wrap { border-color: var(--vr-line) !important; }
.new-chat,.hero-action.secondary { background: rgba(255,255,255,.88) !important; }
.new-chat:hover,.dept-card:hover,.card:hover { border-color: #83b2fa !important; box-shadow: var(--vr-shadow); }
.input-area { background: linear-gradient(180deg,rgba(246,250,255,.1),#fff 45%) !important; }
.input-box { box-shadow: 0 10px 28px rgba(35,91,166,.07); }
.send-btn,.hero-action,.btn-primary,.primary-btn { background: linear-gradient(135deg,#1158dc,#198aee) !important; box-shadow: 0 10px 20px rgba(23,105,242,.16); }
.send-btn:hover,.hero-action:hover,.btn-primary:hover,.primary-btn:hover { transform: translateY(-2px); box-shadow: 0 15px 28px rgba(23,105,242,.24); }
.msg-u { background: linear-gradient(135deg,#edf5ff,#f7fbff) !important; border-color: #c9e1ff !important; }
.msg-b,.simple-welcome,.card,.panel { background: rgba(255,255,255,.92) !important; }

@media (max-width: 768px) {
  body > nav { min-height: 64px; padding: 0 18px; }
  body > nav .nav-links { gap: 12px; }
  .hero { min-height: auto; padding: 62px 22px 46px; background-image: linear-gradient(180deg,rgba(247,251,255,.96),rgba(247,251,255,.9)), url('/medical-ai-hero.png'); background-position: center, center bottom; background-size: cover, auto 100%; }
  .hero h1 { font-size: 38px; }
  .hero p { font-size: 15px; line-height: 1.75; }
  .hero-cards { grid-template-columns: 1fr; max-width: none; }
  .hero-card { min-height: 0; }
  .features,.pricing,.code-sec { padding-left: 18px; padding-right: 18px; }
  .features,.pricing,.code-sec { padding-top: 56px; padding-bottom: 56px; }
}
