/* Bedside features: limits, working, syringe label, emergency sheet, what's new, menus. */

/* ---------- topbar actions ---------- */
.top-actions{display:flex;align-items:center;gap:4px;flex:none}
.top-btn{position:relative;height:40px;border-radius:12px;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--ink);font-weight:600;font-size:13.5px}
.top-btn:hover{background:var(--surface-2)}
.top-btn[data-act="emergency"]{color:var(--crit);border:1px solid var(--line)}
.top-btn[data-act="emergency"]:hover{border-color:var(--crit);background:var(--crit-soft)}
.icon-btn.top-btn{width:40px;padding:0;justify-content:center}
.badge-dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--crit);border:1.5px solid var(--surface)}

/* ---------- sidebar search row, tabs and menus ---------- */
.search-row{display:flex;gap:6px;align-items:center}
.search-row .search{flex:1;min-width:0}
.filter-btn{position:relative;border:1px solid var(--line);background:var(--surface);flex:none}
.filter-btn:hover{border-color:var(--brand)}
.menu{position:fixed;inset:auto;margin:0;padding:6px;min-width:212px;max-width:calc(100vw - 24px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:60}
.menu:not([data-open]){display:none}
.menu-label{display:block;padding:6px 10px 4px}
.menu-item{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:10px;font-size:14px;font-weight:500}
.menu-item:hover{background:var(--surface-2)}
.menu-item[aria-pressed="true"]{color:var(--brand-text);font-weight:600}
.menu-item[aria-pressed="true"]::after{content:"✓";font-size:13px}
.cat-count{color:var(--faint);font-weight:500}

/* ---------- dose limits ---------- */
.limit-box{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.limit-box .btn{align-self:flex-start}
.limit-source{font-size:12.5px;color:var(--muted)}
.limit-source summary{cursor:pointer;font-weight:600;color:var(--brand-text);list-style:none}
.limit-source summary::-webkit-details-marker{display:none}
.limit-source p{margin:6px 0 0;overflow-wrap:anywhere}
.notice{align-items:flex-start;justify-content:space-between}
.notice p{margin:0}
.notice .text-btn{height:auto;padding:0 6px;color:inherit;font-size:12.5px;flex:none}

/* ---------- show the working ---------- */
.working summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
.working summary::-webkit-details-marker{display:none}
.working summary .link::after{content:" ›"}
.work-steps{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.work-step{display:flex;flex-direction:column;gap:1px}
.work-step .k{font-size:11.5px;color:var(--muted)}
.work-step .v{font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}
.work-step .v b{color:var(--brand-text);font-weight:600}

/* ---------- readout extras ---------- */
.ro-alert{margin-top:12px;padding:8px 10px;border-radius:10px;background:rgba(255,144,150,.14);color:var(--lcd-crit);font-size:12.5px;font-weight:600}
.ro-btns{display:flex;gap:8px;flex-wrap:wrap}
.readout .btn.ghost{background:rgba(255,255,255,.08);color:var(--lcd-ink);border:1px solid var(--lcd-line)}

/* ---------- syringe label ---------- */
.label-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-family:var(--mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.label-card b{font-size:14px}
.print-area{display:none}

/* ---------- emergency sheet ---------- */
.emergency[open]{animation:none}
.em-list{display:flex;flex-direction:column;gap:10px}
.em-row{display:grid;grid-template-columns:minmax(160px,1.1fr) repeat(3,minmax(0,1fr));gap:10px 16px;align-items:start;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.em-row:hover{border-color:var(--brand)}
.em-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.em-name b{font-size:18px;letter-spacing:-.01em}
.em-name span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.em-cell{display:flex;flex-direction:column;gap:2px;min-width:0}
.em-cell .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.em-cell .v{font-family:var(--mono);font-size:19px;font-weight:500;overflow-wrap:anywhere}
.em-cell .v.big{font-size:22px}
.em-flag{font-size:12px;color:var(--warn);font-weight:600}
.em-note{grid-column:1/-1;font-size:12.5px;color:var(--muted)}

/* ---------- what's new ---------- */
.wn-group{display:flex;flex-direction:column;gap:8px}
.wn-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:11px 14px;display:flex;flex-direction:column;gap:3px}
.wn-item b{font-size:14.5px}
.wn-item span{font-size:12.5px;color:var(--muted)}
.wn-safety{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--crit);background:var(--crit-soft);border-radius:6px;padding:2px 7px}

@media (max-width:1023.98px){
  .top-label{display:none}
  .top-btn[data-act="emergency"]{width:40px;padding:0;justify-content:center}
  .em-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .em-name{grid-column:1/-1}
}
@media (max-width:480px){
  .brand b{display:none}
}
