/* ============================================================
   MEDCORE EMR — Wajah Baru (konsep Figma: gelap + kaca + neon)
   Dipakai oleh template baru emr/* ; halaman teknis lama tetap
   memakai style.css bawaan.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{
  --bg:#0B111E; --bg2:#0C1422; --bg3:#070C16;
  --glass:rgba(255,255,255,.05); --glass2:rgba(255,255,255,.03);
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.06);
  --txt:#fff; --mut:rgba(255,255,255,.45); --mut2:rgba(255,255,255,.28);
  --ac:#22d3ee; --ac2:#60a5fa;
  --ok:#4ade80; --warn:#fb923c; --err:#f87171; --vio:#a78bfa; --teal:#2dd4bf; --pink:#f472b6;
  --mono:'JetBrains Mono',monospace; --sans:'Inter',system-ui,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:
    radial-gradient(1100px 600px at 85% -5%, rgba(96,165,250,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(167,139,250,.08), transparent 55%),
    var(--bg);
  color:var(--txt); font-family:var(--sans); font-size:13px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:2px}
::-webkit-scrollbar-track{background:transparent}

/* ---------- bilah atas ---------- */
.emr-top{
  height:58px; display:flex; align-items:center; gap:14px; padding:0 18px;
  background:rgba(6,10,19,.9); backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line); position:relative; z-index:20;
}
.emr-logo{display:flex; align-items:center; gap:9px; flex-shrink:0; min-width:0}
.emr-logo-badge{
  width:30px;height:30px;border-radius:8px; display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:17px; background:var(--ac22,rgba(34,211,238,.15));
  border:1px solid var(--ac55,rgba(34,211,238,.4)); color:var(--ac);
  transition:background .3s,border-color .3s,color .3s;
}
.emr-logo span{font-weight:800;letter-spacing:.14em;font-size:13px;white-space:nowrap}
.emr-online{display:flex;align-items:center;gap:6px;font-size:10px;padding:3px 9px;border-radius:999px;
  background:rgba(74,222,128,.14);color:var(--ok);border:1px solid rgba(74,222,128,.3);white-space:nowrap}
