/* prrp_admin 1.15.24 – Loggar/Vapenlogg/Ledningslogg i audit-stil (web/loggvy.js, mgterm.js) + Refunds (web/refunds.js).
   Bygger på mango.css (.mg-*) och audit.css (.au-*). */

/* ── Gemensam loggvy ─────────────────────────────────────────────────────────────────────────────── */
.au-tools.one { grid-template-columns: 1fr; }
.au-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.au-opts .lv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.lv-seg { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--mg-line); border-radius: 8px; background: #111214; }
.lv-seg > button { height: 26px; padding: 0 10px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--mg-text2); font-size: 12px; font-weight: 500; }
.lv-seg > button:hover { color: var(--mg-text); }
.mg-sel { height: 30px; padding: 0 28px 0 10px; border: 1px solid var(--mg-line); border-radius: 7px; background: #111214; color: var(--mg-text); font-size: 12.5px; min-width: 0; }
.mg-sel:focus { outline: none; border-color: rgba(34, 197, 94, .55); }
.lv-live { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border: 1px solid var(--mg-line); border-radius: 7px; background: #111214; color: var(--mg-text2); font-size: 12px; cursor: pointer; user-select: none; }
.lv-live input { accent-color: var(--mg-green); margin: 0; }
.mg-btn.on { border-color: rgba(34, 197, 94, .45); color: var(--mg-text); }
.lv-more { flex-basis: 100%; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px 10px; padding: 10px; border: 1px solid var(--mg-line); border-radius: var(--mg-r); background: var(--mg-card); }
.lv-more.hidden { display: none; }
.lv-more .in { height: 30px; background: #111214; border-color: var(--mg-line); }
.lv-moreb { display: flex; align-items: flex-end; gap: 6px; }

/* terminalens innehåll: raderna + sidbytet i botten */
.lv-rows { min-width: 0; }
/* sidor med sidbyte: raderna rullar, sidbytet ligger fast under dem */
.au-term .mg-term-b.lv-paged { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.mg-term-b.lv-paged > .lv-rows { flex: 1; min-height: 0; overflow: auto; padding: 4px 0; }
.mg-term-b.lv-paged > .pager { flex: none; }
.au-term .mg-line { position: relative; }
.au-term .mg-line.sel { background: rgba(34, 197, 94, .08); box-shadow: inset 2px 0 0 var(--mg-green); }
.au-term .mg-line.new { animation: lvnew 1.6s ease-out; }
@keyframes lvnew { from { background: rgba(34, 197, 94, .16); } to { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .au-term .mg-line.new { animation: none; } }
.au-term .mg-line.dim .au-msg { color: var(--mg-text2); }
.au-term .mg-line.unx .au-msg { color: #ffc56b; }
.au-term .mg-line.held .au-msg { color: #ffd88a; }
.au-term .mg-line:focus-visible { outline: 1px solid rgba(34, 197, 94, .6); outline-offset: -1px; }
.mg-day { position: sticky; top: 0; z-index: 1; padding: 6px 12px 3px; font-family: var(--mg-ui, inherit); font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mg-muted); background: #0b0c0e; }
.lv-copy { flex: none; opacity: 0; width: 22px; height: 18px; border: 0; border-radius: 4px; background: transparent; color: var(--mg-muted); font-size: 11px; }
.mg-line:hover .lv-copy, .lv-copy:focus-visible { opacity: 1; }
.lv-copy:hover { color: var(--mg-text); background: rgba(255, 255, 255, .06); }
.lv-org { flex: none; color: var(--mg-muted); font-size: 10.5px; }
.lv-ser { flex: none; display: inline-flex; align-items: center; gap: 4px; height: 18px; padding: 0 6px; border: 1px solid rgba(91, 141, 239, .35); border-radius: 4px; background: rgba(91, 141, 239, .08); color: var(--mg-blue); font-family: var(--mg-mono); font-size: 10.5px; }
.lv-ser:hover { background: rgba(91, 141, 239, .16); }
.au-msg .itemlink { padding: 0; border: 0; background: none; color: #f2c94c; font: inherit; text-decoration: underline dotted; text-underline-offset: 2px; cursor: pointer; }
.au-msg .itemlink:hover { color: #ffe08a; }
.lv-filt { display: flex; align-items: center; gap: 8px; padding: 6px 12px; color: var(--mg-text2); font-family: var(--mg-ui, inherit); font-size: 12px; border-bottom: 1px solid var(--mg-line); }
.au-term .pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 12px; border-top: 1px solid var(--mg-line); background: #0d0e10; font-family: var(--mg-ui, inherit); font-size: 12px; color: var(--mg-text2); }
.au-term .pager .pgb { display: flex; gap: 6px; }
.au-term .sstate, .au-term .empty { margin: auto; }

/* sammanställningar (Per personal / Mottagare) i terminalen */
.lv-sum { font-family: var(--mg-ui, inherit); font-size: 12.5px; }
.lv-sumh, .lv-sumr { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) 70px 120px; gap: 10px; align-items: center; padding: 6px 12px; }
.lv-sumh { color: var(--mg-muted); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--mg-line); }
.lv-sumr { border-bottom: 1px solid rgba(255, 255, 255, .04); }
.lv-sumr:hover { background: rgba(255, 255, 255, .03); }
.lv-sumr .nm { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--mg-text); }
.lv-sumr .pos { color: var(--mg-green2); } .lv-sumr .neg { color: #ff7a7a; }
.lv-sumr .mg-btn { justify-self: end; }

@media (max-width: 900px) {
  .lv-sumh, .lv-sumr { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); }
  .lv-sumh > :nth-child(n+4), .lv-sumr > :nth-child(4) { display: none; }
  .lv-sumr .mg-btn { grid-column: 1 / -1; justify-self: start; }
}

/* ── Startsidan: korten trycks inte ihop när sidopanelen är öppen ─────────────────────────────────── */
.hgrid3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.hgrid3 > * { min-width: 0; }
.hgrid3 > :last-child { grid-column: auto; }
.evlist, .ev, .ev .et { min-width: 0; }
.ev .et b, .ev .et span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: normal; overflow-wrap: normal; }

/* ── Refunds ─────────────────────────────────────────────────────────────────────────────────────── */
.rf { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.rf-top { display: flex; flex-direction: column; gap: 12px; padding: 12px 14px 0; }
.rf-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.rf-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rf-bar .hidden { display: none; }
.rf-tabs em.rf-n { margin-left: 6px; font-style: normal; font-size: 10.5px; font-weight: 700; padding: 0 6px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: var(--mg-text2); }
.rf-tabs > button.on em.rf-n { background: rgba(34, 197, 94, .18); color: var(--mg-green2); }
.rf-q { flex: 1; min-width: 220px; margin-left: auto; max-width: 420px; }
.rf-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 12px; padding: 12px 14px 14px; }
.rf-list { min-height: 0; overflow: auto; border: 1px solid var(--mg-line); border-radius: var(--mg-r); background: #111214; display: flex; flex-direction: column; }
.rf-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--mg-line); background: transparent; color: var(--mg-text); text-align: left; cursor: pointer; }
.rf-row:hover { background: rgba(255, 255, 255, .03); }
.rf-row.on { background: rgba(34, 197, 94, .07); box-shadow: inset 2px 0 0 var(--mg-green); }
.rf-row:focus-visible { outline: 1px solid rgba(34, 197, 94, .6); outline-offset: -1px; }
.rf-ic { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; background: rgba(91, 141, 239, .12); color: var(--mg-blue); font-size: 13px; }
.rf-ic.warn { background: rgba(245, 184, 61, .12); color: var(--mg-amber); }
.rf-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rf-name { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rf-name b { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-main small { font-size: 11.5px; color: var(--mg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.rf-side b { font-size: 12.5px; font-variant-numeric: tabular-nums; }
.rf-side small { font-size: 11px; color: var(--mg-muted); white-space: nowrap; }
.rf-detail { min-height: 0; overflow: auto; border: 1px solid var(--mg-line); border-radius: var(--mg-r); background: var(--mg-card); }
.rf-pd { display: flex; flex-direction: column; }
.rf-dh { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 14px; border-bottom: 1px solid var(--mg-line); }
.rf-dh h4 { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.rf-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.rf-id { color: var(--mg-muted); font-size: 11.5px; }
.rf-kv { border-bottom: 1px solid var(--mg-line); }
.rf-kv > div > b { white-space: normal; }
.rf-sec { padding: 12px 14px; border-bottom: 1px solid var(--mg-line); }
.rf-sec > .mg-section { padding: 0 0 8px; }
.rf-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rf-item { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 9px 10px; border: 1px solid var(--mg-line); border-radius: 8px; background: #111214; min-width: 0; }
.rf-item b { font-size: 12.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 34px; }
.rf-item small { font-size: 10.5px; color: var(--mg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rf-item .rf-cnt { position: absolute; top: 8px; right: 8px; font-size: 11.5px; font-weight: 700; color: var(--mg-green2); font-variant-numeric: tabular-nums; }
.rf-item.more { border-style: dashed; }
.rf-act { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px 14px; }
.rf-act > .mg-section { padding: 0; }
.rf-act textarea, .rf-act input { width: 100%; background: #111214; border: 1px solid var(--mg-line); border-radius: 7px; color: var(--mg-text); }
.rf-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.rf-btns .mg-btn { height: 34px; padding: 0 14px; }
.rf-note { display: flex; align-items: flex-start; gap: 8px; margin: 0 14px 14px; padding: 9px 11px; border-radius: 8px; background: rgba(91, 141, 239, .08); border: 1px solid rgba(91, 141, 239, .22); color: var(--mg-text2); font-size: 12px; }
.rf-act .rf-note { margin: 0; }
.rf-note i { color: var(--mg-blue); margin-top: 2px; }
.rf-pick { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; height: 100%; min-height: 200px; text-align: center; color: var(--mg-muted); }
.rf-pick i { font-size: 22px; opacity: .6; }
.rf-pick b { color: var(--mg-text2); font-size: 13px; }
.rf-pick span { font-size: 12px; max-width: 34ch; }
.rf .msg, .rf .result { margin: 0 14px 12px; }
@media (max-width: 1000px) { .rf-body { grid-template-columns: 1fr; } .rf-list { max-height: 320px; } .rf-q { max-width: none; margin-left: 0; } }
