/* IVENA eHealth Versorgungsnachweis (shared: hospital monitor + ivena.bayernrp.de) */
.ivena-board { font-family: Tahoma, Verdana, "Segoe UI", sans-serif; background: #e9f2f8; color: #12233a; height: 100%; display: flex; flex-direction: column; font-size: 12px; }
.iv-head { display: flex; align-items: center; gap: 10px; background: linear-gradient(#ffd21a, #f0b400); color: #3a2a00; font-weight: 700; font-size: 17px; padding: 6px 12px; border-bottom: 2px solid #b98a00; }
.iv-clock { margin-left: auto; font-size: 13px; font-weight: 400; }
.iv-logo { display: inline-flex; align-items: flex-end; gap: 2px; width: 26px; height: 22px; background: #fff; border-radius: 4px; padding: 3px; box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.iv-logo i { flex: 1; display: block; } .iv-logo i:nth-child(1) { height: 40%; background: #e2231a; } .iv-logo i:nth-child(2) { height: 70%; background: #f4b400; } .iv-logo i:nth-child(3) { height: 100%; background: #2fa84f; }
.iv-tabs { display: flex; gap: 2px; padding: 4px 8px 0; background: #cfe0ec; }
.iv-tab { padding: 4px 12px; background: #b8cfe0; border-radius: 4px 4px 0 0; cursor: pointer; }
.iv-tab.sel { background: #e9f2f8; font-weight: 700; }
.iv-kap { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 6px 10px; border-bottom: 1px solid #b5cadb; }
.iv-kap-h { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.iv-kap-h b { margin-right: 4px; } .iv-kap-h .tel { color: #4c6278; margin-right: 6px; font-size: 11px; }
.kap { padding: 2px 7px; border-radius: 3px; font-size: 11px; border: 1px solid rgba(0,0,0,.15); }
.kap.frei { background: #39b54a; color: #fff; } .kap.eingeschraenkt { background: #f7c600; color: #332a00; } .kap.abgemeldet { background: #d7262e; color: #fff; }
.kap.keine { background: #d5dde3; color: #8c9aa6; text-decoration: line-through; }
.kap.edit { cursor: pointer; } .kap.edit:hover { outline: 2px solid #1f5fa8; }
.iv-manv { background: #ffe1e1; border-bottom: 1px solid #e3a3a3; padding: 5px 10px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.iv-manv-frei { margin-left: auto; } .iv-manv-frei i { font-style: normal; display: inline-block; min-width: 18px; text-align: center; color: #fff; margin-left: 2px; border-radius: 2px; }
.iv-manv-frei i.rot { background: #d7262e; } .iv-manv-frei i.gelb { background: #e2b100; } .iv-manv-frei i.gruen { background: #39b54a; }
.iv-table-wrap { flex: 1; overflow: auto; }
.iv-table { width: 100%; border-collapse: collapse; }
.iv-table th { position: sticky; top: 0; background: #f6d65b; font-size: 11px; font-weight: 700; padding: 4px; border: 1px solid #d0ad2d; text-align: center; z-index: 1; }
.iv-table td { background: #d7ebf8; border: 1px solid #fff; padding: 4px 5px; text-align: center; vertical-align: middle; font-size: 12px; }
.iv-table tr:nth-child(odd) td { background: #c9e2f3; }
.iv-table td.kh { background: #efe7b9 !important; text-align: left; font-weight: 700; } .iv-table td.kh small { display: block; font-weight: 400; font-size: 10px; color: #6b5f2a; }
.iv-table td.fach { background: #bfe9cf !important; font-size: 11px; } .iv-table td.fach b { font-size: 12px; }
.iv-table td.time b { font-size: 14px; } .iv-table td.sk { font-weight: 700; }
.iv-table td.anlass { font-weight: 700; font-size: 11px; } .iv-table td.tm small, .iv-table td.tel { font-size: 10px; }
.iv-table .plus { color: #b4161d; }
.iv-table tr.arrived td { font-weight: 700; } .iv-table tr.arrived td.time { color: #1f5fa8; }
.iv-table tr.done td { opacity: .45; }
.iv-table tr.manv td.kh { box-shadow: inset 4px 0 0 #d7262e; }
.iv-table td.empty { padding: 30px; color: #557; }
.iv-table td.act button, .iv-manv button { font: inherit; font-size: 11px; padding: 3px 6px; cursor: pointer; border: 1px solid #1f5fa8; background: #fff; color: #1f5fa8; border-radius: 3px; }
.iv-st { font-size: 10px; color: #4c6278; }
.dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(0,0,0,.25); margin: 0 1px; }
.dot.rot { background: #e2231a; } .dot.gelb { background: #f4c400; } .dot.gruen { background: #2fa84f; } .dot.off { background: #dfe9f0; }
/* Behandlungsdringlichkeit: both lights blink alternately left / right, like the real IVENA board */
@keyframes ivAmpel { 0%, 49.9% { opacity: 1; } 50%, 100% { background: #dfe9f0; } }
.iv-table td.sk .dot.a { animation: ivAmpel 1.2s infinite; }
.iv-table td.sk .dot.b { animation: ivAmpel 1.2s infinite; animation-delay: -0.6s; }
.iv-table tr.done td.sk .dot { animation: none; }
.iv-table tr.done td.sk .dot.b { background: #dfe9f0; }
/* arrival time passed: the row turns grey, the lights stop */
.iv-table tr.past td, .iv-table tr.past td.fach, .iv-table tr.past td.kh { background: #e3e6e9 !important; color: #8d959c; }
.iv-table tr.past td .plus, .iv-table tr.past td.kh small { color: #8d959c; }
.iv-table tr.past td.sk .dot { animation: none; background: #c4cacf; }
.iv-table tr.past td.act button { color: #8d959c; border-color: #aab2b9; }