.emr-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pl 2s ease-in-out infinite}
.emr-pbar{flex:1;display:flex;justify-content:center;min-width:0}
.emr-pbar-in{
  display:flex;align-items:center;gap:10px;padding:6px 16px;border-radius:12px;max-width:100%;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);overflow:hidden;
}
.emr-ava{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff}
.emr-pname{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emr-pmeta{font-size:11px;color:var(--mut);white-space:nowrap;font-family:var(--mono)}
.emr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.emr-ibtn{
  width:32px;height:32px;border-radius:9px;border:1px solid var(--line);
  background:rgba(255,255,255,.05);color:var(--mut);cursor:pointer;font-size:13px;
  display:flex;align-items:center;justify-content:center;transition:.2s
}
.emr-ibtn:hover{color:#fff;border-color:rgba(255,255,255,.2)}
.emr-hamb{position:relative;flex-shrink:0}
.emr-hamb-btn{
  width:38px;height:38px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font-size:17px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:.2s
}
.emr-hamb-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.emr-hamb.open .emr-hamb-btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.emr-drop{
  position:absolute;top:46px;right:0;min-width:240px;z-index:80;
  background:rgba(10,15,26,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid var(--line);border-radius:14px;padding:8px;
  box-shadow:0 18px 50px rgba(0,0,0,.55);
  display:none;flex-direction:column;gap:2px
}
.emr-hamb.open .emr-drop{display:flex;animation:fadein .18s ease}
.emr-drop-cap{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut2);padding:6px 10px 4px}
.emr-drop-user{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--line2);margin:2px 2px 4px}
.emr-user-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.emr-user-meta b{font-size:13px;font-weight:600;color:#fff;line-height:1.1;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emr-user-meta .emr-user-role{font-size:9px;padding:1.5px 8px}
.emr-drop a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;color:rgba(255,255,255,.82);font-size:13px;transition:.15s}
.emr-drop a:hover{background:rgba(255,255,255,.07);color:#fff}
.emr-drop a span{width:22px;text-align:center;flex-shrink:0;font-size:14px}
.emr-drop-sep{height:1px;background:var(--line2);margin:6px 8px}
@media(max-width:560px){.emr-drop{position:fixed;right:10px;top:54px;left:10px;min-width:0}}
.emr-user{display:flex;align-items:center;gap:9px;margin-right:4px;min-width:0}
.emr-user-ava{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;text-transform:uppercase;color:#fff;
  background:linear-gradient(135deg,rgba(34,211,238,.28),rgba(167,139,250,.28));
  border:1px solid rgba(255,255,255,.28)
}
.emr-user-name{font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}
.emr-user-role{font-size:9.5px;padding:2px 9px;border-radius:999px;font-weight:600;letter-spacing:.04em;white-space:nowrap;flex-shrink:0}
.emr-user-role.sa{background:rgba(251,191,36,.14);color:#fbbf24;border:1px solid rgba(251,191,36,.32)}
.emr-user-role.us{background:rgba(34,211,238,.13);color:#67e8f9;border:1px solid rgba(34,211,238,.32)}
@media(max-width:760px){.emr-user-role{display:none}}
@media(max-width:480px){.emr-user-name{max-width:70px}}
.emr-linkbtn{
  font-size:11px;padding:6px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);cursor:pointer;white-space:nowrap;transition:.2s;font-family:var(--sans)
}
.emr-linkbtn:hover{background:rgba(255,255,255,.1);color:#fff}
.emr-linkbtn.solid{background:rgba(74,222,128,.16);border-color:rgba(74,222,128,.4);color:var(--ok)}
.emr-linkbtn.ghost{background:transparent}

/* ---------- badan: kiri kubus + kanan isi ---------- */
.emr-body{display:flex;height:calc(100vh - 58px);min-height:0}
.emr-left{
  width:38%;min-width:280px;max-width:430px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;
  padding:14px;background:rgba(5,9,18,.62);border-right:1px solid var(--line);overflow-y:auto
}
.emr-stage{
  flex:1;min-height:220px;position:relative;border-radius:18px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:radial-gradient(ellipse 75% 60% at 50% 45%, var(--ac10,rgba(34,211,238,.05)) 0%, transparent 70%);
  transition:background .4s
}
.emr-gridline{position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:linear-gradient(var(--ac08,rgba(34,211,238,.05)) 1px,transparent 1px),
  linear-gradient(90deg,var(--ac08,rgba(34,211,238,.05)) 1px,transparent 1px);
  background-size:30px 30px;transition:.4s}
.emr-corner{position:absolute;width:16px;height:16px;border:0 solid transparent;opacity:.9}
.emr-stage-hint{position:absolute;top:12px;right:14px;font-size:10px;color:var(--mut2);font-family:var(--mono)}
.emr-stage-face{position:absolute;bottom:14px;font-size:11px;padding:5px 16px;border-radius:999px;
  background:var(--ac22,rgba(34,211,238,.1));color:var(--ac);border:1px solid var(--ac44,rgba(34,211,238,.28));
  font-weight:600;transition:.3s;font-family:var(--mono);white-space:nowrap}
.emr-stage-face b{font-weight:600}
/* kubus 3D */
.emr-cube-wrap{perspective:950px;display:flex;align-items:center;justify-content:center;width:210px;height:210px;z-index:2;
  cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;
  animation:fy 4.5s ease-in-out infinite}
.emr-cube-wrap.dragging{cursor:grabbing;animation-play-state:paused}
.emr-cube{position:relative;width:164px;height:164px;transform-style:preserve-3d}
.emr-cface{
  position:absolute;inset:0;transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);
  box-shadow:inset 0 0 15px rgba(255,255,255,.02);
  transition:box-shadow .3s,border-color .3s,background .3s
}
/* warna khas tiap sisi kubus */
.emr-cface[data-f="1"]{--fc:#22d3ee}
.emr-cface[data-f="2"]{--fc:#2dd4bf}
.emr-cface[data-f="3"]{--fc:#60a5fa}
.emr-cface[data-f="4"]{--fc:#fb923c}
.emr-cface[data-f="5"]{--fc:#4ade80}
.emr-cface[data-f="6"]{--fc:#a78bfa}
/* saat mouse melayang: menyala sesuai warna menu */
.emr-cface:hover{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--fc) 26%, transparent),
    color-mix(in srgb,var(--fc) 7%, transparent));
  border-color:color-mix(in srgb,var(--fc) 65%, transparent);
  box-shadow:inset 0 0 26px color-mix(in srgb,var(--fc) 16%, transparent),
             0 0 24px color-mix(in srgb,var(--fc) 50%, transparent);
}
.emr-cface:hover .n,.emr-cface:hover .t{color:var(--fc)}
.emr-cface .n{font-family:var(--mono);font-size:34px;font-weight:900;line-height:1;color:rgba(255,255,255,.42);transition:color .3s}
.emr-cface.active .n{color:var(--fc)}
.emr-cface .t{font-size:11px;font-weight:600;text-align:center;line-height:1.35;padding:0 10px;color:rgba(255,255,255,.4);transition:color .3s}
.emr-cface.active .t{color:var(--fc)}
/* sisi terpilih: cahaya lebih kuat */
.emr-cface.active{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--fc) 22%, transparent),
    color-mix(in srgb,var(--fc) 6%, transparent));
  border-color:color-mix(in srgb,var(--fc) 75%, transparent);
  box-shadow:inset 0 0 40px color-mix(in srgb,var(--fc) 14%, transparent),
             0 0 34px color-mix(in srgb,var(--fc) 55%, transparent);
}
/* daftar navigasi 6 sisi */
.emr-nav{background:var(--glass2);border:1px solid var(--line);border-radius:14px;padding:12px;flex-shrink:0}
.emr-nav-cap{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);margin:0 4px 8px}
.emr-nav-item{
  display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:10px;cursor:pointer;
  background:transparent;border:1px solid transparent;color:#fff;text-align:left;transition:.18s;font-family:var(--sans)
}
.emr-nav-item:hover{background:rgba(255,255,255,.04)}
.emr-nav-item.active{background:var(--fc22,rgba(34,211,238,.09));border-color:var(--fc44,rgba(34,211,238,.25))}
.emr-nav-num{width:23px;height:23px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;font-family:var(--mono);background:rgba(255,255,255,.06);color:var(--mut)}
.emr-nav-item.active .emr-nav-num{background:var(--fc28,rgba(34,211,238,.18));color:var(--fc)}
.emr-nav-t{flex:1;min-width:0}
.emr-nav-t b{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.65)}
.emr-nav-item.active .emr-nav-t b{color:var(--fc)}
.emr-nav-t i{display:block;font-size:10px;color:var(--mut2);font-style:normal;margin-top:1px}
.emr-nav-dot{width:6px;height:6px;border-radius:50%;background:var(--fc);opacity:0;flex-shrink:0}
.emr-nav-item.active .emr-nav-dot{opacity:1}

/* ---------- panel kanan ---------- */
.emr-right{flex:1;display:flex;flex-direction:column;min-width:0}
.emr-tabbar{height:46px;display:flex;align-items:center;gap:10px;padding:0 24px;border-bottom:1px solid var(--line2);flex-shrink:0}
.emr-tabbar .bar{width:2px;height:15px;background:var(--ac);border-radius:2px;transition:.3s}
.emr-tabbar b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);transition:color .3s}
.emr-tabbar i{font-size:11px;color:var(--mut2);font-style:normal}
.emr-tabbar .sp{margin-left:auto;font-size:11px;color:var(--mut2);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.emr-scroll{flex:1;overflow-y:auto;padding:22px 24px 40px}
.emr-panel{display:none;animation:fadein .35s ease}
.emr-panel.on{display:block}

/* ---------- komponen umum ---------- */
.sh{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.sh .ln{width:3px;height:19px;background:var(--ac);border-radius:2px;transition:background .3s}
.sh b{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);transition:color .3s}
.sh i{font-size:11px;color:var(--mut2);font-style:normal;margin-top:2px;display:block}
.sh .tg{margin-left:auto}
.gl{background:var(--glass2);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.cardrow{display:grid;gap:10px}
.gr2{grid-template-columns:1fr 1fr}
.gr3{grid-template-columns:repeat(3,1fr)}
.gr5{grid-template-columns:repeat(5,1fr)}
.gr4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.gr5{grid-template-columns:repeat(3,1fr)}.gr4{grid-template-columns:repeat(2,1fr)}.gr3{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gr5,.gr4{grid-template-columns:1fr 1fr}}
.metric{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:16px 12px;text-align:center;
  border-top:2px solid rgba(255,255,255,.18);transition:.2s;position:relative;overflow:hidden}
.metric:hover{transform:translateY(-2px)}
.metric .ic{font-size:20px;margin-bottom:8px}
.metric .v{font-size:28px;font-weight:900;line-height:1;font-family:var(--mono)}
.metric .l{font-size:10px;color:var(--mut);margin-top:8px;line-height:1.3}
.metric .tr{font-size:11px;margin-top:7px;font-weight:600;opacity:.7}
.hrow{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--glass2);border:1px solid var(--line2)}
.hrow .lab{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut2);font-weight:700}
.kv{display:flex;flex-direction:column;gap:2px;min-width:0}
.kv .k{font-size:10px;color:var(--mut2)}
.kv .v{font-size:12px;color:rgba(255,255,255,.88);font-weight:500;word-break:break-word}
.tag{display:inline-block;padding:2px 11px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}
.tagline{display:flex;flex-wrap:wrap;gap:7px}
.icon-av{
  width:74px;height:74px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:32px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.03));
  border:2px solid rgba(255,255,255,.35);color:#fff
}
.big{font-size:15px;font-weight:700}
.mut{color:var(--mut)} .mut2{color:var(--mut2)} .mono{font-family:var(--mono)}
.small{font-size:11px}
.tbl{width:100%;border-collapse:collapse;font-size:12px}
.tbl th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut2);text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px 10px;border-bottom:1px solid var(--line2);color:rgba(255,255,255,.8);vertical-align:top}
.tbl tr:hover td{background:rgba(255,255,255,.02)}
code{font-family:var(--mono);font-size:11px;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:5px}

