/* PHARMA Holdings plc — Investor Relations Terminal. Loud brand, Bloomberg bones.
   One dark slab, hairline grid, cream Rx header strip, red-pen corrections, Marjorie footnotes. */
.irt{--slab:#060d1c;--hair:rgba(117,154,199,.22);--cream:#f3efe4;position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 100px rgba(0,0,0,.45);background:var(--slab);transition:box-shadow .4s}
.irt.codeblue{box-shadow:0 0 0 3px var(--red),0 0 90px rgba(255,59,88,.55);animation:cb 1s steps(2) 4}
@keyframes cb{50%{box-shadow:0 0 0 3px #fff,0 0 90px rgba(255,59,88,.8)}}
/* cream header strip */
.irt-head{display:flex;align-items:center;gap:18px;padding:12px 18px;background:var(--cream);color:#1d1a15;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:3px solid #1d1a15}
.irt-head b{font-family:var(--sans);font-weight:1000;letter-spacing:-.03em;font-size:1rem;text-transform:none}
.irt-head .sess{display:inline-flex;align-items:center;gap:8px}
.irt-head .sess i{width:8px;height:8px;border-radius:50%;background:#1d7a52;box-shadow:0 0 10px #1d7a52;animation:pulse 1.6s infinite}
.irt-head .sess.slow i{background:#a86500;box-shadow:none;animation:none}
.irt-head .sess.off i{background:#c4122f;box-shadow:none;animation:none}
.irt-head .clock{margin-left:auto;font-variant-numeric:tabular-nums}
.irt-head .mkt{color:#6b5f4f}
/* grid */
.irt-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--hair)}
.pnl{background:var(--slab);padding:16px 18px 14px;position:relative;min-width:0;display:flex;flex-direction:column}
.pnl-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.pnl-t{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.pnl-t s{text-decoration-color:var(--red);text-decoration-thickness:1.5px;opacity:.7}
.pnl-t em{font-family:Caveat,cursive;font-style:normal;font-size:1.05rem;letter-spacing:0;text-transform:none;color:#ff6b80;margin-left:6px}
.pnl-t sup{color:var(--amber);font-family:var(--mono);font-size:.6rem;margin-left:3px}
.src{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;color:var(--dim);text-transform:uppercase;white-space:nowrap}
.src.stale{color:var(--amber)}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-8{grid-column:span 8}
/* A: price */
.odo{font-family:var(--sans);font-weight:1000;letter-spacing:-.05em;font-size:clamp(1.8rem,2.85vw,2.85rem);line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px;margin-top:4px}
.odo .d{display:inline-block;position:relative;transition:color .3s}
.odo .d.up{color:var(--cyan);text-shadow:0 0 30px rgba(85,216,255,.5)}.odo .d.dn{color:var(--red);text-shadow:0 0 30px rgba(255,59,88,.5)}
.odo small{font-size:.4em;color:var(--muted);font-weight:800;letter-spacing:0}
.chg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.chg div{border:1px solid var(--hair);border-radius:8px;padding:6px 8px;font-family:var(--mono);font-size:.7rem}
.chg span{display:block;font-size:.55rem;letter-spacing:.14em;color:var(--dim)}
.chg b{font-weight:600}.chg b.up{color:var(--cyan)}.chg b.dn{color:var(--red)}
.mcap-line{margin-top:12px;font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.mcap-line b{color:var(--ink);font-size:1.15rem;font-weight:800}
/* B: EKG */
.ekg-wrap{position:relative;flex:1;min-height:230px}
.ekg-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.ekg-tabs{position:absolute;left:10px;top:6px;display:flex;gap:4px;z-index:2}
.ekg-tabs button{border:1px solid var(--hair);background:rgba(6,13,28,.8);color:var(--muted);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;padding:4px 8px;border-radius:6px;cursor:pointer}
.ekg-tabs button.on{color:var(--ink);border-color:var(--cyan)}
.ekg-note{position:absolute;left:10px;bottom:6px;font-family:Caveat,cursive;font-size:1rem;color:#ff6b80;z-index:2;pointer-events:none}
/* C: now serving (compact) */
.ns{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.ns-num{display:flex;gap:3px;font-family:var(--mono);font-weight:700;font-size:2.2rem;color:#ffcf6b;text-shadow:0 0 20px rgba(255,190,80,.4)}
.ns-num .ch{display:inline-block;min-width:.66em;text-align:center;background:linear-gradient(#141b29 50%,#0f1520 50%);border-radius:5px;padding:2px 3px}
.ns-who b{display:block;font-family:var(--mono);font-size:.8rem}
.ns-who i{display:block;color:var(--cyan);font-size:.9rem}
.ns-who span{display:block;font-family:var(--mono);font-size:.68rem;color:var(--muted);margin-top:4px}
.ns-log{margin-top:12px;border-top:1px solid var(--hair)}
.ns-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto 52px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(117,154,199,.08);font-family:var(--mono);font-size:.66rem;color:var(--muted);text-decoration:none}
.ns-row b{color:#ffcf6b;font-weight:700}.ns-row.s b{color:#ff8a9b}
.ns-row i{font-style:normal;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ns-row i small{color:var(--muted);font-style:italic;font-family:var(--sans)}
.ns-row .amt{color:var(--cyan);white-space:nowrap}.ns-row.s .amt{color:#ff8a9b}
.ns-row em{font-style:normal;color:var(--dim);text-align:right}
.ns-row.b{opacity:.4}
.ns-row.fresh{animation:nsin .9s var(--ease)}
@keyframes nsin{from{opacity:0;transform:translateX(-10px);background:rgba(85,216,255,.12)}}
.ns-stats{margin-top:8px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.ns-empty{font-family:var(--mono);font-size:.72rem;color:var(--muted);padding:14px 0}
/* D: admissions vs discharges */
.adm{display:grid;gap:10px;margin-top:4px}
.adm-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;font-family:var(--mono);font-size:.64rem;color:var(--muted)}
.adm-bar{height:14px;border-radius:4px;overflow:hidden;display:flex;background:rgba(117,154,199,.1)}
.adm-bar i{display:block;height:100%;transition:width .9s var(--ease)}
.adm-bar .bb{background:linear-gradient(90deg,#15a7ff,#55d8ff)}.adm-bar .ss{background:linear-gradient(90deg,#ff3b58,#ff8a9b)}
.adm-n{display:flex;justify-content:space-between;font-size:.6rem;margin-top:2px}
.adm-ratio{margin-top:10px;font-family:var(--mono);font-size:.76rem;color:var(--ink)}
.adm-ratio b{color:var(--cyan);font-size:1.1rem}
/* E: roster */
.big-n{font-family:var(--sans);font-weight:1000;letter-spacing:-.05em;font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums;margin-top:4px}
.dist-bar{display:flex;height:14px;border-radius:4px;overflow:hidden;margin-top:14px;background:rgba(117,154,199,.1)}
.dist-bar i{display:block;height:100%}
.dist-k{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:8px;font-family:var(--mono);font-size:.6rem;color:var(--muted)}
.dist-k i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:-1px}
/* F: bottle */
.bottle{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;margin-top:4px}
.bottle svg{width:64px;height:110px}
.bottle .liq{transition:height 1.2s var(--ease),y 1.2s var(--ease)}
.bottle-n{font-family:var(--sans);font-weight:1000;font-size:1.7rem;letter-spacing:-.04em;line-height:1}
.bottle-n small{display:block;font-family:var(--mono);font-size:.62rem;font-weight:400;color:var(--muted);letter-spacing:.08em;margin-top:4px}
/* G: fines */
.fine-n{font-family:var(--sans);font-weight:1000;font-size:2.2rem;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.fine-n small{font-size:.45em;color:var(--muted);font-weight:800}
.fine-bar{height:6px;border-radius:6px;background:rgba(117,154,199,.12);margin:12px 0 8px;overflow:hidden}
.fine-bar i{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,var(--blue),var(--red));transition:width 1.2s var(--ease)}
.fine-ticker{font-family:var(--mono);font-size:.66rem;color:var(--muted);height:1.4em;overflow:hidden;position:relative}
.fine-ticker span{display:block;animation:ftk 10s linear infinite}
@keyframes ftk{0%,18%{transform:translateY(0)}20%,38%{transform:translateY(-100%)}40%,58%{transform:translateY(-200%)}60%,78%{transform:translateY(-300%)}80%,98%{transform:translateY(-400%)}100%{transform:translateY(-500%)}}
/* H: the ward */
.ward{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px}
.ward div{border:1px solid var(--hair);border-radius:10px;padding:10px 12px}
.ward b{display:block;font-family:var(--sans);font-weight:1000;font-size:1.4rem;letter-spacing:-.04em;line-height:1.05}
.ward b.gold{color:#ffcf6b}
.ward span{display:block;font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;color:var(--dim);text-transform:uppercase;margin-top:6px}
.ward small{display:block;font-family:var(--mono);font-size:.62rem;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-log{margin-top:12px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}
.cb-log b{color:var(--red)}
/* footnotes */
.irt-foot{padding:14px 18px 16px;border-top:1px solid var(--hair);font-family:Caveat,cursive;font-size:1.05rem;color:#ff8a9b;line-height:1.35;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px}
.irt-foot a{color:#ffb5c0}
.irt-foot .sig{grid-column:1/-1;text-align:right;color:var(--muted);font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;margin-top:6px}
.irt-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 18px 16px}
/* phone mini bar */
.irt-mini{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:none;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:rgba(6,13,28,.92);border:1px solid var(--line2);backdrop-filter:blur(8px);font-family:var(--mono);font-size:.68rem;color:var(--muted);transform:translateY(120%);transition:transform .35s var(--ease)}
.irt-mini.on{transform:none}
.irt-mini b{color:var(--ink);font-family:var(--sans);font-weight:1000;font-size:.95rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.irt-mini .up{color:var(--cyan)}.irt-mini .dn{color:var(--red)}
.irt-mini a{margin-left:auto;color:var(--cyan);text-decoration:none;font-weight:600;letter-spacing:.1em;font-size:.58rem}
@media (max-width:980px){.irt-mini{display:flex;white-space:nowrap;overflow:hidden}}
@media (max-width:480px){.irt-mini #miniT{display:none}.irt-mini>span:first-child{display:none}}
/* phone */
@media (max-width:980px){
  .irt-grid{grid-template-columns:1fr}
  .span-3,.span-4,.span-5,.span-6,.span-8{grid-column:span 1}
  .pnl{order:5}.pnl.pA{order:1}.pnl.pB{order:2}.pnl.pC{order:3}.pnl.pD{order:4}.pnl.pE{order:5}.pnl.pH{order:6}.pnl.pF{order:7}.pnl.pG{order:8}
  .ekg-wrap{min-height:190px}
  .ward{grid-template-columns:1fr 1fr}
  .irt-foot{grid-template-columns:1fr}
  .irt-head{flex-wrap:wrap;gap:8px 14px;font-size:.6rem}.irt-head .clock{margin-left:0}
  .ns{grid-template-columns:1fr}
}
@media (max-width:560px){
  .irt-head{font-size:.62rem;padding:12px 14px}.irt-head b{width:100%}.irt-head .mkt{flex-basis:100%;order:9;letter-spacing:.04em;text-transform:none;line-height:1.4}
  .pnl{padding:16px 14px}.pnl-h{flex-wrap:wrap;gap:4px 10px}.pnl-t{font-size:.66rem}.src{font-size:.6rem}
  .odo{font-size:2.6rem}.chg span,.ward span,.adm-row,.dist-k,.adm-n{font-size:.66rem}.ward small,.cb-log{font-size:.7rem}
  .ekg-wrap{min-height:210px}.ekg-note{font-size:.95rem}.irt-foot{font-size:1rem;padding:14px}
  .irt-actions{padding:0 14px 16px}.irt-actions .btn{flex:1 1 100%;justify-content:center}
}
@media (max-width:560px){.ns-row{grid-template-columns:48px minmax(0,1fr) 46px}.ns-row b{grid-area:1/1}.ns-row i{grid-area:1/2}.ns-row em{grid-area:1/3}.ns-row .amt{grid-area:2/2/3/4;text-align:left}.chg{grid-template-columns:repeat(2,1fr)}}
