/* prrp_admin 1.15.0 – Supportcenter. Mörk, lugn och lättläst panel med en blå accent och separata statusfärger.
   Heldragna färger (ingen genomskinlighet), inga blur-filter, inga ständiga animationer. Färg förmedlar aldrig status ensam: alltid text + symbol.
   Måttskala: 8 / 12 / 16 / 24 px. Huvudtext 16 px, sekundär 14 px, sidrubrik 24 px, huvudknappar 40–44 px.
   Paletten gäller hela panelen så att Supportcenter och övriga flikar ser ut som en helhet. */

:root {
  --bg: #101318; --side: #151A21; --panel: #1C222C; --panel2: #252E3A; --panel3: #2D3846;
  --input: #151A21; --solid: #151A21; --solid2: #1C222C; --hud: #151A21;
  --line: #303A48; --line2: #3A4657; --line3: #566379;
  --text: #F3F5F7; --text2: #B3BDCB; --muted: #8E9AAB;
  --accent: #5A9BFF; --accent-hover: #7BB0FF; --accent-ink: #0B1220; --accent-soft: #1B2B45; --accent-line: #3F6FB8;
  --green: #52C48B; --red: #EB7373; --amber: #E9B85C; --blue: #5A9BFF; --purple: #AA91E8;
  --ok: var(--green); --warn: var(--amber); --bad: var(--red); --info: var(--blue);
  --ok-soft: #173126; --warn-soft: #382E17; --bad-soft: #3A1F22; --info-soft: #1B2B45; --purple-soft: #2A2342;
  --card: var(--panel); --card-sh: none;
  --card2: var(--panel2); --content: var(--bg); --frame: var(--side); --row: var(--panel2); --gold: var(--warn); --accent2: var(--accent);
  --bg2: var(--panel); --accent-ink2: var(--accent-ink);
  font-size: 16px;
}
#root { background: rgba(0, 0, 0, .35); }
.shell {
  width: min(90vw, 2400px); height: min(84vh, 1300px);
  background: var(--bg); border: 1px solid var(--line); box-shadow: 0 24px 64px rgba(0, 0, 0, .55);
}
@media (max-width: 1500px) { .shell { width: calc(100vw - 16px); height: calc(100vh - 16px); } }
body.away .shell { opacity: .35; }
.side { background: var(--side); border-right-color: var(--line); }
.brand .logo { filter: none; color: var(--accent); }
.btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: none; font-weight: 600; }
.btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.item.on { box-shadow: inset 3px 0 0 var(--accent); }
.nav.on { box-shadow: inset 3px 0 0 var(--accent); }
::selection { background: #2D5C9E; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ── Layout ─────────────────────────────────────────────────────────────── */
.sc { display: flex; flex: 1; min-height: 0; min-width: 0; background: var(--bg); font-size: 16px; line-height: 1.5; }
.sc * { box-sizing: border-box; }
.sc .col-list { flex: none; width: clamp(300px, 22vw, 340px); border-right: 1px solid var(--line); display: flex; flex-direction: column; min-height: 0; background: var(--bg); }
.sc .col-main { flex: 1; min-width: 0; display: flex; flex-direction: column; min-height: 0; background: var(--bg); }
.sc .col-side { flex: none; width: clamp(260px, 19vw, 300px); border-left: 1px solid var(--line); background: var(--side); display: flex; flex-direction: column; min-height: 0; overflow-y: auto; }
.sc.noside .col-side { display: none; }
@media (max-width: 1500px) {
  .sc .col-list { width: 280px; }
  .sc .col-side { position: absolute; right: 0; top: 0; bottom: 0; width: 300px; z-index: 5; box-shadow: -8px 0 24px rgba(0,0,0,.4); }
  .sc:not(.side-open) .col-side { display: none; }
  .sc .sidetoggle { display: inline-flex !important; }
}
@media (min-width: 1501px) { .sc .sidetoggle { display: none !important; } }
.sc .sidetoggle { display: none; }

/* ── Lista ──────────────────────────────────────────────────────────────── */
.sc .lhead { flex: none; padding: 16px 16px 8px; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px solid var(--line); }
.sc .lhead h2 { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.2; }
.sc .lhead .lsub { color: var(--text2); font-size: 14px; }
.sc .sbox { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; background: var(--input); border: 1px solid var(--line); border-radius: 8px; color: var(--text2); }
.sc .sbox input { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: 0; color: var(--text); font-size: 16px; }
.sc .sbox:focus-within { border-color: var(--accent); }
.sc .filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sc select.sel, .sc input.in, .sc textarea.in {
  width: 100%; height: 40px; padding: 0 8px; background: var(--input); border: 1px solid var(--line); border-radius: 8px; color: var(--text); font-size: 14px; text-overflow: ellipsis;
}
.sc textarea.in { height: auto; padding: 12px; resize: vertical; line-height: 1.5; }
.sc select.sel:focus, .sc input.in:focus, .sc textarea.in:focus { border-color: var(--accent); outline: 0; }
.sc .lbody { flex: 1; min-height: 0; overflow-y: auto; padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.sc .tk {
  display: flex; flex-direction: column; gap: 4px; text-align: left; width: 100%; padding: 12px; border-radius: 8px; border: 1px solid var(--line);
  background: var(--panel); color: var(--text); cursor: pointer; position: relative;
}
.sc .tk:hover { background: var(--panel2); }
.sc .tk.on { background: var(--panel2); border-color: var(--accent-line); box-shadow: inset 3px 0 0 var(--accent); }
.sc .tk .r1 { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text2); }
.sc .tk .r1 b { color: var(--text); font-weight: 600; }
.sc .tk .ttl { font-size: 16px; font-weight: 600; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.sc .tk .who { font-size: 14px; color: var(--text2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc .tk .pre { font-size: 14px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc .tk .pre.int { color: var(--purple); }
.sc .tk .r3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.sc .tk .when { margin-left: auto; font-size: 13px; color: var(--muted); white-space: nowrap; }
.sc .unread { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--accent); color: var(--accent-ink); font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.sc .tk .unread { position: absolute; right: 12px; top: 12px; }
.sc .callind { color: var(--green); font-size: 13px; display: inline-flex; align-items: center; gap: 4px; }
.sc .more-btn { align-self: center; margin: 8px 0; }

/* ── Etiketter ─────────────────────────────────────────────────────────── */
.sc .tag { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border-radius: 6px; font-size: 13px; font-weight: 600; background: var(--panel3); color: var(--text); border: 1px solid var(--line2); white-space: nowrap; }
.sc .tag.nytt { background: var(--info-soft); color: #A9CBFF; border-color: var(--accent-line); }
.sc .tag.pagar { background: var(--ok-soft); color: #8FE0B5; border-color: #2E6A4C; }
.sc .tag.vantar_spelare { background: var(--warn-soft); color: #F2CF8E; border-color: #7A6128; }
.sc .tag.vantar_personal { background: var(--purple-soft); color: #CDBDF2; border-color: #5E4C93; }
.sc .tag.avslutat { background: var(--panel3); color: var(--text2); }
.sc .tag.lag { color: var(--text2); }
.sc .tag.normal { color: var(--text); }
.sc .tag.hog { background: var(--warn-soft); color: #F2CF8E; border-color: #7A6128; }
.sc .tag.akut { background: var(--bad-soft); color: #FFB3B3; border-color: #8C4247; }
.sc .tag.staff { background: var(--purple-soft); color: #CDBDF2; border-color: #5E4C93; }
.sc .tag.lock { background: var(--warn-soft); color: #F2CF8E; border-color: #7A6128; }
.sc .chip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 13px; background: var(--panel3); color: var(--text2); border: 1px solid var(--line); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.sc .chip.job { color: #A9CBFF; }
.sc .chip.gang { color: #F2CF8E; }
.sc .chip.role { color: #CDBDF2; background: var(--purple-soft); border-color: #5E4C93; }
.sc .chip.off { color: var(--muted); }

/* ── Knappar ───────────────────────────────────────────────────────────── */
.sc .btn { height: 40px; padding: 0 16px; border-radius: 8px; font-size: 15px; font-weight: 500; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
.sc .btn:hover:not(:disabled) { background: var(--panel3); border-color: var(--line3); }
.sc .btn:disabled { opacity: .5; cursor: not-allowed; }
.sc .btn.big { height: 44px; padding: 0 24px; font-size: 16px; }
.sc .btn.small { height: 32px; padding: 0 12px; font-size: 14px; }
.sc .btn.primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.sc .btn.primary:hover:not(:disabled) { background: var(--accent-hover); }
.sc .btn.danger { background: var(--bad-soft); border-color: #8C4247; color: #FFB3B3; }
.sc .btn.danger:hover:not(:disabled) { background: #4A262A; }
.sc .btn.ok { background: var(--ok-soft); border-color: #2E6A4C; color: #8FE0B5; }
.sc .btn.ghost { background: transparent; border-color: transparent; color: var(--text2); }
.sc .btn.ghost:hover:not(:disabled) { background: var(--panel2); color: var(--text); }
.sc .iconbtn { width: 36px; height: 36px; padding: 0; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--text2); display: inline-flex; align-items: center; justify-content: center; }
.sc .iconbtn:hover { background: var(--panel2); color: var(--text); }

/* ── Ärende: huvud ─────────────────────────────────────────────────────── */
.sc .thead { flex: none; padding: 16px 24px 0; border-bottom: 1px solid var(--line); background: var(--bg); }
.sc .thead .trow { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 16px; }
.sc .thead .tt { flex: 1 1 300px; min-width: 0; }
.sc .thead h2 { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; display: block; }
.sc .thead h2 .num { color: var(--text2); font-weight: 500; }
.sc .thead .meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 12px; color: var(--text2); font-size: 14px; }
.sc .thead .acts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; flex: 0 1 auto; }
.sc .titleedit { display: flex; gap: 8px; align-items: center; }
.sc .titleedit input { height: 40px; font-size: 20px; font-weight: 600; flex: 1; }
.sc .ctabs { display: flex; gap: 4px; margin-top: 4px; overflow-x: auto; }
.sc .ctabs button { height: 44px; padding: 0 16px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--text2); font-size: 15px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.sc .ctabs button:hover { color: var(--text); }
.sc .ctabs button.on { color: var(--text); border-bottom-color: var(--accent); }
.sc .ctabs button.int { color: var(--purple); }
.sc .ctabs button.int.on { border-bottom-color: var(--purple); color: #D5C9F5; }
.sc .banner { flex: none; display: flex; align-items: center; gap: 12px; padding: 12px 24px; font-size: 15px; border-bottom: 1px solid var(--line); }
.sc .banner.lock { background: var(--warn-soft); color: #F2CF8E; }
.sc .banner.closed { background: var(--panel); color: var(--text2); }
.sc .banner.int { background: var(--purple-soft); color: #D5C9F5; border-bottom-color: #5E4C93; font-weight: 600; }
.sc .banner.call { background: var(--ok-soft); color: #8FE0B5; }
.sc .banner b { font-weight: 600; }

/* ── Chatt ─────────────────────────────────────────────────────────────── */
.sc .cchat { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative; }
.sc .cchat.int { background: #14111F; box-shadow: inset 4px 0 0 var(--purple); }
.sc .cchat.int .cm:hover { background: #1B1730; }
.sc .msgs { flex: 1; min-height: 0; overflow-y: auto; padding: 16px 24px; display: flex; flex-direction: column; gap: 4px; }
.sc .cm { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 8px; max-width: 100%; }
.sc .cm:hover { background: var(--panel); }
.sc .cm.mine { background: #16202F; }
.sc .cm .mh { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sc .cm .mh b { font-size: 16px; font-weight: 600; }
.sc .cm .mh b.staff { color: #CDBDF2; }
.sc .cm .mh .tm { margin-left: auto; font-size: 13px; color: var(--muted); }
.sc .cm .mb { font-size: 16px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.sc .cm.closing .mb { border-left: 3px solid var(--green); padding-left: 12px; }
.sc .sys { align-self: center; max-width: 90%; text-align: center; font-size: 13.5px; color: var(--muted); padding: 4px 12px; overflow-wrap: anywhere; }
.sc .sys i { margin-right: 6px; }
.sc .sys .tm { margin-left: 8px; opacity: .8; }
.sc .daysep { align-self: center; font-size: 13px; color: var(--muted); margin: 12px 0 4px; display: flex; align-items: center; gap: 12px; width: 100%; }
.sc .daysep::before, .sc .daysep::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.sc .lnk { display: inline; padding: 0; border: 0; background: transparent; color: #8FBFFF; text-decoration: underline; font-size: inherit; cursor: pointer; overflow-wrap: anywhere; text-align: left; }
.sc .older { align-self: center; margin: 8px 0; }
.sc .newmsgs { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); z-index: 3; box-shadow: 0 6px 18px rgba(0,0,0,.45); }

.sc .evc { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--line2); background: var(--panel); border-radius: 8px; max-width: 520px; }
.sc .evc .eh { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--text2); }
.sc .evc .eh b { color: var(--text); }
.sc .evc .eu { font-size: 14px; color: #8FBFFF; overflow-wrap: anywhere; }
.sc .evc .en { font-size: 15px; white-space: pre-wrap; overflow-wrap: anywhere; }
.sc .evc img { max-width: 100%; max-height: 220px; border-radius: 6px; border: 1px solid var(--line); object-fit: contain; background: #0B0E12; }
.sc .evc .ea { display: flex; gap: 8px; flex-wrap: wrap; }
.sc .evc .nopre { font-size: 13px; color: var(--muted); }

/* ── Skrivfält ─────────────────────────────────────────────────────────── */
.sc .composer { flex: none; padding: 12px 24px 16px; border-top: 1px solid var(--line); background: var(--bg); display: flex; flex-direction: column; gap: 8px; }
.sc .composer.int { background: #1A1630; border-top: 2px solid var(--purple); box-shadow: inset 4px 0 0 var(--purple); }
.sc .composer.int textarea.in { border-color: #5E4C93; background: #14111F; }
.sc .composer .who { font-size: 14px; color: var(--text2); display: flex; align-items: center; gap: 8px; }
.sc .composer .who.int { color: #D5C9F5; font-weight: 600; }
.sc .composer .crow { display: flex; gap: 8px; align-items: flex-end; }
.sc .composer textarea { flex: 1; min-height: 44px; max-height: 160px; font-size: 16px; }
.sc .composer .cnt { font-size: 12.5px; color: var(--muted); text-align: right; }
.sc .composer .err { color: #FFB3B3; font-size: 14px; display: flex; gap: 8px; align-items: center; }
.sc .composer .blocked { padding: 12px 16px; border-radius: 8px; background: var(--panel); color: var(--text2); font-size: 15px; display: flex; align-items: center; gap: 12px; }

/* ── Höger panel ───────────────────────────────────────────────────────── */
.sc .sec { padding: 16px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.sc .sec h3 { margin: 0; font-size: 14px; font-weight: 600; color: var(--text2); text-transform: uppercase; letter-spacing: .06em; display: flex; align-items: center; gap: 8px; }
.sc .sec h3 .cnt { margin-left: auto; font-weight: 500; text-transform: none; letter-spacing: 0; }
.sc .pp { display: flex; flex-direction: column; gap: 4px; padding: 8px; border-radius: 8px; background: var(--panel); border: 1px solid var(--line); }
.sc .pp .ph { display: flex; align-items: center; gap: 8px; }
.sc .pp .pn { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; }
.sc .pp .pm { font-size: 13px; color: var(--text2); overflow-wrap: anywhere; }
.sc .pp .pm b { color: var(--text); font-weight: 600; }
.sc .pp .dot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--muted); }
.sc .pp .dot.on { background: var(--green); }
.sc .pp .dot.talk { background: var(--green); box-shadow: 0 0 0 3px rgba(82,196,139,.35); }
.sc .pp .pa { display: flex; gap: 4px; flex-wrap: wrap; }
.sc .skv { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 4px 12px; font-size: 14px; margin: 0; }
.sc .skv dt { color: var(--text2); } .sc .skv dd { margin: 0; overflow-wrap: anywhere; }
.sc .warnbox, .sc-dlg .warnbox { padding: 12px; border-radius: 8px; background: var(--warn-soft); border: 1px solid #7A6128; color: #F2CF8E; font-size: 14px; }
.sc .infobox, .sc-dlg .infobox { padding: 12px; border-radius: 8px; background: var(--info-soft); border: 1px solid var(--accent-line); color: #BCD6FF; font-size: 14px; }
.sc .menu { position: absolute; z-index: 20; min-width: 200px; max-width: min(320px, calc(100% - 16px)); overflow-y: auto; overscroll-behavior: contain; padding: 8px; border-radius: 8px; background: var(--panel); border: 1px solid var(--line2); box-shadow: 0 12px 32px rgba(0,0,0,.5); display: flex; flex-direction: column; gap: 4px; }
.sc .menu button { height: 36px; padding: 0 12px; border: 0; border-radius: 6px; background: transparent; color: var(--text); text-align: left; font-size: 14.5px; display: flex; align-items: center; gap: 8px; }
.sc .menu button:hover { background: var(--panel2); }
.sc .menu button.danger { color: #FFB3B3; }

/* ── Tomma/laddar-tillstånd ────────────────────────────────────────────── */
.sc .sstate { margin: auto; padding: 24px; text-align: center; color: var(--text2); display: flex; flex-direction: column; gap: 12px; align-items: center; max-width: 480px; font-size: 15px; }
.sc .sstate .big { font-size: 40px; color: var(--line3); }
.sc .sstate b { color: var(--text); font-size: 18px; }
.sc .sspin { width: 24px; height: 24px; border-radius: 50%; border: 3px solid var(--line2); border-top-color: var(--accent); animation: scspin 1s linear infinite; }
@keyframes scspin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sc .sspin { animation: none; } }

/* ── Startsidor ────────────────────────────────────────────────────────── */
.sc .welcome { margin: auto; width: min(760px, 100%); padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.sc .welcome h1 { margin: 0; font-size: 28px; font-weight: 600; }
.sc .welcome .lead { color: var(--text2); font-size: 16px; line-height: 1.6; }
.sc .homegrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sc .homebtn { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; text-align: left; padding: 16px; border-radius: 12px; border: 1px solid var(--line2); background: var(--panel); color: var(--text); min-height: 96px; }
.sc .homebtn:hover { background: var(--panel2); border-color: var(--accent-line); }
.sc .homebtn i { font-size: 22px; color: var(--accent); }
.sc .homebtn b { font-size: 17px; font-weight: 600; }
.sc .homebtn span { font-size: 14px; color: var(--text2); }
.sc .ovgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sc .stat { padding: 16px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; text-align: left; color: var(--text); }
.sc button.stat:hover { background: var(--panel2); }
.sc .stat b { font-size: 32px; font-weight: 600; line-height: 1.1; }
.sc .stat span { font-size: 14px; color: var(--text2); }
.sc .ovwrap { flex: 1; min-height: 0; overflow-y: auto; padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.sc .ovlist { display: flex; flex-direction: column; gap: 8px; }
.sc .ovcols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1500px) { .sc .ovgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sc .ovcols { grid-template-columns: 1fr; } }

/* ── Formulär ──────────────────────────────────────────────────────────── */
.sc .sform { flex: 1; min-height: 0; overflow-y: auto; padding: 24px; }
.sc .form { width: min(720px, 100%); margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.sc .form h1 { margin: 0; font-size: 24px; font-weight: 600; }
.sc .form label { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 500; }
.sc .form .shint { font-size: 13.5px; color: var(--text2); font-weight: 400; }
.sc .cats { display: flex; gap: 8px; flex-wrap: wrap; }
.sc .cats button { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel); color: var(--text); font-size: 15px; }
.sc .cats button.on { background: var(--accent-soft); border-color: var(--accent); color: #BCD6FF; font-weight: 600; }

/* ── Dialoger (delar med app.js) ───────────────────────────────────────── */
.sc-dlg .sres { display: flex; flex-direction: column; gap: 8px; max-height: 360px; overflow-y: auto; }
.sc-dlg .ro { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-radius: 8px; background: var(--panel); border: 1px solid var(--line); }
.sc-dlg .ro .rm { flex: 1; min-width: 0; font-size: 14px; color: var(--text2); }
.sc-dlg .ro .rm b { display: block; color: var(--text); font-size: 15px; }

/* ── Samtalsruta och spectate-ruta (visas även när huvudpanelen är stängd) ── */
#callbox, #specbar { position: fixed; z-index: 50; color: var(--text); font-family: 'Poppins', 'Segoe UI', sans-serif; }
#callbox { right: 16px; top: 16px; width: 320px; background: var(--side); border: 1px solid var(--line2); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.5); padding: 12px; display: flex; flex-direction: column; gap: 8px; }
#callbox .ch { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; color: #8FE0B5; }
#callbox .ch i { color: var(--green); }
#callbox .ct { font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#callbox .cl { display: flex; flex-direction: column; gap: 4px; max-height: 170px; overflow-y: auto; }
#callbox .cp { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 4px 8px; border-radius: 6px; background: var(--panel); }
#callbox .cp .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); flex: none; }
#callbox .cp.talk .dot { background: var(--green); box-shadow: 0 0 0 3px rgba(82,196,139,.35); }
#callbox .cp .nm { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#callbox .cp .st { font-size: 12px; color: var(--text2); }
#callbox .cb { display: flex; gap: 8px; }
#callbox .cb button { flex: 1; height: 40px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
#callbox .cb button:hover { background: var(--panel3); }
#callbox .cb button.off { background: var(--bad-soft); border-color: #8C4247; color: #FFB3B3; }
#callbox .cb button.leave { background: var(--bad-soft); border-color: #8C4247; color: #FFB3B3; }
#callbox .shint { font-size: 12px; color: var(--muted); }
#callbox:not(.focus) .cb button { pointer-events: none; opacity: .75; }
#specbar { left: 50%; top: 16px; transform: translateX(-50%); background: var(--side); border: 1px solid var(--purple); border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.5); padding: 12px 16px; display: flex; align-items: center; gap: 16px; max-width: 94vw; }
#specbar .st { display: flex; flex-direction: column; font-size: 14px; color: var(--text2); }
#specbar .st b { color: var(--text); font-size: 16px; font-weight: 600; }
#specbar .st .lab { font-size: 12px; letter-spacing: .06em; color: #CDBDF2; font-weight: 700; }
#specbar button { height: 40px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); font-size: 14.5px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
#specbar button.stop { background: var(--bad-soft); border-color: #8C4247; color: #FFB3B3; }
#specbar:not(.focus) button { pointer-events: none; opacity: .8; }
#specbar .shint { font-size: 12px; color: var(--muted); }

/* ── Navigering i skalet: räknare ──────────────────────────────────────── */
.nav .scn { margin-left: auto; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 11px; background: var(--panel3); color: var(--text); font-size: 12.5px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.nav .scn.hot { background: var(--accent); color: var(--accent-ink); }
.dutyctl { position: relative; }
.dutybtn { height: 40px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--line2); background: var(--panel); color: var(--text); font-size: 14px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.dutybtn:hover { background: var(--panel2); }
.dutybtn .dd { width: 10px; height: 10px; border-radius: 50%; background: var(--green); flex: none; }
.dutybtn.upptagen .dd { background: var(--amber); } .dutybtn.ej .dd { background: var(--muted); }
.dutymenu { position: absolute; right: 0; top: 46px; z-index: 30; width: 280px; padding: 8px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line2); box-shadow: 0 12px 32px rgba(0,0,0,.5); display: flex; flex-direction: column; gap: 4px; }
.dutymenu button { height: 40px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--text); text-align: left; font-size: 15px; display: flex; align-items: center; gap: 12px; }
.dutymenu button:hover, .dutymenu button.on { background: var(--panel2); }
.dutymenu hr { border: 0; border-top: 1px solid var(--line); margin: 4px 0; width: 100%; }
.dutymenu .shint { font-size: 12.5px; color: var(--muted); padding: 4px 12px; }

.sc .thead h2 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sc .thead h2 > * { display: inline; }
.sc .thead h2 .iconbtn { display: inline-flex; vertical-align: middle; }

.sc .namebtn { background: transparent; border: 0; padding: 0; color: var(--text); font-size: 16px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.sc .namebtn:hover { color: #A9CBFF; text-decoration: underline; }
.sc .namebtn i { font-size: 11px; color: var(--muted); }
#killhint { position: fixed; z-index: 50; left: 50%; bottom: 90px; transform: translateX(-50%); width: min(560px, 92vw); background: var(--side); border: 1px solid var(--red); border-radius: 12px; padding: 12px 16px; color: var(--text); font-family: 'Poppins', 'Segoe UI', sans-serif; box-shadow: 0 12px 32px rgba(0,0,0,.5); }
#killhint .kh { display: flex; align-items: center; gap: 12px; }
#killhint .kh i { color: var(--red); font-size: 20px; }
#killhint .kh b { display: block; font-size: 16px; font-weight: 600; }
#killhint .kh span { font-size: 13px; color: var(--text2); }
#killhint .kbar { height: 6px; border-radius: 3px; background: var(--panel3); margin-top: 10px; overflow: hidden; }
#killhint .kbar i { display: block; height: 100%; width: 0; background: var(--red); }
.sc .pp .sdot, .sc .sdot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--muted); display: inline-block; }
.sc .sdot.on, .sc-dlg .sdot.on { background: var(--green); }
.sc-dlg .sdot { width: 10px; height: 10px; border-radius: 50%; flex: none; background: var(--muted); display: inline-block; }

/* ── Vapenlogg ─────────────────────────────────────────────────────────── */
.lootwrap { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 16px; padding: 0 24px 24px; overflow: hidden; }
.lootbar { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.lootbar .sbox { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; background: var(--input); border: 1px solid var(--line); border-radius: 8px; color: var(--text2); flex: 1 1 320px; max-width: 520px; }
.lootbar .sbox input { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: 0; color: var(--text); font-size: 15px; }
.lootbar select.sel { width: auto; min-width: 170px; height: 40px; padding: 0 12px; background: var(--input); border: 1px solid var(--line); border-radius: 8px; color: var(--text); font-size: 14px; }
.lootlist { flex: 1; min-height: 0; overflow-y: auto; }
.lootday { font-size: 13px; color: var(--muted); margin: 16px 0 4px; }
.lootrow { display: flex; align-items: baseline; gap: 16px; padding: 10px 12px; border-radius: 8px; font-size: 16px; }
.lootrow:hover { background: var(--panel); }
.lootrow .lt { width: 48px; flex: none; color: var(--muted); font-size: 14px; }
.lootrow .ltx { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lootrow .lo { flex: none; font-size: 13px; color: var(--text2); background: var(--panel2); border-radius: 6px; padding: 2px 8px; }

/* ═══ Renare och enklare (1.15.0): färre ramar, lugnare etiketter, mer luft ═══════════════════ */
.shell { border-radius: 16px; box-shadow: 0 20px 56px rgba(0,0,0,.5); border-color: var(--line); }
.topbar .clock, .topbar .spill { display: none !important; }
.brand .bt { letter-spacing: .02em; text-transform: none; font-size: 12px; font-weight: 500; color: var(--muted); margin-top: 2px; }
.brand .wm { font-size: 18px; }
.navs { padding: 8px 12px 16px; }
.navsep { border: 0 !important; height: 16px; margin: 0 !important; background: transparent !important; }
.nav { height: 42px; border-radius: 10px; font-size: 15px; font-weight: 400; color: var(--text2); box-shadow: none !important; }
.nav:hover { background: var(--panel); color: var(--text); }
.nav.on { background: var(--accent-soft); color: #D6E6FF; font-weight: 500; box-shadow: none !important; }
.nav.on i { color: var(--accent); }
.nav .scn { background: transparent; color: var(--muted); font-weight: 500; }
.nav .scn.hot { background: var(--accent); color: var(--accent-ink); }
.dutybtn, .tbtn, .mebtn { background: transparent; border-color: var(--line); }

/* lista: platta kort, valt kort markeras med bakgrund */
.sc .lhead { border-bottom: 0; padding-bottom: 12px; }
.sc .lhead .lsub { display: none; }
.sc .tk { border: 0; background: transparent; border-radius: 12px; padding: 12px 14px; }
.sc .tk:hover { background: var(--panel); }
.sc .tk.on { background: var(--panel2); box-shadow: none; }
.sc .tk .r1 { font-size: 13px; }
.sc .tk .who:not(:first-of-type) { display: none; }
.sc .tk .pre { color: var(--text2); }
.sc .sbox { background: var(--panel); border-color: transparent; }
.sc select.sel { background: var(--panel); border-color: transparent; }

/* etiketter: ren text med symbol i stället för färgade lådor */
.sc .tag { background: transparent !important; border: 0 !important; padding: 0; height: auto; font-weight: 500; }
.sc .tag.nytt { color: #8FBFFF; } .sc .tag.pagar { color: #7FD6A8; } .sc .tag.vantar_spelare { color: #F0CB86; } .sc .tag.vantar_personal { color: #C3B2F0; }
.sc .tag.avslutat, .sc .tag.lag, .sc .tag.normal { color: var(--text2); } .sc .tag.hog { color: #F0CB86; } .sc .tag.akut { color: #FF9A9A; } .sc .tag.lock { color: #F0CB86; } .sc .tag.staff { color: #C3B2F0; }
.sc .chip { background: transparent; border: 0; padding: 0; height: auto; color: var(--text2); }
.sc .chip.job { color: #9CC4FF; } .sc .chip.gang { color: #F0CB86; } .sc .chip.role { color: #C3B2F0; background: transparent; }

/* ärendehuvud och flikar */
.sc .thead { border-bottom: 1px solid var(--line); padding: 20px 28px 0; }
.sc .thead h2 { font-size: 22px; }
.sc .thead .meta { gap: 16px; margin: 6px 0 14px; }
.sc .thead .acts .btn:not(.primary):not(.danger) { background: transparent; border-color: var(--line); }
.sc .thead .acts .btn.danger { background: transparent; }
.sc .ctabs button { font-weight: 400; }
.sc .ctabs button.on { font-weight: 500; }
.sc .banner { border-bottom: 0; margin: 12px 28px 0; border-radius: 10px; padding: 10px 14px; font-size: 14.5px; }

/* chatt: ingen hover-bakgrund, enklare egna meddelanden */
.sc .msgs { padding: 12px 28px; gap: 2px; }
.sc .cm { padding: 10px 0; border-radius: 0; }
.sc .cm:hover { background: transparent; }
.sc .cm.mine { background: transparent; }
.sc .cm .mh .tm { color: var(--muted); }
.sc .composer { border-top: 0; padding: 8px 28px 20px; }
.sc .composer .who { display: none; }
.sc .composer.int .who { display: flex; }
.sc .composer textarea.in { background: var(--panel); border-color: transparent; border-radius: 12px; }

/* högerpanel: lugna rubriker, platta kort */
.sc .col-side { background: var(--bg); }
.sc .sec { border-bottom: 0; padding: 18px 18px 6px; }
.sc .sec h3 { text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 600; color: var(--text); }
.sc .sec h3 i { color: var(--muted); }
.sc .pp { background: var(--panel); border: 0; border-radius: 12px; padding: 10px 12px; }
.sc .evc { border: 0; background: var(--panel); border-radius: 12px; }
.sc .infobox, .sc .warnbox { border-radius: 12px; }
.sc .btn { border-radius: 10px; background: var(--panel2); border-color: transparent; }
.sc .btn.ghost { background: transparent; }
.sc .homebtn, .sc .stat { border: 0; border-radius: 16px; background: var(--panel); }
.sc .homebtn:hover { background: var(--panel2); }
.sc .welcome { gap: 28px; }

.sc .quickbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 28px 0; padding: 10px 14px; border-radius: 10px; background: var(--panel); font-size: 14.5px; }
.sc .quickbar b { font-weight: 600; }

.sc .pp .sdot.talk { background: var(--green); box-shadow: 0 0 0 3px rgba(82,196,139,.35); }

/* personalens meddelanden i ärendechatten hamnar till höger så att man ser att det är personal (inte i personalchatten, där alla är personal) */
.sc .cchat:not(.int) .cm.staffmsg { align-self: flex-end; max-width: 82%; background: #1B1730; border-radius: 12px; padding: 10px 14px; margin: 4px 0; text-align: right; }
.sc .cchat:not(.int) .cm.staffmsg:hover { background: #1B1730; }
.sc .cchat:not(.int) .cm.staffmsg .mh { justify-content: flex-end; }
.sc .cchat:not(.int) .cm.staffmsg .mh .tm { margin-left: 0; order: -1; }
.sc .cchat:not(.int) .cm.staffmsg .mb { text-align: left; }

/* supportsamtal: Lämna uppe till höger i rutan, rutan något högre upp */
#callbox { top: 6px; }
#callbox .ch { padding-right: 0; }
#callbox .ch button.top { margin-left: auto; height: 28px; padding: 0 10px; border-radius: 8px; border: 1px solid #8C4247; background: var(--bad-soft); color: #FFB3B3; font-size: 13px; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0; }
#callbox:not(.focus) .ch button.top { pointer-events: none; opacity: .75; }

/* kategorifilter med antal */
.sc .catchips { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
.sc .catchip { height: 34px; padding: 0 12px; border-radius: 17px; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }
.sc .catchip:hover { background: var(--panel3); }
.sc .catchip.on { border-color: var(--purple); background: var(--panel3); font-weight: 600; }
.sc .catchip .cn { font-weight: 700; color: #FFFFFF; }
.sc .catchip .cn.red { color: #FF6B6B; }

#callbox .cp .rb { width: 26px; height: 26px; flex: none; border-radius: 6px; border: 1px solid var(--line2); background: var(--panel2); color: var(--text); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; padding: 0; }
#callbox .cp .rb.dn { background: var(--bad-soft); border-color: #8C4247; color: #FFB3B3; }
#callbox:not(.focus) .cp .rb { pointer-events: none; opacity: .75; }