/* timeline kunjungan */
.vt{position:relative;padding-left:26px;display:flex;flex-direction:column;gap:9px}
.vt:before{content:'';position:absolute;left:8px;top:4px;bottom:4px;width:1px;background:linear-gradient(to bottom,var(--ac),transparent)}
.vt-item{position:relative}
.vt-item:before{content:'';position:absolute;left:-18px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--ac22);border:2px solid var(--ac)}
.vt-card{background:var(--glass);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.vt-head{width:100%;text-align:left;background:none;border:none;cursor:pointer;color:#fff;padding:11px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--sans)}
.vt-head:hover{background:rgba(255,255,255,.03)}
.vt-body{display:none;padding:2px 14px 13px;border-top:1px solid var(--line2)}
.vt-card.open .vt-body{display:block}
.vt-item.open .vt-body{display:block}
.soap{display:flex;gap:10px;padding-top:10px}
.soap .k{font-weight:700;font-size:11px;width:16px;flex-shrink:0;margin-top:1px}
.soap .c{font-size:11px;color:rgba(255,255,255,.72);line-height:1.65;white-space:pre-line}
.lab-row{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line2)}
.lab-row:last-child{border-bottom:none}
.lab-name{flex:1;font-size:12px;color:rgba(255,255,255,.78);min-width:0}
.lab-ref{font-size:10px;color:var(--mut2);font-family:var(--mono);white-space:nowrap}
.lab-val{display:flex;align-items:center;gap:8px;white-space:nowrap}
.lab-num{font-size:14px;font-weight:700;font-family:var(--mono)}
.hm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px;padding:12px}
.hm-tile{border-radius:10px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03)}
.hm-tile .l{font-size:10px;color:var(--mut2);margin-bottom:4px;line-height:1.3}
.hm-tile .v{font-size:15px;font-weight:800;font-family:var(--mono)}
.hm-tile .u{font-size:9px;color:var(--mut2)}
.hm-n{color:var(--ok)} .hm-h{color:var(--err)} .hm-l{color:var(--ac2)} .hm-i{color:var(--mut)}
.hm-n{border-left:2px solid var(--ok)} .hm-h{border-left:2px solid var(--err)} .hm-l{border-left:2px solid var(--ac2)} .hm-i{border-left:2px solid var(--mut)}
.hm-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:9px;font-weight:600;margin-left:6px;vertical-align:1px}
.ai-note{background:var(--fc0c,rgba(167,139,250,.05));border:1px solid var(--fc28,rgba(167,139,250,.16));border-radius:11px;padding:10px 14px;font-size:11px;color:var(--mut);line-height:1.65;margin-bottom:14px}
.glowbox{border-radius:16px;padding:1.5px;background:linear-gradient(135deg,var(--fc90),rgba(34,211,238,.55),var(--fc90))}
.glowbox-in{background:#0B111E;border-radius:15px;overflow:hidden}
.ai-sec{padding:16px 18px;border-bottom:1px solid var(--line2)}
.ai-sec:last-child{border-bottom:none}
.ai-sec h4{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;color:rgba(255,255,255,.85)}
.ai-line{color:rgba(255,255,255,.78);font-size:12px;line-height:1.8}
.abn{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.22);margin-bottom:8px}
.ddx{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);margin-bottom:8px}
.ddx .t{flex:1;font-size:12px;color:rgba(255,255,255,.75)}
.pact{display:flex;gap:10px;padding:7px 2px}
.pact .arr{color:var(--ok);font-size:14px;flex-shrink:0;margin-top:1px}
.pact b{font-size:12px;font-weight:600;color:rgba(255,255,255,.85);display:block}
.pact i{font-size:11px;color:var(--mut2);font-style:normal;margin-top:2px;display:block}
.empty{border:1px dashed rgba(255,255,255,.16);border-radius:12px;padding:22px;text-align:center;color:var(--mut2);font-size:12px}

