/* Smart Hospital visual layer. Presentation only; no data or layout hooks are changed. */
:root {
  --ink:#122e49; --muted:#647b96; --teal:#087d82; --blue:#2877d6;
  --bg:#eaf0f7; --soft:#eaf0f7; --card:#f9fbfe; --line:#d6e2ef;
  --shadow:9px 13px 25px rgba(91,115,145,.19),-8px -8px 22px rgba(255,255,255,.92);
  --neu-inset:inset 4px 5px 10px rgba(111,136,166,.15),inset -4px -4px 9px rgba(255,255,255,.95);
}
html { color-scheme:light; }
body { background:#eaf0f7; color:var(--ink); }
body::before { background:radial-gradient(circle at 85% 4%,rgba(100,170,231,.13),transparent 29%),radial-gradient(circle at 15% 55%,rgba(63,193,178,.08),transparent 32%); }
.app-shell { gap:24px; padding:22px; }
.main-panel { gap:23px; }
.sidebar,.topbar,.hero-card,.empty-page,.chart-card,.kpi-card,.link-card,.filter-bar,
.er-hero,.er-current-panel,.er-history-panel,.er-kpi-card,.er-clinical-card,
.home-news-section,.home-news-card,.home-onepage-card,.news-admin-heading,.news-admin-form,.news-admin-list-card,
.opd-map-card,.opd-ranking-card {
  background:linear-gradient(145deg,#fff 0%,#f7faff 73%,#f1f6fb 100%);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:var(--shadow);
  backdrop-filter:none;
}
.sidebar { border-radius:26px; padding:15px; }
.brand-card { background:linear-gradient(135deg,#0b667f,#168aa4 60%,#326cba); box-shadow:6px 8px 16px rgba(46,97,131,.23),inset 1px 1px 1px rgba(255,255,255,.35); }
.nav-btn { background:#eaf0f7; border:1px solid rgba(255,255,255,.86); box-shadow:4px 5px 10px rgba(119,143,170,.15),-4px -4px 9px #fff; color:#31516e; transition:transform .18s,box-shadow .18s,background .18s; }
.nav-btn:hover { background:#f4faff; box-shadow:6px 7px 13px rgba(99,126,155,.19),-4px -4px 10px #fff; }
.nav-btn.active { background:linear-gradient(135deg,#d9f3f2,#dfebff); border-color:#c6e6ef; box-shadow:var(--neu-inset); color:#075778; }
.sidebar-visit-card,.hospital-logo-large,.mobile-nav-brand-mark { background:linear-gradient(145deg,#fff,#e8f1fa); border:1px solid #fff; box-shadow:5px 6px 12px rgba(108,132,158,.17),-4px -4px 10px #fff; }
.topbar { min-height:120px; border-radius:26px; padding:21px 27px; }
.topbar::after,.kpi-card::before,.er-kpi-card::before,.er-hero::after,.er-current-total::after { display:none; }
.topbar h1 { color:#133b5d; font-size:clamp(24px,2.2vw,34px); }
.topbar .eyebrow,.eyebrow { color:#137b91; }
.db-status,.clock { border-radius:14px; box-shadow:var(--neu-inset); }
.hero-card,.chart-card,.home-news-section,.er-history-panel { border-radius:24px; }
.banner-slider { background:#edf3fa; border:1px solid #fff; box-shadow:var(--neu-inset); border-radius:19px; }
.banner-image { background:#edf3fa; }
.hero-placeholder { background:#edf3fa; border-color:#bad2e7; }
.filter-bar { border-radius:22px; gap:14px; }
.filter-bar label { color:#37566f; }
.filter-bar input,.news-admin-form input,.news-admin-form select,.news-admin-form textarea {
  background:#eff4fa; border:1px solid #d4e1ed; color:#173b59; box-shadow:var(--neu-inset);
}
.filter-bar input:focus,.news-admin-form input:focus,.news-admin-form select:focus,.news-admin-form textarea:focus { outline:2px solid #6aa6e2; outline-offset:2px; }
.filter-bar button,.news-admin-submit { background:linear-gradient(145deg,#328ee0,#0d649f); border:1px solid rgba(255,255,255,.45); box-shadow:4px 6px 12px rgba(25,94,151,.23),inset 1px 1px 1px rgba(255,255,255,.4); }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:3px solid #3d99d7; outline-offset:3px; }
.kpi-card,.er-kpi-card { border-radius:22px; min-height:132px; padding:20px; }
.kpi-card::after,.er-kpi-card::after { height:4px; opacity:1; }
.kpi-card:nth-child(5n+1)::after { background:linear-gradient(90deg,#256ed4,#60adf7); }
.kpi-card:nth-child(5n+2)::after { background:linear-gradient(90deg,#7153df,#ab85ff); }
.kpi-card:nth-child(5n+3)::after { background:linear-gradient(90deg,#e5526b,#ff9b8a); }
.kpi-card:nth-child(5n+4)::after { background:linear-gradient(90deg,#0b998b,#55d6c1); }
.kpi-card:nth-child(5n+5)::after { background:linear-gradient(90deg,#d39328,#efd072); }
.kpi-card span,.er-kpi-card span { color:#425e78; }
.kpi-card strong { color:#123b5d; font-size:clamp(30px,2.5vw,41px); font-variant-numeric:tabular-nums; }
.chart-card h3,.home-section-heading h2,.er-section-heading h3 { color:#183d5d; }
.note,.chart-card p { color:#69809a; }
.chart-card canvas { filter:drop-shadow(0 3px 5px rgba(59,111,161,.07)); }
.er-hero,.er-current-panel { background:linear-gradient(145deg,#fff,#f7faff); }
.er-current-total,.er-triage-card,.opd-map-panel,.opd-ranking-item { box-shadow:var(--neu-inset); }
.er-current-total { background:linear-gradient(145deg,#fff5f5,#ffecec); }
.er-triage-card { border-color:rgba(255,255,255,.85); }
.er-clinical-card { border-radius:20px; }
.home-news-section::before { height:4px; background:linear-gradient(90deg,#2a83d5,#28b8af); }
.home-news-image,.home-onepage-image { background:#e5edf7; }
.home-news-card,.home-onepage-card { border-radius:20px; }
.link-card:hover,.home-news-card:hover,.home-onepage-card:hover { box-shadow:11px 15px 26px rgba(91,115,145,.23),-8px -8px 22px #fff; }
.opd-heatmap-cell { box-shadow:inset 1px 1px 2px rgba(255,255,255,.65),2px 3px 5px rgba(80,107,139,.12); }
.mobile-nav-header { background:#eaf0f7; box-shadow:0 5px 15px rgba(77,111,145,.16); }
@media(max-width:760px) { .app-shell { padding:12px; gap:14px; } .main-panel { gap:16px; } .topbar { padding:18px; } .filter-bar { padding:14px; } }
@media(prefers-reduced-motion:reduce) { .nav-btn,.home-news-card,.home-onepage-card { transition:none; } }