/* halaman masuk & beranda */
.emr-login{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;
  background:
    radial-gradient(900px 520px at 80% -10%, rgba(34,211,238,.12), transparent 55%),
    radial-gradient(800px 600px at 10% 110%, rgba(167,139,250,.13), transparent 55%), var(--bg)
}
.emr-login .orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;animation:fy 9s ease-in-out infinite}
.emr-login-card{position:relative;z-index:2;width:100%;max-width:380px;background:rgba(11,17,30,.82);
  border:1px solid var(--line);border-radius:22px;padding:34px 30px;backdrop-filter:blur(28px);
  box-shadow:0 24px 80px rgba(0,0,0,.5)}
.emr-login-card .logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:6px}
.emr-login-card h1{font-size:15px;letter-spacing:.2em;font-weight:800;margin:0}
.emr-login-card .sub{text-align:center;color:var(--mut);font-size:12px;margin:2px 0 22px}
.emr-field{display:block;margin-bottom:14px}
.emr-field span{display:block;font-size:11px;color:var(--mut);margin-bottom:6px}
.emr-field input{
  width:100%;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#fff;
  border-radius:11px;padding:11px 13px;font-size:13px;outline:none;transition:.2s;font-family:var(--sans)
}
.emr-field input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(34,211,238,.15)}
.emr-btn{
  width:100%;border:none;cursor:pointer;border-radius:11px;padding:12px;font-size:13px;font-weight:700;
  background:linear-gradient(135deg,#0ea5b7,#22d3ee);color:#04121a;letter-spacing:.03em;transition:.2s;font-family:var(--sans)
}
.emr-btn:hover{filter:brightness(1.1)}
.emr-flash{border-radius:10px;padding:10px 13px;font-size:12px;margin-bottom:14px}
.emr-flash.ok{background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.3);color:var(--ok)}
.emr-flash.err{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.3);color:#fca5a5}
.emr-home{min-height:100vh;position:relative;overflow:hidden}
.emr-home .hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}
.emr-home .hero-in{width:100%;max-width:760px;text-align:center;position:relative;z-index:2}
.emr-home h2{font-size:clamp(24px,4.5vw,40px);margin:16px 0 6px;letter-spacing:.02em}
.emr-home .lede{color:var(--mut);font-size:14px;margin:0 0 28px}
.emr-search{display:flex;gap:8px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:16px;padding:8px;backdrop-filter:blur(18px)}
.emr-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:15px;padding:10px 14px;font-family:var(--sans)}
.emr-search button{border:none;cursor:pointer;border-radius:11px;padding:0 22px;font-size:13px;font-weight:700;
  background:linear-gradient(135deg,#0ea5b7,#22d3ee);color:#04121a;font-family:var(--sans)}
.emr-home .quick{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:26px}
.emr-home .quick a{font-size:11px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:var(--mut);transition:.2s}
.emr-home .quick a:hover{color:#fff;border-color:rgba(255,255,255,.25)}
.emr-home-foot{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:10px;color:var(--mut2);font-family:var(--mono);z-index:2}

@keyframes fy{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pl{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:980px){
  .emr-body{flex-direction:column;height:auto}
  .emr-left{width:100%;max-width:none;border-right:none;border-bottom:1px solid var(--line)}
  .emr-stage{min-height:240px}
  .emr-pbar{display:none}
}
