:root {
  --bg: #050a13;
  --bg-soft: #08101d;
  --sidebar: rgba(5, 12, 24, .94);
  --panel: rgba(11, 22, 39, .79);
  --panel-strong: rgba(12, 25, 45, .94);
  --line: rgba(119, 151, 197, .17);
  --line-strong: rgba(102, 152, 230, .36);
  --text: #f4f7ff;
  --muted: #8996aa;
  --soft: #b5c0d0;
  --blue: #3f9cff;
  --blue-2: #52d2ff;
  --violet: #a855f7;
  --violet-2: #d267ff;
  --green: #20e99b;
  --yellow: #f6b83f;
  --red: #ff526e;
  --cyan: #4bdcf1;
  --radius: 16px;
  --sidebar-width: 248px;
  --shadow: 0 22px 60px rgba(0, 0, 0, .27);
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 86% 14%, rgba(107, 51, 204, .13), transparent 28%),
    radial-gradient(circle at 40% 2%, rgba(42, 125, 255, .09), transparent 30%),
    linear-gradient(135deg, #050912, #07101d 48%, #060a13);
}
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; font: inherit; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--blue-2); outline-offset: 3px; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky; top: 0; z-index: 30;
  display: flex; flex-direction: column;
  height: 100vh;
  background: linear-gradient(180deg, rgba(6, 15, 29, .98), rgba(5, 12, 24, .95));
  border-right: 1px solid var(--line);
  box-shadow: 10px 0 40px rgba(0,0,0,.16);
  transition: width .25s ease, transform .25s ease;
}
.brand { position: relative; display: flex; align-items: center; gap: 11px; min-height: 76px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.brand-mark { font-size: 31px; font-weight: 950; letter-spacing: -4px; line-height: 1; background: linear-gradient(135deg, #316cff 5%, #65d7ff 52%, #a34fff); -webkit-background-clip: text; color: transparent; filter: drop-shadow(0 0 14px rgba(58,119,255,.35)); }
.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-copy strong { font-size: 17px; letter-spacing: .01em; }
.brand-copy span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.sidebar-close { display: none; margin-left: auto; }
.navigation { flex: 1; overflow-y: auto; padding: 15px 11px 24px; scrollbar-width: thin; scrollbar-color: rgba(107,142,190,.28) transparent; }
.nav-label { margin: 22px 12px 8px; color: #68768a; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.nav-item { position: relative; display: flex; align-items: center; gap: 12px; min-height: 45px; padding: 0 13px; margin: 4px 0; border: 1px solid transparent; border-radius: 10px; color: #9eabba; text-decoration: none; font-size: 13px; transition: .2s ease; overflow: hidden; }
.nav-item svg { width: 18px; height: 18px; flex: 0 0 auto; }
.nav-item:hover { color: #dce6f6; background: rgba(83,117,165,.08); }
.nav-item.active { color: white; border-color: rgba(92, 153, 242, .34); background: linear-gradient(90deg, rgba(36, 115, 234, .2), rgba(150, 54, 226, .22)); box-shadow: inset 3px 0 0 var(--blue-2), 0 0 28px rgba(85,69,255,.08); }
.nav-item.active::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, var(--blue-2), var(--violet-2)); opacity: .8; }
.nav-badge { margin-left: auto; min-width: 20px; padding: 2px 6px; border-radius: 99px; text-align: center; color: #fff; background: rgba(168,85,247,.8); font-size: 10px; }
.sidebar-footer { display: flex; flex-direction: column; gap: 3px; padding: 18px 22px; border-top: 1px solid var(--line); color: #728095; font-size: 11px; }
.sidebar-footer strong { color: #a9b7ca; font-size: 11px; }

.workspace { min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; min-height: 66px; padding: 0 23px; border-bottom: 1px solid var(--line); background: rgba(5, 11, 21, .75); backdrop-filter: blur(18px); }
.topbar-spacer { flex: 1; }
.icon-button { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; cursor: pointer; }
.icon-button:hover { border-color: var(--line); background: rgba(116,145,184,.08); }
.notification-button { position: relative; margin-right: 14px; color: #9aa8ba; }
.notification-count { position: absolute; top: 2px; right: 1px; display: grid; place-items: center; width: 17px; height: 17px; border: 2px solid #07101d; border-radius: 50%; background: var(--violet); color: white; font-size: 9px; font-weight: 800; }
.account-button { display: flex; align-items: center; gap: 10px; min-width: 218px; padding: 6px 8px; border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; text-align: left; }
.account-button:hover { border-color: var(--line); background: rgba(117,143,181,.06); }
.account-button img { width: 38px; height: 38px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(120,163,227,.45); }
.account-button span { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.account-button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.account-button small { color: var(--muted); font-size: 10px; }
.account-button > svg { width: 16px; height: 16px; transform: rotate(90deg); color: #718096; }
.popover-wrap { position: relative; }
.popover { position: absolute; top: calc(100% + 10px); right: 0; z-index: 50; width: 310px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 14px; background: rgba(7, 16, 29, .98); box-shadow: 0 24px 70px rgba(0,0,0,.45); backdrop-filter: blur(24px); }
.popover-header { display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.popover-header span { color: var(--violet-2); font-size: 11px; }
.notification-entry { width: 100%; display: flex; gap: 11px; align-items: flex-start; padding: 13px 15px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.notification-entry:hover { background: rgba(95,130,182,.08); }
.notification-entry span:last-child { display: flex; flex-direction: column; gap: 4px; }
.notification-entry strong { font-size: 12px; }
.notification-entry small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.event-dot { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; flex: 0 0 auto; }
.event-dot.success { background: var(--green); box-shadow: 0 0 12px rgba(32,233,155,.5); }
.event-dot.info { background: var(--blue); }
.event-dot.warning { background: var(--yellow); }
.account-popover { width: 220px; padding: 6px; }
.account-popover button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border: 0; border-radius: 9px; background: transparent; color: #b5c0d0; cursor: pointer; text-align: left; font-size: 12px; }
.account-popover button:hover { background: rgba(96,129,177,.1); color: white; }
.account-popover svg { width: 17px; height: 17px; }

.main-content { width: min(1510px, 100%); margin: 0 auto; padding: 23px 24px 22px; }
.page-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin: 0 0 18px; }
.eyebrow { display: block; margin-bottom: 5px; color: #6d8db9; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.page-heading h1 { margin: 0; font-size: clamp(24px, 2.1vw, 32px); letter-spacing: -.025em; }
.page-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.version-pill { display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 99px; color: #9aabc0; background: rgba(12,24,43,.54); font-size: 10px; white-space: nowrap; }
.version-pill span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px rgba(32,233,155,.55); }
.panel, .metric-card { position: relative; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(12,25,45,.88), rgba(8,17,31,.77)); box-shadow: var(--shadow); }
.panel { border-radius: var(--radius); overflow: hidden; }
.panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr); gap: 14px; }
.character-hero { min-height: 205px; display: flex; align-items: center; gap: 26px; padding: 23px 25px; border-color: rgba(86,148,237,.38); }
.character-hero::before, .status-panel::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, var(--blue-2), transparent 55%, var(--violet-2)); }
.panel-glow { position: absolute; width: 260px; height: 260px; left: -120px; top: -120px; background: radial-gradient(circle, rgba(44,147,255,.16), transparent 69%); }
.character-avatar-wrap { position: relative; width: 145px; height: 145px; flex: 0 0 145px; display: grid; place-items: center; }
.character-avatar-wrap::before { content: ""; position: absolute; inset: 0; border-radius: 50%; padding: 1px; background: linear-gradient(135deg, var(--blue-2), var(--violet-2)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .8; }
.character-avatar-wrap img { width: 132px; height: 132px; object-fit: cover; border-radius: 50%; background: #07111e; }
.online-pill { position: absolute; bottom: 2px; padding: 4px 9px; border: 1px solid rgba(37,235,157,.2); border-radius: 6px; color: #27f3a4; background: rgba(3,74,51,.92); box-shadow: 0 0 17px rgba(29,232,153,.16); font-size: 9px; font-weight: 900; }
.online-pill.offline { color: #adb8c6; border-color: rgba(160,177,198,.2); background: rgba(52,65,80,.92); box-shadow: none; }
.character-main { flex: 1; min-width: 0; }
.character-title { display: flex; align-items: center; gap: 10px; }
.character-title h2 { margin: 0; font-size: clamp(23px, 2vw, 30px); letter-spacing: -.025em; }
.character-title p { margin: 3px 0 0; color: #9ba8ba; font-size: 12px; }
.verified { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: white; background: linear-gradient(135deg, var(--blue), #5454f8); box-shadow: 0 0 15px rgba(63,156,255,.3); }
.verified svg { width: 12px; height: 12px; stroke-width: 2.6; }
.faction-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 15px; color: #b8c4d4; font-size: 12px; }
.faction-line svg { width: 18px; height: 18px; color: var(--blue); }
.faction-line i { width: 1px; height: 14px; background: var(--line-strong); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.meta-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: #aebacd; background: rgba(5,13,25,.34); font-size: 11px; }
.meta-chip svg { width: 16px; height: 16px; color: var(--blue); }
.meta-chip b { color: #dfe8f6; }
.secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin-left: auto; padding: 0 13px; border: 1px solid rgba(93,139,205,.3); border-radius: 9px; color: #cbd7e8; background: linear-gradient(180deg, rgba(22,43,72,.72), rgba(10,23,42,.72)); cursor: pointer; font-size: 11px; }
.secondary-button:hover { border-color: rgba(88,165,255,.6); color: white; transform: translateY(-1px); }
.secondary-button svg { width: 16px; height: 16px; color: var(--blue); }
.status-panel { min-height: 205px; padding: 19px 22px; border-color: rgba(119,93,211,.32); }
.section-heading { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; color: #a8b4c7; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .055em; }
.section-heading small { display: flex; align-items: center; gap: 6px; color: #65748a; font-size: 9px; font-weight: 600; letter-spacing: normal; text-transform: none; }
.section-heading small b { color: #8595aa; }
.status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 26px; }
.status-item { min-width: 0; }
.status-title { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 11px; }
.status-icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 8px; font-size: 14px; background: rgba(255,255,255,.05); }
.progress-row { display: flex; align-items: center; gap: 10px; }
.progress-track { flex: 1; height: 7px; overflow: hidden; border-radius: 99px; background: rgba(124,148,181,.14); }
.progress-fill { height: 100%; width: var(--value); border-radius: inherit; background: var(--bar); box-shadow: 0 0 14px color-mix(in srgb, var(--bar) 45%, transparent); transition: width .45s ease; }
.progress-row b { min-width: 31px; text-align: right; font-size: 10px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: 14px; }
.metric-card { min-height: 105px; display: flex; align-items: center; gap: 17px; padding: 19px; border-radius: 14px; overflow: hidden; }
.metric-card::before { content: ""; position: absolute; inset: auto auto -70px -40px; width: 150px; height: 150px; border-radius: 50%; background: var(--accent-glow); filter: blur(3px); }
.metric-card.money { --accent: #21e2a0; --accent-glow: radial-gradient(circle, rgba(29,226,155,.14), transparent 65%); border-color: rgba(31,220,154,.2); }
.metric-card.bank { --accent: #8e8bff; --accent-glow: radial-gradient(circle, rgba(104,103,255,.14), transparent 65%); }
.metric-card.premium { --accent: #c06cff; --accent-glow: radial-gradient(circle, rgba(178,79,255,.16), transparent 65%); }
.metric-card.cards { --accent: #55adff; --accent-glow: radial-gradient(circle, rgba(62,143,255,.15), transparent 65%); }
.metric-icon { position: relative; display: grid; place-items: center; width: 56px; height: 56px; flex: 0 0 56px; border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent); border-radius: 15px; color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); box-shadow: 0 0 25px color-mix(in srgb, var(--accent) 13%, transparent); }
.metric-icon svg { width: 30px; height: 30px; }
.metric-icon.premium-text { font-size: 17px; font-weight: 900; }
.metric-card div:last-child { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.metric-card span { color: #8795a9; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .065em; }
.metric-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: clamp(18px, 1.55vw, 24px); letter-spacing: .01em; }

.details-grid { display: grid; grid-template-columns: .95fr 1fr 1.08fr; gap: 14px; margin-top: 14px; }
.info-panel, .bank-panel, .events-panel { min-height: 365px; padding: 18px 18px 14px; display: flex; flex-direction: column; }
.info-list { margin: 0; }
.info-list > div { display: flex; align-items: center; min-height: 41px; gap: 15px; border-bottom: 1px solid rgba(114,143,181,.1); }
.info-list dt { display: flex; align-items: center; gap: 10px; min-width: 135px; color: #aeb9c8; font-size: 11px; }
.info-list dt svg { width: 16px; height: 16px; color: #7488a5; }
.info-list dd { margin: 0 0 0 auto; color: #9ba9bc; text-align: right; font-size: 10px; word-break: break-word; }
.license { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 3px; border: 1px solid rgba(62,157,255,.6); border-radius: 4px; color: #7ebeff; background: rgba(62,157,255,.08); font-size: 9px; font-weight: 800; }
.license.violet { color: #cd8dff; border-color: rgba(180,83,255,.55); background: rgba(180,83,255,.08); }
.panel-link { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 39px; margin-top: auto; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; color: #aab7c8; background: rgba(8,18,33,.55); cursor: pointer; text-align: left; font-size: 10px; }
.panel-link:hover { border-color: rgba(74,148,245,.38); color: white; background: rgba(16,36,64,.65); }
.panel-link svg { width: 15px; height: 15px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px rgba(32,233,155,.48); }
.bank-card { position: relative; min-height: 155px; margin: 3px 18px 17px; padding: 19px; overflow: hidden; border: 1px solid rgba(124,125,255,.65); border-radius: 14px; background: linear-gradient(135deg, rgba(29,75,147,.96), rgba(38,46,113,.94) 52%, rgba(100,28,141,.94)); box-shadow: 0 13px 35px rgba(22,51,113,.28), inset 0 1px 0 rgba(255,255,255,.18); }
.bank-card::before { content: "NX"; position: absolute; right: -10px; bottom: -38px; color: rgba(255,255,255,.055); font-size: 120px; font-weight: 950; letter-spacing: -14px; }
.bank-card::after { content: ""; position: absolute; inset: -80px auto auto -60px; width: 240px; height: 180px; transform: rotate(22deg); background: linear-gradient(100deg, rgba(255,255,255,.08), transparent); }
.bank-card-top, .bank-card-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; }
.bank-card-top strong { font-size: 17px; letter-spacing: .03em; }
.bank-card-top span { padding: 3px 6px; border: 1px solid rgba(45,244,163,.25); border-radius: 5px; color: #44f4ad; background: rgba(5,102,66,.45); font-size: 8px; font-weight: 800; }
.bank-card-number { position: relative; z-index: 1; margin: 27px 0 19px; font-size: 18px; letter-spacing: .11em; }
.bank-card-bottom { align-items: end; }
.bank-card-bottom > div { display: flex; flex-direction: column; gap: 3px; }
.bank-card-bottom small { color: rgba(232,238,255,.62); font-size: 7px; letter-spacing: .08em; }
.bank-card-bottom strong { font-size: 9px; letter-spacing: .04em; }
.bank-card-bottom b { font-size: 22px; font-style: italic; }
.bank-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(7,17,31,.4); }
.bank-summary > div { display: flex; flex-direction: column; gap: 6px; padding: 11px 12px; border-right: 1px solid var(--line); min-width: 0; }
.bank-summary > div:last-child { border-right: 0; }
.bank-summary span { color: #718096; font-size: 8px; }
.bank-summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.event-list { display: flex; flex-direction: column; }
.event-entry { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 55px; border-bottom: 1px solid rgba(114,143,181,.1); }
.event-icon { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid color-mix(in srgb, var(--event-color) 24%, transparent); border-radius: 9px; color: var(--event-color); background: color-mix(in srgb, var(--event-color) 10%, transparent); }
.event-icon svg { width: 16px; height: 16px; }
.event-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.event-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.event-copy span, .event-entry time { color: #758397; font-size: 9px; }
.event-entry time { white-space: nowrap; }

.statusbar { display: grid; grid-template-columns: 1.1fr .9fr 1fr auto; align-items: center; min-height: 63px; margin-top: auto; padding: 0 25px; border-top: 1px solid var(--line); background: rgba(6,14,26,.76); backdrop-filter: blur(16px); }
.statusbar > div { display: flex; align-items: center; gap: 15px; min-height: 32px; padding: 0 22px; border-right: 1px solid var(--line); }
.statusbar > div:first-child { padding-left: 0; }
.statusbar > div:last-child { border-right: 0; padding-right: 0; }
.statusbar span { color: #718096; font-size: 9px; text-transform: uppercase; letter-spacing: .055em; }
.statusbar strong { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; }
.statusbar svg { width: 15px; height: 15px; color: #7f90a7; }
.server-online { padding: 5px 8px; border-radius: 6px; color: #35efa9; background: rgba(15,128,86,.16); }
.server-online i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px rgba(32,233,155,.5); }
.status-links { justify-content: flex-end; gap: 6px !important; }
.status-links button { padding: 5px 7px; border: 1px solid var(--line); border-radius: 6px; color: #8190a5; background: transparent; cursor: pointer; font-size: 8px; }
.status-links button:hover { color: white; border-color: rgba(90,145,225,.4); }

.character-dialog { width: min(760px, calc(100vw - 28px)); padding: 0; border: 1px solid rgba(95,145,219,.38); border-radius: 18px; color: var(--text); background: rgba(7,16,29,.97); box-shadow: 0 35px 100px rgba(0,0,0,.6); backdrop-filter: blur(25px); }
.character-dialog::backdrop { background: rgba(1,5,11,.75); backdrop-filter: blur(7px); }
.character-dialog form { padding: 23px; }
.dialog-header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.dialog-header h2 { margin: 0; font-size: 24px; }
.dialog-header p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.character-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.character-option { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; min-height: 220px; padding: 19px 14px; border: 1px solid var(--line); border-radius: 14px; color: #aebacd; background: linear-gradient(145deg, rgba(13,26,46,.88), rgba(7,16,29,.72)); cursor: pointer; }
.character-option:hover, .character-option.selected { border-color: rgba(76,158,255,.55); transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0,0,0,.22); }
.character-option.selected::before { content: "AKTÍV"; position: absolute; top: 11px; right: 11px; padding: 3px 6px; border-radius: 5px; color: #38f0aa; background: rgba(7,104,68,.38); font-size: 7px; font-weight: 900; }
.character-option img, .character-option .fallback-avatar { width: 94px; height: 94px; object-fit: cover; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(109,163,240,.35); background: radial-gradient(circle at 35% 25%, rgba(66,147,255,.28), transparent 43%), linear-gradient(135deg, #11253e, #18132c); font-size: 29px; font-weight: 900; }
.character-option strong { color: white; font-size: 14px; }
.character-option small { color: var(--muted); font-size: 9px; text-align: center; }
.character-option span { display: inline-flex; gap: 6px; color: #8493a7; font-size: 9px; }
.toast-region { position: fixed; right: 18px; bottom: 18px; z-index: 100; display: flex; flex-direction: column; gap: 9px; pointer-events: none; }
.toast { min-width: 260px; max-width: min(360px, calc(100vw - 36px)); padding: 13px 15px; border: 1px solid rgba(89,153,240,.32); border-radius: 12px; color: #dbe6f7; background: rgba(8,19,35,.95); box-shadow: 0 18px 50px rgba(0,0,0,.35); animation: toast-in .25s ease; font-size: 11px; }
.toast strong { display: block; margin-bottom: 3px; color: white; }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } }
.mobile-scrim { display: none; }

body.sidebar-collapsed { --sidebar-width: 78px; }
body.sidebar-collapsed .brand { justify-content: center; padding-inline: 10px; }
body.sidebar-collapsed .brand-copy, body.sidebar-collapsed .nav-item span:not(.nav-badge), body.sidebar-collapsed .nav-label, body.sidebar-collapsed .sidebar-footer { display: none; }
body.sidebar-collapsed .nav-item { justify-content: center; padding: 0; }
body.sidebar-collapsed .nav-badge { position: absolute; top: 4px; right: 6px; min-width: 16px; padding: 1px 4px; }

@media (max-width: 1180px) {
  .hero-grid { grid-template-columns: 1fr; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .details-grid { grid-template-columns: 1fr 1fr; }
  .events-panel { grid-column: 1 / -1; min-height: 330px; }
  .event-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
  .statusbar { grid-template-columns: repeat(3, 1fr); }
  .status-links { display: none !important; }
  .statusbar > div:nth-child(3) { border-right: 0; }
}

@media (max-width: 820px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; left: 0; width: min(290px, 86vw); transform: translateX(-105%); box-shadow: 30px 0 70px rgba(0,0,0,.45); }
  body.mobile-menu-open .sidebar { transform: translateX(0); }
  .sidebar-close { display: inline-grid; }
  .mobile-scrim { position: fixed; inset: 0; z-index: 25; background: rgba(0,5,12,.63); backdrop-filter: blur(4px); }
  body.mobile-menu-open .mobile-scrim { display: block; }
  body.sidebar-collapsed .brand-copy, body.sidebar-collapsed .nav-item span:not(.nav-badge), body.sidebar-collapsed .nav-label, body.sidebar-collapsed .sidebar-footer { display: flex; }
  body.sidebar-collapsed .nav-label { display: block; }
  body.sidebar-collapsed .nav-item { justify-content: flex-start; padding: 0 13px; }
  .topbar { padding: 0 13px; }
  .account-button { min-width: 0; }
  .account-button span { display: none; }
  .account-button > svg { display: none; }
  .main-content { padding: 19px 14px; }
  .page-heading { align-items: flex-start; }
  .version-pill { display: none; }
  .character-hero { align-items: flex-start; }
  .character-avatar-wrap { width: 116px; height: 116px; flex-basis: 116px; }
  .character-avatar-wrap img { width: 105px; height: 105px; }
  .details-grid { grid-template-columns: 1fr; }
  .events-panel { grid-column: auto; }
  .event-list { display: flex; }
  .statusbar { grid-template-columns: 1fr 1fr; }
  .statusbar > div:nth-child(2) { border-right: 0; }
  .statusbar > div:nth-child(3) { display: none; }
}

@media (max-width: 600px) {
  .page-heading h1 { font-size: 25px; }
  .hero-grid, .metric-grid { grid-template-columns: 1fr; }
  .character-hero { flex-direction: column; align-items: center; padding: 22px 18px; text-align: center; }
  .character-title, .faction-line, .hero-actions { justify-content: center; }
  .secondary-button { width: 100%; margin-left: 0; }
  .status-grid { grid-template-columns: 1fr; gap: 15px; }
  .metric-card { min-height: 95px; }
  .info-list > div { align-items: flex-start; padding: 11px 0; }
  .info-list dt { min-width: 112px; }
  .bank-card { margin-inline: 0; }
  .bank-summary { grid-template-columns: 1fr; }
  .bank-summary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .bank-summary > div:last-child { border-bottom: 0; }
  .statusbar { display: none; }
  .character-options { grid-template-columns: 1fr; }
  .character-option { min-height: 160px; flex-direction: row; align-items: center; text-align: left; }
  .popover { position: fixed; top: 62px; right: 10px; left: 10px; width: auto; }
}

/* ─────────────────────────────────────────────────────────────
   NX-RPG UCP V0.2 · Többoldalas komponensek
   ───────────────────────────────────────────────────────────── */
.page-view[hidden], [hidden] { display: none !important; }
.page-view { animation: page-enter .22s ease; }
@keyframes page-enter { from { opacity: 0; transform: translateY(5px); } }

.primary-button, .danger-button, .ghost-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 38px; padding: 0 15px; border-radius: 9px; cursor: pointer;
  font-size: 11px; font-weight: 700; transition: .18s ease; white-space: nowrap;
}
.primary-button { border: 1px solid rgba(90,159,255,.55); color: #fff; background: linear-gradient(100deg, rgba(42,128,242,.86), rgba(143,61,223,.83)); box-shadow: 0 10px 28px rgba(67,84,226,.17); }
.primary-button:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 12px 30px rgba(67,84,226,.24); }
.danger-button { border: 1px solid rgba(255,82,110,.42); color: #ff9cac; background: rgba(151,29,51,.16); }
.danger-button:hover { color: white; background: rgba(196,37,65,.26); }
.ghost-button { border: 1px solid var(--line); color: #aebbd0; background: rgba(99,126,164,.045); }
.ghost-button:hover { color: white; border-color: rgba(90,150,232,.42); background: rgba(89,128,184,.09); }
.secondary-button.compact { min-height: 34px; margin-left: 0; padding-inline: 11px; }

.padded-panel { padding: 18px; }
.full-span { grid-column: 1 / -1; }
.details-grid.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }

.summary-strip {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px;
}
.summary-strip > div {
  display: flex; align-items: center; gap: 13px; min-height: 82px; padding: 15px 17px;
  border: 1px solid var(--line); border-radius: 14px;
  background: linear-gradient(145deg, rgba(12,25,45,.84), rgba(8,17,31,.72)); box-shadow: var(--shadow);
}
.summary-strip > div > svg { width: 26px; height: 26px; color: var(--blue-2); }
.summary-strip span { display: flex; min-width: 0; flex-direction: column; gap: 5px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.summary-strip strong { overflow: hidden; text-overflow: ellipsis; color: white; font-size: 15px; text-transform: none; letter-spacing: 0; }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.inline-toolbar { margin: 11px 0 14px; }
.search-field { display: flex; flex: 1; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; color: #6f829c; background: rgba(5,13,25,.48); }
.search-field svg { width: 17px; height: 17px; }
.search-field input { flex: 1; min-width: 0; padding: 0; border: 0; outline: 0; color: var(--text); background: transparent; font: inherit; font-size: 11px; }
.search-field input::placeholder { color: #637188; }
.select-field, .field input, .field select, .field textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 10px; outline: none; color: #dbe6f7;
  background: rgba(5,13,25,.58); font: inherit; font-size: 11px;
}
.select-field { width: auto; min-width: 165px; min-height: 42px; padding: 0 12px; }
.select-field:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: rgba(76,158,255,.62); box-shadow: 0 0 0 3px rgba(63,156,255,.08); }

.entity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.entity-card { min-height: 390px; display: flex; flex-direction: column; }
.entity-visual { position: relative; display: grid; place-items: center; min-height: 130px; overflow: hidden; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 50% 20%, rgba(63,156,255,.16), transparent 46%), linear-gradient(145deg, rgba(15,34,58,.94), rgba(7,16,29,.84)); }
.entity-visual::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(168,85,247,.10), transparent 68%); }
.entity-visual > span { position: relative; display: grid; place-items: center; width: 68px; height: 68px; border: 1px solid rgba(94,154,235,.3); border-radius: 20px; color: var(--blue-2); background: rgba(11,25,45,.66); box-shadow: 0 0 40px rgba(63,156,255,.10); }
.entity-visual > span svg { width: 34px; height: 34px; }
.entity-visual small { position: absolute; right: 13px; bottom: 11px; color: #73849d; font-size: 8px; }
.entity-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.entity-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.entity-title h3 { margin: 0; font-size: 14px; }
.entity-title p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.entity-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.entity-stats > div { min-width: 0; padding: 10px; border: 1px solid rgba(112,143,184,.12); border-radius: 9px; background: rgba(5,13,25,.33); }
.entity-stats span { display: block; margin-bottom: 5px; color: #708097; font-size: 8px; }
.entity-stats strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.fuel-line { display: grid; grid-template-columns: auto minmax(70px, 1fr) auto; align-items: center; gap: 9px; margin-top: 13px; color: #71839d; font-size: 8px; }
.fuel-line b { color: #b9c7da; font-size: 9px; }
.card-actions { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 15px; }
.card-actions > * { flex: 1; }
.card-actions.centered { justify-content: center; }
.card-actions.centered > * { flex: 0 1 auto; }
.property-visual > span { color: var(--violet-2); }

.tag { display: inline-flex; align-items: center; width: fit-content; min-height: 22px; padding: 0 7px; border: 1px solid transparent; border-radius: 6px; font-size: 8px; font-weight: 800; white-space: nowrap; }
.tag.success { color: #43f1ae; border-color: rgba(32,233,155,.2); background: rgba(14,119,79,.18); }
.tag.warning { color: #ffd16e; border-color: rgba(246,184,63,.22); background: rgba(151,101,10,.17); }
.tag.danger { color: #ff8fa2; border-color: rgba(255,82,110,.23); background: rgba(151,29,51,.17); }
.tag.info { color: #72c6ff; border-color: rgba(63,156,255,.23); background: rgba(31,95,168,.17); }
.tag.muted { color: #98a5b8; border-color: rgba(131,146,169,.18); background: rgba(98,111,133,.12); }

.character-roster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.character-roster-card { display: flex; align-items: center; gap: 12px; min-height: 92px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; color: var(--text); background: linear-gradient(145deg, rgba(12,25,45,.8), rgba(8,17,31,.72)); cursor: pointer; text-align: left; transition: .18s ease; }
.character-roster-card:hover, .character-roster-card.selected { border-color: rgba(76,158,255,.54); transform: translateY(-1px); }
.character-roster-card.selected { background: linear-gradient(110deg, rgba(38,105,205,.16), rgba(129,50,201,.15)); box-shadow: inset 3px 0 var(--blue-2); }
.roster-avatar, .list-avatar, .profile-avatar { display: grid; place-items: center; flex: 0 0 auto; object-fit: cover; border-radius: 50%; border: 1px solid rgba(100,157,235,.4); background: linear-gradient(135deg, #11253e, #211432); color: white; font-weight: 900; }
.roster-avatar { width: 56px; height: 56px; font-size: 17px; }
.roster-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.roster-copy strong, .roster-copy small, .roster-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.roster-copy strong { font-size: 12px; }
.roster-copy small { color: #71839a; font-size: 8px; }
.roster-copy span { color: #9aabc0; font-size: 9px; }
.profile-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: 14px; }
.profile-card-large { min-height: 325px; }
.profile-cover { height: 118px; background: radial-gradient(circle at 28% 18%, rgba(63,156,255,.26), transparent 34%), radial-gradient(circle at 78% 32%, rgba(168,85,247,.24), transparent 37%), linear-gradient(120deg, #0d243e, #15122d); border-bottom: 1px solid var(--line); }
.profile-identity { display: flex; align-items: flex-end; gap: 16px; padding: 0 20px; transform: translateY(-39px); }
.profile-avatar { width: 100px; height: 100px; font-size: 28px; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.profile-identity h2 { margin: 6px 0 3px; font-size: 22px; }
.profile-identity p { margin: 0; color: var(--muted); font-size: 10px; }
.mini-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: -20px 18px 18px; }
.mini-stat-grid > div { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: rgba(5,13,25,.35); }
.mini-stat-grid span { display: block; color: #6f8199; font-size: 8px; }
.mini-stat-grid strong { display: block; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.detail-list { margin: 0; }
.detail-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 43px; border-bottom: 1px solid rgba(112,143,184,.11); }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: #7f90a8; font-size: 9px; }
.detail-list dd { margin: 0; color: #dbe5f4; font-size: 10px; text-align: right; }
.permission-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.permission-grid > div { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 15px 8px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,13,25,.3); text-align: center; }
.license.large { width: 34px; height: 28px; font-size: 12px; }
.permission-grid strong { font-size: 9px; }
.permission-grid small { color: var(--green); font-size: 8px; }
.compact-status-list { display: flex; flex-direction: column; gap: 13px; }
.compact-status-list > div { display: grid; grid-template-columns: 76px minmax(0, 1fr) 34px; align-items: center; gap: 10px; font-size: 9px; }
.compact-status-list > div > span { color: #94a4b9; }
.compact-status-list > div > strong { text-align: right; font-size: 9px; }

.faction-hero { display: flex; align-items: center; gap: 18px; min-height: 150px; padding: 21px; margin-bottom: 14px; border-color: rgba(70,145,238,.34); }
.faction-emblem { display: grid; place-items: center; width: 82px; height: 82px; flex: 0 0 auto; border: 1px solid rgba(76,158,255,.38); border-radius: 23px; color: var(--blue-2); background: radial-gradient(circle, rgba(63,156,255,.18), rgba(8,19,34,.5)); }
.faction-emblem svg { width: 43px; height: 43px; }
.faction-hero h2 { margin: 0 0 6px; font-size: 22px; }
.faction-hero p { margin: 0; color: var(--muted); font-size: 10px; }
.faction-duty { display: flex; margin-left: auto; flex-direction: column; align-items: flex-end; gap: 6px; }
.faction-duty strong { font-size: 18px; }
.faction-duty small { color: var(--muted); font-size: 8px; }
.faction-layout { grid-template-columns: .8fr 1.2fr; }
.announcement-list { display: flex; flex-direction: column; gap: 11px; }
.announcement-list > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,13,25,.3); }
.announcement-list strong { display: block; margin: 8px 0 5px; font-size: 11px; }
.announcement-list p { margin: 0 0 7px; color: #8e9eb3; font-size: 9px; line-height: 1.45; }
.announcement-list small { color: #697a92; font-size: 8px; }
.permission-chip-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.permission-chip-grid span { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 11px; border: 1px solid rgba(32,233,155,.16); border-radius: 9px; color: #a9dac8; background: rgba(13,92,64,.10); font-size: 9px; }
.permission-chip-grid span svg { width: 15px; color: var(--green); }
.permission-chip-grid .disabled { color: #8d7e83; border-color: rgba(255,82,110,.12); background: rgba(111,25,42,.08); }
.permission-chip-grid .disabled svg { color: var(--red); }

.finance-metrics { margin-bottom: 14px; }
.table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.data-table th { padding: 10px 12px; border-bottom: 1px solid var(--line); color: #718097; font-size: 8px; text-align: left; text-transform: uppercase; letter-spacing: .06em; }
.data-table td { padding: 13px 12px; border-bottom: 1px solid rgba(112,143,184,.10); color: #a8b6c9; font-size: 9px; }
.data-table td strong { color: #e4ecf8; font-size: 10px; }
.data-table tr:hover td { background: rgba(79,118,173,.045); }
.amount.positive { color: var(--green); }
.amount.negative { color: #ff8599; }

.cards-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; margin-bottom: 14px; }
.card-showcase { min-height: 380px; }
.large-card { width: min(510px, 92%); min-height: 235px; margin: 26px auto 20px; padding: 24px; }
.large-card .bank-card-number { margin: 46px 0 34px; font-size: 23px; }
.bank-card.frozen { filter: grayscale(.65); opacity: .62; }
.settings-list { display: flex; flex-direction: column; }
.setting-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 65px; padding: 10px 0; border-bottom: 1px solid rgba(112,143,184,.11); }
.setting-row:last-child { border-bottom: 0; }
.setting-row > div { display: flex; flex-direction: column; gap: 5px; }
.setting-row strong { font-size: 10px; }
.setting-row span { color: var(--muted); font-size: 9px; }
.toggle { position: relative; width: 42px; height: 23px; flex: 0 0 auto; }
.toggle input { position: absolute; opacity: 0; pointer-events: none; }
.toggle span { position: absolute; inset: 0; border: 1px solid var(--line); border-radius: 99px; background: rgba(89,105,130,.25); cursor: pointer; transition: .2s; }
.toggle span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #aab5c5; transition: .2s; }
.toggle input:checked + span { border-color: rgba(63,156,255,.45); background: linear-gradient(90deg, rgba(42,128,242,.72), rgba(143,61,223,.68)); }
.toggle input:checked + span::after { left: 22px; background: white; box-shadow: 0 0 10px rgba(255,255,255,.34); }

.segmented { display: inline-flex; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,13,25,.4); }
.segmented button { min-height: 31px; padding: 0 12px; border: 0; border-radius: 7px; color: #8292a8; background: transparent; cursor: pointer; font-size: 9px; }
.segmented button.active { color: white; background: linear-gradient(90deg, rgba(42,128,242,.55), rgba(143,61,223,.48)); }
.timeline { position: relative; display: flex; flex-direction: column; }
.timeline::before { content: ""; position: absolute; left: 17px; top: 22px; bottom: 22px; width: 1px; background: linear-gradient(var(--blue), rgba(168,85,247,.2)); }
.timeline-entry { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 15px; min-height: 88px; padding: 11px 0; }
.timeline-icon { z-index: 1; display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid color-mix(in srgb, var(--event-color) 28%, transparent); border-radius: 10px; color: var(--event-color); background: #0b182b; }
.timeline-icon svg { width: 17px; }
.timeline-entry strong { font-size: 11px; }
.timeline-entry p { margin: 6px 0 5px; color: #8999ad; font-size: 9px; }
.timeline-entry small { color: #63738a; font-size: 8px; }

.ticket-list { display: flex; flex-direction: column; gap: 10px; }
.ticket-card { display: grid; grid-template-columns: 50px minmax(0, 1fr) auto auto; align-items: center; gap: 15px; min-height: 94px; padding: 14px 16px; }
.ticket-icon, .session-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(76,158,255,.25); border-radius: 12px; color: var(--blue-2); background: rgba(31,88,156,.13); }
.ticket-icon svg, .session-icon svg { width: 20px; }
.ticket-copy { min-width: 0; }
.ticket-copy h3 { margin: 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.ticket-copy p { margin: 0; color: var(--muted); font-size: 9px; }
.request-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.request-card { min-height: 215px; padding: 17px; }
.request-top, .request-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.request-number { color: #6f83a0; font-size: 9px; }
.request-card h3 { margin: 29px 0 7px; font-size: 14px; }
.request-card p { min-height: 38px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.request-bottom { margin-top: 24px; padding-top: 13px; border-top: 1px solid var(--line); }
.request-bottom > span { color: #697b94; font-size: 8px; }

.security-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 14px; margin-bottom: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.field.full, .form-actions.full { grid-column: 1 / -1; }
.field > span { color: #8293aa; font-size: 9px; }
.field input, .field select { min-height: 42px; padding: 0 12px; }
.field textarea { resize: vertical; min-height: 100px; padding: 11px 12px; }
.field input:disabled { opacity: .55; cursor: not-allowed; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 8px; }
.security-feature { display: flex; gap: 14px; align-items: flex-start; min-height: 135px; padding: 18px 0; }
.security-feature > svg { width: 34px; height: 34px; color: var(--green); }
.security-feature strong { font-size: 12px; }
.security-feature p { margin: 7px 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.session-list { display: flex; flex-direction: column; }
.session-list > div { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 70px; border-bottom: 1px solid rgba(112,143,184,.11); }
.session-list > div:last-child { border-bottom: 0; }
.session-list strong { font-size: 10px; }
.session-list p { margin: 4px 0 0; color: var(--muted); font-size: 8px; }
.serial-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,13,25,.35); }
.serial-card > div { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.serial-card strong { font-size: 10px; }
.serial-card span:not(.tag) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #99a9bd; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; }
.serial-card small { color: #65768e; font-size: 8px; }
.notification-settings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.notification-settings label { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(5,13,25,.28); cursor: pointer; }
.notification-settings input { accent-color: var(--blue); }
.notification-settings label span { display: flex; flex-direction: column; gap: 4px; }
.notification-settings strong { font-size: 10px; }
.notification-settings small { color: var(--muted); font-size: 8px; line-height: 1.4; }

.action-dialog { width: min(650px, calc(100vw - 28px)); padding: 0; border: 1px solid rgba(95,145,219,.38); border-radius: 18px; color: var(--text); background: rgba(7,16,29,.98); box-shadow: 0 35px 100px rgba(0,0,0,.62); backdrop-filter: blur(25px); }
.action-dialog::backdrop { background: rgba(1,5,11,.76); backdrop-filter: blur(7px); }
.action-dialog form { padding: 22px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.empty-state { grid-column: 1 / -1; display: flex; min-height: 290px; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; }
.empty-state > svg { width: 42px; height: 42px; color: #60758f; }
.empty-state h3 { margin: 13px 0 5px; font-size: 14px; }
.empty-state p { max-width: 420px; margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }

body.compact-mode .entity-card { min-height: 340px; }
body.compact-mode .main-content { padding-top: 16px; }
body.compact-mode .summary-strip > div { min-height: 68px; }
body.compact-mode .data-table td { padding-block: 9px; }

@media (max-width: 1280px) {
  .entity-grid, .request-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-split, .cards-layout, .security-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .character-roster { grid-template-columns: 1fr; }
  .faction-layout, .details-grid.two-columns { grid-template-columns: 1fr; }
  .permission-chip-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ticket-card { grid-template-columns: 42px minmax(0, 1fr) auto; }
  .ticket-card > .ghost-button { grid-column: 2 / -1; width: fit-content; }
}

@media (max-width: 700px) {
  .summary-strip, .entity-grid, .request-grid, .notification-settings { grid-template-columns: 1fr; }
  .toolbar { align-items: stretch; flex-direction: column; }
  .select-field { width: 100%; }
  .entity-card { min-height: auto; }
  .mini-stat-grid, .permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faction-hero { align-items: flex-start; flex-wrap: wrap; }
  .faction-duty { width: 100%; margin-left: 100px; align-items: flex-start; }
  .permission-chip-grid { grid-template-columns: 1fr; }
  .cards-layout { grid-template-columns: 1fr; }
  .large-card { min-height: 205px; padding: 18px; }
  .large-card .bank-card-number { margin: 34px 0 28px; font-size: 18px; }
  .segmented { width: 100%; overflow-x: auto; }
  .segmented button { flex: 1; }
  .ticket-card { grid-template-columns: 42px minmax(0, 1fr); }
  .ticket-card > .tag, .ticket-card > .ghost-button { grid-column: 2; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full, .form-actions.full { grid-column: auto; }
  .serial-card { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 460px) {
  .entity-stats { grid-template-columns: 1fr; }
  .profile-identity { align-items: center; flex-direction: column; text-align: center; }
  .mini-stat-grid, .permission-grid { grid-template-columns: 1fr; }
  .faction-duty { margin-left: 0; }
  .card-actions { align-items: stretch; flex-direction: column; }
  .card-actions > * { width: 100%; }
  .summary-strip > div { min-height: 72px; }
}

/* NX-RPG UCP PHP application additions */
.runtime-warning {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
  padding: 13px 16px;
  border: 1px solid rgba(246, 184, 63, .3);
  border-radius: 14px;
  background: rgba(246, 184, 63, .08);
  color: #f7d98a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.runtime-warning strong { white-space: nowrap; color: #fff0bd; }
.runtime-warning span { color: #d6c694; font-size: 13px; }
.table-empty { padding: 28px 12px; text-align: center; color: var(--text-muted); }
.nav-item.feature-disabled { opacity: .62; }
.nav-item.feature-disabled::after {
  content: 'KÉSŐBB';
  margin-left: auto;
  font-size: 8px;
  letter-spacing: .12em;
  color: #8492a9;
}
button:disabled { cursor: not-allowed; opacity: .55; }

.login-body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 22% 18%, rgba(39, 129, 255, .16), transparent 30%),
    radial-gradient(circle at 77% 82%, rgba(166, 76, 255, .12), transparent 31%),
    #050914;
}
.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, 1.15fr) minmax(420px, .85fr);
}
.login-brand-panel {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: clamp(46px, 7vw, 110px);
  border-right: 1px solid rgba(111, 170, 255, .12);
  background:
    linear-gradient(135deg, rgba(8, 18, 35, .92), rgba(6, 10, 21, .84)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.014) 0 1px, transparent 1px 74px);
}
.login-brand-panel::after {
  content: '';
  position: absolute;
  inset: 11% 8%;
  border: 1px solid rgba(77, 157, 255, .07);
  border-radius: 42px;
  pointer-events: none;
}
.login-orb { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.login-orb-one { width: 430px; height: 430px; top: -190px; right: -150px; background: radial-gradient(circle, rgba(42, 136, 255, .24), transparent 67%); }
.login-orb-two { width: 360px; height: 360px; bottom: -160px; left: -110px; background: radial-gradient(circle, rgba(174, 75, 255, .18), transparent 67%); }
.login-brand-content { position: relative; z-index: 2; width: min(690px, 100%); }
.login-logo { display: flex; align-items: center; gap: 17px; margin-bottom: clamp(70px, 9vh, 130px); }
.login-logo > span {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(88, 169, 255, .36);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(22, 73, 124, .65), rgba(51, 20, 89, .7));
  color: white;
  font-size: 27px;
  font-weight: 900;
  letter-spacing: -.08em;
  box-shadow: 0 18px 60px rgba(24, 91, 199, .18), inset 0 1px 0 rgba(255,255,255,.1);
}
.login-logo div { display: grid; gap: 2px; }
.login-logo strong { font-size: 21px; letter-spacing: .08em; }
.login-logo small { color: #7f8ea8; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.login-brand-content h1 {
  max-width: 720px;
  margin: 16px 0 22px;
  color: #f3f7ff;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .98;
  letter-spacing: -.055em;
}
.login-brand-content > p { max-width: 650px; margin: 0; color: #91a1ba; font-size: clamp(15px, 1.2vw, 18px); line-height: 1.8; }
.login-feature-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.login-feature-row span {
  padding: 9px 12px;
  border: 1px solid rgba(91, 160, 255, .17);
  border-radius: 999px;
  background: rgba(12, 26, 46, .62);
  color: #9fb4d2;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.login-form-panel {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: clamp(30px, 5vw, 90px);
  background: linear-gradient(180deg, rgba(9, 14, 27, .88), rgba(4, 8, 17, .96));
}
.login-card {
  width: min(470px, 100%);
  padding: clamp(28px, 4vw, 46px);
  border: 1px solid rgba(120, 166, 229, .15);
  border-radius: 25px;
  background: linear-gradient(145deg, rgba(15, 25, 43, .9), rgba(8, 13, 25, .93));
  box-shadow: 0 36px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}
.login-card-heading { margin-bottom: 28px; }
.login-card-heading h2 { margin: 7px 0 8px; color: #f0f5ff; font-size: 34px; letter-spacing: -.035em; }
.login-card-heading p { margin: 0; color: #7f90aa; line-height: 1.6; }
.login-field { display: grid; gap: 8px; margin-top: 17px; }
.login-field span { color: #9eabc0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.login-field input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(118, 157, 211, .17);
  border-radius: 13px;
  outline: none;
  background: rgba(4, 10, 20, .74);
  color: #eff5ff;
  font: inherit;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.login-field input:focus { border-color: rgba(59, 149, 255, .66); background: rgba(7, 16, 31, .9); box-shadow: 0 0 0 4px rgba(37, 126, 255, .09); }
.login-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 54px;
  margin-top: 25px;
  padding: 0 18px;
  border: 1px solid rgba(73, 161, 255, .42);
  border-radius: 14px;
  background: linear-gradient(90deg, #126fcb, #5145d7 58%, #7136c7);
  color: white;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 15px 36px rgba(40, 89, 210, .25), inset 0 1px 0 rgba(255,255,255,.2);
}
.login-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.login-submit span { font-size: 22px; }
.login-mode-card {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 22px;
  padding: 13px 14px;
  border: 1px solid rgba(116, 150, 203, .12);
  border-radius: 13px;
  background: rgba(4, 9, 18, .48);
}
.login-mode-card > div { display: grid; gap: 3px; }
.login-mode-card strong { color: #c9d6ea; font-size: 12px; }
.login-mode-card small { color: #718199; font-size: 11px; }
.mode-dot { width: 9px; height: 9px; border-radius: 50%; box-shadow: 0 0 16px currentColor; }
.mode-dot.sql { color: #2ce7a5; background: currentColor; }
.login-alert { display: grid; gap: 3px; margin-bottom: 18px; padding: 13px 14px; border-radius: 12px; font-size: 12px; }
.login-alert strong { color: #eef4ff; }
.login-alert span { color: #c0c9d8; line-height: 1.5; }
.login-alert.danger { border: 1px solid rgba(255, 82, 110, .28); background: rgba(255, 82, 110, .08); }
.login-alert.warning { border: 1px solid rgba(246, 184, 63, .28); background: rgba(246, 184, 63, .08); }
.login-security-note { display: block; margin-top: 18px; color: #66758d; line-height: 1.55; text-align: center; }

@media (max-width: 960px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-brand-panel { min-height: auto; padding: 34px 28px 42px; border-right: 0; border-bottom: 1px solid rgba(111,170,255,.1); }
  .login-brand-panel::after, .login-orb { display: none; }
  .login-logo { margin-bottom: 38px; }
  .login-brand-content h1 { font-size: clamp(36px, 10vw, 55px); }
  .login-form-panel { padding: 30px 18px 46px; }
}
@media (max-width: 600px) {
  .runtime-warning { align-items: flex-start; flex-direction: column; }
  .login-brand-panel { padding: 25px 20px 32px; }
  .login-logo > span { width: 57px; height: 57px; }
  .login-feature-row { display: none; }
  .login-card { padding: 25px 20px; border-radius: 20px; }
}

/* NX-RPG UCP V0.6–V0.8 · Staff Control Panel */
.heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.staff-nav-label { color: #a987ff !important; }
.staff-nav-item { border-color: rgba(145,100,255,.06); }
.staff-nav-item::before { background: linear-gradient(180deg, #48b8ff, #aa62ff) !important; }
.staff-nav-item.active { background: linear-gradient(90deg, rgba(38,110,193,.18), rgba(125,61,202,.13)); }
.staff-rank-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 31px; padding: 0 10px; border: 1px solid rgba(151,103,255,.27); border-radius: 9px; color: #d9ccff; background: linear-gradient(105deg, rgba(45,120,220,.12), rgba(154,78,245,.14)); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.staff-rank-pill svg { width: 15px; height: 15px; color: #9b75ff; }
.staff-rank-pill span { font-size: 9px; font-weight: 850; letter-spacing: .035em; }
.staff-rank-pill strong { padding: 3px 6px; border-radius: 5px; color: #71c8ff; background: rgba(29,107,178,.17); font-size: 8px; }
.staff-warning { border-color: rgba(167,104,255,.33); background: linear-gradient(90deg, rgba(56,72,149,.18), rgba(130,58,172,.13)); }
.tag.violet { color: #caa5ff; border-color: rgba(168,85,247,.25); background: rgba(116,48,181,.17); }

.staff-identity { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; gap: 17px; align-items: center; min-height: 112px; margin-bottom: 17px; padding: 19px 21px; border-radius: 15px; overflow: hidden; }
.staff-identity::after { content: ""; position: absolute; right: -70px; top: -100px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(135,75,255,.17), transparent 65%); pointer-events: none; }
.staff-emblem { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(113,148,255,.31); border-radius: 15px; color: #a68cff; background: linear-gradient(135deg, rgba(29,115,208,.19), rgba(143,66,222,.16)); }
.staff-emblem svg { width: 27px; height: 27px; }
.staff-identity h2 { margin: 4px 0 3px; font-size: 22px; }
.staff-identity p { margin: 0; color: var(--muted); font-size: 10px; }
.staff-metrics .metric-card { --accent-glow: radial-gradient(circle, rgba(82,127,255,.13), transparent 65%); }
.metric-icon.cyan { color: #53d8ff; background: rgba(47,162,212,.14); }
.metric-icon.violet { color: #be7dff; background: rgba(150,67,218,.14); }
.metric-icon.blue { color: #73a9ff; background: rgba(45,105,194,.14); }
.metric-icon.green { color: #40eaa8; background: rgba(30,159,107,.14); }
.staff-metrics .metric-card small { color: #718097; font-size: 8px; }

.staff-queues { align-items: start; }
.inline-link { width: auto; min-height: auto; margin: 0; padding: 0; border: 0; }
.queue-row { width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 58px; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(110,139,180,.1); color: inherit; background: transparent; cursor: pointer; text-align: left; }
.queue-row:hover { transform: translateX(3px); }
.queue-icon { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(83,147,235,.18); border-radius: 9px; color: #76b9ff; background: rgba(40,106,182,.11); }
.queue-icon svg { width: 16px; height: 16px; }
.queue-row > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.queue-row strong, .queue-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.queue-row strong { color: #dce7f6; font-size: 10px; }
.queue-row small { color: #738198; font-size: 8px; }

.staff-toolbar { grid-template-columns: minmax(260px, 1fr) 210px; }
.staff-toolbar select { min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: #0a1728; font-size: 10px; }
.staff-list { display: flex; flex-direction: column; gap: 9px; }
.staff-work-item { display: grid; grid-template-columns: 58px minmax(0, 1fr) 145px auto auto; gap: 13px; align-items: center; min-height: 88px; padding: 14px 16px; border-radius: 13px; }
.staff-work-item[hidden] { display: none; }
.work-id { display: grid; place-items: center; min-height: 48px; border: 1px solid rgba(85,144,226,.18); border-radius: 10px; color: #82baff; background: rgba(42,95,164,.10); font-size: 11px; font-weight: 850; }
.work-main { min-width: 0; }
.work-main h3 { margin: 4px 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.work-main p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #75859a; font-size: 9px; }
.work-assignee { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.work-assignee small { color: #6d7b8f; font-size: 8px; text-transform: uppercase; }
.compact-button { min-height: 30px !important; padding: 0 11px !important; font-size: 8px !important; }
.ticket-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.interactive-card { cursor: pointer; }
.interactive-card:hover { border-color: rgba(85,146,233,.35); transform: translateY(-1px); }
.decision-preview { display: flex; flex-direction: column; gap: 5px; margin-top: 12px; padding: 10px; border: 1px solid rgba(77,141,226,.15); border-radius: 9px; background: rgba(37,87,151,.07); }
.decision-preview strong { color: #82baff; font-size: 8px; text-transform: uppercase; }
.decision-preview span { color: #a9b6c8; font-size: 9px; }

.staff-dialog-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-bottom: 14px; }
.staff-dialog-meta > span { display: flex; flex-direction: column; gap: 5px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: rgba(8,18,32,.55); }
.staff-dialog-meta small { color: #6d7d92; font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }
.staff-dialog-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.conversation-thread { max-height: 330px; overflow: auto; display: flex; flex-direction: column; gap: 9px; margin: 10px 0 15px; padding-right: 5px; }
.conversation-message { width: min(88%, 620px); padding: 11px 13px; border: 1px solid rgba(95,140,201,.15); border-radius: 12px 12px 12px 4px; background: rgba(15,32,55,.56); }
.conversation-message.staff { align-self: flex-end; border-radius: 12px 12px 4px 12px; border-color: rgba(141,84,239,.22); background: rgba(65,35,111,.30); }
.conversation-message.internal { align-self: stretch; width: 100%; border-style: dashed; border-color: rgba(246,184,63,.27); background: rgba(118,77,11,.13); }
.conversation-message header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.conversation-message header strong { color: #e0e9f7; font-size: 9px; }
.conversation-message header span { color: #6f7f94; font-size: 7px; }
.conversation-message > small { display: block; margin-bottom: 5px; color: #ffd16e; font-size: 7px; font-weight: 900; }
.conversation-message p { margin: 0; color: #aebccd; font-size: 10px; line-height: 1.6; }
.conversation-reply { margin-top: 12px; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dialog-notice { margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(246,184,63,.22); border-radius: 9px; color: #d3b978; background: rgba(132,87,14,.11); font-size: 9px; }
.detail-dialog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0 15px; }
.detail-dialog-grid section { padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: rgba(7,16,29,.5); }
.detail-dialog-grid p { margin: 8px 0 0; color: #a9b6c8; font-size: 10px; line-height: 1.6; }

.player-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.search-field.large { min-height: 48px; }
.form-hint { margin: 9px 0 0; color: #6f7e92; font-size: 8px; }
.player-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 13px; }
.player-result-card { padding: 15px; border-radius: 13px; }
.player-result-head { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.player-result-head .fallback-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: #e5eeff; background: linear-gradient(135deg, #17385c, #331b4c); font-size: 12px; font-weight: 900; }
.player-result-head h3 { margin: 3px 0; font-size: 13px; }
.player-result-head p { margin: 0; color: #758499; font-size: 8px; }
.compact-details { margin-top: 10px; }
.compact-details div { min-height: 35px; }

.audit-table-wrap { overflow: auto; }
.audit-table { min-width: 940px; }
.audit-table td { vertical-align: top; }
.audit-table td > small, .audit-table td small { display: block; margin-top: 4px; color: #6f7e92; font-size: 7px; }
.audit-table code { display: block; max-width: 330px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #8fa4bf; font-size: 8px; }

@media (max-width: 1180px) {
  .staff-work-item { grid-template-columns: 52px minmax(0,1fr) auto auto; }
  .work-assignee { grid-column: 2; grid-row: 2; }
  .staff-work-item > .tag { grid-column: 3; grid-row: 1 / span 2; }
  .staff-work-item > .primary-button { grid-column: 4; grid-row: 1 / span 2; }
}

@media (max-width: 820px) {
  .heading-actions { justify-content: flex-start; }
  .staff-identity { grid-template-columns: 48px minmax(0,1fr); }
  .staff-identity > .tag { grid-column: 1 / -1; }
  .staff-toolbar { grid-template-columns: 1fr; }
  .staff-work-item { grid-template-columns: 46px minmax(0,1fr); }
  .work-id { min-height: 42px; }
  .work-assignee, .staff-work-item > .tag, .staff-work-item > .primary-button { grid-column: 2; grid-row: auto; }
  .staff-work-item > .primary-button { justify-self: start; }
  .staff-dialog-meta, .detail-dialog-grid { grid-template-columns: 1fr; }
  .conversation-message { width: 95%; }
  .player-search-form { grid-template-columns: 1fr; }
  .player-result-grid { grid-template-columns: 1fr; }
}

/* V0.8 staff jogosultság: csak olvasható workflow mező */
.readonly-field {
  min-height: 74px;
  justify-content: center;
  padding: 12px 14px;
  border: 1px solid rgba(142, 164, 203, 0.16);
  border-radius: 12px;
  background: rgba(10, 17, 31, 0.58);
}

.readonly-field strong {
  color: var(--text-primary);
  font-size: 0.94rem;
  font-weight: 650;
}


/* NX Vehicle Catalog V0.12 */
.vehicle-card { min-height: 455px; }
.vehicle-visual.has-image {
  min-height: 170px;
  padding: 0;
  background:
    radial-gradient(circle at 50% 10%, rgba(63,156,255,.13), transparent 48%),
    linear-gradient(145deg, rgba(11,25,43,.96), rgba(5,11,21,.95));
}
.vehicle-preview-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 10px 14px 25px;
  object-fit: contain;
  object-position: center;
  z-index: 1;
}
.vehicle-id-label { z-index: 3; }
.vehicle-image-state {
  position: relative;
  z-index: 2;
  display: flex;
  max-width: 72%;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 78px;
  color: #7f91aa;
  text-align: center;
}
.vehicle-image-state strong { color: #aebdd1; font-size: 9px; font-weight: 750; }
.vehicle-image-state small {
  position: static;
  max-width: 100%;
  overflow: hidden;
  color: #667991;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.catalog-state {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 19px;
  margin-top: 8px;
  padding: 0 6px;
  border: 1px solid rgba(65,220,171,.18);
  border-radius: 5px;
  color: #57e8b6;
  background: rgba(26,126,91,.12);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.catalog-state.warning {
  border-color: rgba(255,193,83,.2);
  color: #f7c86e;
  background: rgba(139,91,10,.14);
}
.vehicle-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vehicle-stats strong { white-space: normal; line-height: 1.35; }

@media (max-width: 720px) {
  .vehicle-card { min-height: 0; }
  .vehicle-visual.has-image { min-height: 150px; }
}

/* NX-RPG UCP V0.13–V0.16 · ellenőrzött resource-adatok */
.status-unavailable .status-title { opacity: .72; }
.unavailable-value {
  display: flex;
  min-height: 30px;
  flex-direction: column;
  justify-content: center;
  border: 1px dashed rgba(153, 174, 207, .18);
  border-radius: 8px;
  padding: 5px 8px;
  background: rgba(9, 16, 29, .38);
}
.unavailable-value strong { color: #a7b5ca; font-size: 8px; }
.unavailable-value small { color: #66778f; font-size: 7px; }
.compact-unavailable { display: grid !important; grid-template-columns: 1fr auto !important; }
.compact-unavailable strong { color: #8393aa !important; font-size: 8px !important; }
.muted-copy { color: #78899f; font-size: 8px; }
.license.expired { border-color: rgba(255,82,110,.26); color: #ff748c; background: rgba(126,28,45,.13); }

.document-list { display: grid; gap: 9px; }
.document-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(125, 150, 189, .14);
  border-radius: 11px;
  background: rgba(8, 16, 29, .55);
}
.document-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 9px;
  color: #70b7ff;
  background: rgba(36, 117, 196, .13);
}
.document-icon svg { width: 18px; height: 18px; }
.document-card strong, .document-card small { display: block; }
.document-card strong { margin: 3px 0; color: var(--text-primary); font-size: 10px; }
.document-card small { color: #718198; font-size: 7px; }
.readonly-empty, .readonly-note, .integration-callout {
  border: 1px dashed rgba(135, 160, 198, .19);
  border-radius: 10px;
  padding: 10px 12px;
  color: #8494aa;
  background: rgba(8, 15, 27, .42);
  font-size: 8px;
  line-height: 1.55;
}
.readonly-note { margin-top: 10px; }
.wide-note { margin-top: 12px; }
.integration-callout { margin: 12px 0; border-style: solid; }
.integration-callout strong { display: block; margin-bottom: 5px; color: #dbe7f7; font-size: 10px; }
.integration-callout p { margin: 0; }
.integration-callout.warning { border-color: rgba(247,190,81,.2); background: rgba(113,75,13,.1); }

.bank-readonly-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  margin: 10px 0;
  padding: 16px;
  border: 1px solid rgba(68, 147, 236, .17);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(20,54,94,.56), rgba(33,20,66,.45));
}
.bank-readonly-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 14px; color: #69afff; background: rgba(45,130,225,.15); }
.bank-readonly-icon svg { width: 25px; height: 25px; }
.bank-readonly-hero small, .bank-readonly-hero strong, .bank-readonly-hero p { display: block; }
.bank-readonly-hero small { color: #8295af; font-size: 7px; letter-spacing: .08em; }
.bank-readonly-hero strong { margin: 5px 0; color: #edf5ff; font-size: 19px; }
.bank-readonly-hero p { margin: 0; color: #7f91aa; font-size: 8px; }

.cards-readonly-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.readonly-bank-card { filter: saturate(.72); }
.readonly-bank-card .bank-card-number { font-size: 12px; letter-spacing: .08em; }
.inventory-card-record { min-width: 0; }

.detail-dialog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.detail-dialog-grid h4, .dialog-section h4 { margin: 0 0 8px; color: #e7f0fb; font-size: 10px; }
.dialog-section { margin-top: 14px; }
.dialog-detail-list { margin-bottom: 10px; }
.tuning-chip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: 7px; }
.tuning-chip-grid span { display: flex; flex-direction: column; gap: 3px; padding: 8px 9px; border: 1px solid rgba(112,144,188,.15); border-radius: 8px; color: #7f90a8; background: rgba(8,15,28,.48); font-size: 7px; }
.tuning-chip-grid b { color: #dce8f7; font-size: 8px; }

@media (max-width: 720px) {
  .document-card { grid-template-columns: 34px minmax(0, 1fr); }
  .document-card > .tag { grid-column: 2; justify-self: start; }
  .detail-dialog-grid { grid-template-columns: 1fr; }
  .cards-readonly-grid { grid-template-columns: 1fr; }
}

/* V0.16 resource-audit states */
.notification-empty { display:flex; flex-direction:column; gap:5px; padding:16px; color:var(--text); }
.notification-empty small { color:var(--muted); font-size:10px; line-height:1.45; }
.settings-status-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px; border:1px solid var(--line); border-radius:10px; background:rgba(5,13,25,.28); }
.settings-status-row > div { display:flex; flex-direction:column; gap:4px; }
.settings-status-row strong { font-size:10px; }
.settings-status-row span { color:var(--muted); font-size:8px; line-height:1.4; }
body.no-animations *, body.no-animations *::before, body.no-animations *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }

/* NX-RPG UCP V0.17–V0.20 · economy, faction ledger, catalog prices */
.transaction-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.transaction-summary-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 16px;
}
.transaction-summary-grid > div {
  min-height: 92px;
  padding: 16px 18px;
  border: 1px solid rgba(130, 173, 236, .13);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(16, 29, 49, .78), rgba(10, 17, 31, .86));
  box-shadow: inset 0 1px rgba(255,255,255,.025);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.transaction-summary-grid span {
  color: var(--muted, #8ea2bd);
  font-size: 12px;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.transaction-summary-grid strong {
  color: var(--text, #edf4ff);
  font-size: clamp(18px, 1.45vw, 25px);
  line-height: 1.15;
}
.transaction-summary-grid strong.positive,
.data-table .amount.positive { color: #3ae3a3; }
.transaction-summary-grid strong.negative,
.data-table .amount.negative { color: #ff6f88; }
.finance-toolbar,
.staff-toolbar {
  align-items: center;
  flex-wrap: wrap;
}
.finance-toolbar .search-field,
.staff-toolbar .search-field { flex: 1 1 340px; }
.finance-toolbar select,
.staff-toolbar select {
  min-width: 180px;
  min-height: 44px;
  border: 1px solid rgba(130, 173, 236, .16);
  border-radius: 12px;
  background: rgba(8, 16, 29, .86);
  color: var(--text, #edf4ff);
  padding: 0 38px 0 14px;
}
.economy-table td strong,
.staff-economy-table td strong { display: block; }
.economy-table td small,
.staff-economy-table td small {
  display: block;
  margin-top: 4px;
  color: var(--muted, #8ea2bd);
  max-width: 460px;
  overflow-wrap: anywhere;
}
.economy-table .amount,
.staff-economy-table .amount {
  font-weight: 800;
  white-space: nowrap;
}
.faction-layout .full-span .table-wrap { margin-top: 4px; }
.bank-panel .status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #25e49a;
  box-shadow: 0 0 12px rgba(37,228,154,.65);
}
@media (max-width: 1250px) {
  .transaction-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .transaction-summary-grid,
  .transaction-summary-grid.compact { grid-template-columns: 1fr 1fr; }
  .transaction-summary-grid > div { min-height: 80px; }
  .finance-toolbar select,
  .staff-toolbar select { width: 100%; }
}
@media (max-width: 480px) {
  .transaction-summary-grid,
  .transaction-summary-grid.compact { grid-template-columns: 1fr; }
}

/* NX-RPG UCP V0.21–V0.25 · structured server event log */
.event-search-panel { margin-bottom: 16px; }
.event-search-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.event-search-form .field { min-width: 0; }
.event-search-form input,
.event-search-form select {
  width: 100%;
  min-height: 43px;
}
.event-search-form .field-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(86px, .65fr);
  gap: 8px;
}
.event-search-text { grid-column: span 3; }
.event-search-actions {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 8px;
}
.event-results-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 2px 12px;
}
.event-results-heading > div { display: flex; align-items: baseline; gap: 10px; }
.event-results-heading strong { color: var(--text, #edf4ff); font-size: 18px; }
.event-log-list { display: grid; gap: 12px; }
.event-log-card {
  position: relative;
  overflow: hidden;
  padding: 17px 18px;
}
.event-log-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, #35a6ff, #8a57f5);
  opacity: .82;
}
.event-log-head,
.event-party-grid,
.event-log-tags {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.event-log-head { justify-content: space-between; }
.event-log-head h3 {
  margin: 5px 0 0;
  color: var(--text, #edf4ff);
  font-size: 14px;
}
.event-log-head-tags {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  text-align: right;
}
.event-log-head-tags time { color: var(--muted, #8ea2bd); font-size: 9px; white-space: nowrap; }
.event-party-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}
.event-party {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(120, 158, 212, .13);
  border-radius: 11px;
  background: rgba(7, 15, 28, .5);
}
.event-party > span,
.event-party strong,
.event-party small { display: block; }
.event-party > span { margin-bottom: 5px; color: #7387a2; font-size: 7px; letter-spacing: .09em; text-transform: uppercase; }
.event-party strong { color: #e4eefb; font-size: 10px; }
.event-party small { margin-top: 4px; color: #7f92aa; font-size: 8px; }
.event-message {
  margin: 13px 0 0;
  padding: 12px 14px;
  border-left: 2px solid rgba(80, 172, 255, .62);
  border-radius: 0 9px 9px 0;
  color: #d7e3f2;
  background: rgba(15, 34, 58, .42);
  font-size: 10px;
  line-height: 1.58;
  overflow-wrap: anywhere;
}
.event-log-tags {
  flex-wrap: wrap;
  margin-top: 12px;
}
.event-log-tags > span,
.event-item-pill,
.event-amount {
  padding: 5px 8px;
  border: 1px solid rgba(125, 159, 206, .14);
  border-radius: 8px;
  color: #879ab3;
  background: rgba(7, 15, 27, .48);
  font-size: 8px;
}
.event-item-pill { color: #66bcff !important; }
.event-amount { font-weight: 800; }
.event-amount.positive { color: #3ae3a3 !important; }
.event-amount.negative { color: #ff7890 !important; }
.event-metadata { margin-top: 12px; }
.event-metadata summary {
  cursor: pointer;
  color: #7f93af;
  font-size: 8px;
  user-select: none;
}
.event-metadata pre {
  max-height: 280px;
  overflow: auto;
  margin: 9px 0 0;
  padding: 11px;
  border: 1px solid rgba(117, 153, 203, .14);
  border-radius: 9px;
  color: #a8bdd7;
  background: rgba(3, 9, 17, .72);
  font: 8px/1.5 Consolas, Monaco, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 1350px) {
  .event-search-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .event-search-text { grid-column: span 2; }
}
@media (max-width: 900px) {
  .event-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-search-text { grid-column: span 2; }
  .event-search-actions { grid-column: span 2; justify-content: flex-start; }
}
@media (max-width: 620px) {
  .event-search-form { grid-template-columns: 1fr; }
  .event-search-text,
  .event-search-actions { grid-column: auto; }
  .event-search-actions { flex-direction: column; align-items: stretch; }
  .event-party-grid { grid-template-columns: 1fr; }
  .event-log-head { flex-direction: column; }
  .event-log-head-tags { justify-content: flex-start; text-align: left; }
}

/* NX-RPG UCP V0.26–V0.30 · event chains, evidence and pagination */
.event-page-actions { flex-wrap: wrap; justify-content: flex-end; }
.event-select {
  position: relative;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  cursor: pointer;
}
.event-select input { position: absolute; opacity: 0; pointer-events: none; }
.event-select span {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(129, 165, 216, .35);
  border-radius: 6px;
  background: rgba(5, 13, 25, .72);
  box-shadow: inset 0 0 0 2px rgba(5, 13, 25, .9);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.event-select input:checked + span {
  border-color: rgba(89, 182, 255, .9);
  background: linear-gradient(135deg, #33a8ff, #8d5bff);
  box-shadow: inset 0 0 0 3px #0b1627, 0 0 16px rgba(75, 152, 255, .22);
}
.event-chain-card { overflow: hidden; padding: 0; }
.event-chain-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(122, 156, 204, .12);
  background: linear-gradient(120deg, rgba(25, 75, 120, .18), rgba(99, 53, 156, .11));
}
.event-chain-head h3 { margin: 5px 0 4px; color: var(--text, #edf4ff); font-size: 14px; }
.event-chain-head p { margin: 0; color: #7790ad; font: 8px/1.5 Consolas, Monaco, monospace; overflow-wrap: anywhere; }
.event-chain-timeline { position: relative; display: grid; gap: 0; padding: 8px 20px 4px 34px; }
.event-chain-timeline::before {
  content: '';
  position: absolute;
  top: 25px;
  bottom: 25px;
  left: 20px;
  width: 1px;
  background: linear-gradient(#3eb3ff, rgba(144, 83, 255, .28));
}
.event-chain-step { position: relative; padding: 15px 0 16px; border-bottom: 1px solid rgba(120, 158, 212, .09); }
.event-chain-step:last-child { border-bottom: 0; }
.event-chain-step::before {
  content: '';
  position: absolute;
  left: -18px;
  top: 24px;
  width: 8px;
  height: 8px;
  border: 2px solid #66c1ff;
  border-radius: 50%;
  background: #0a1627;
  box-shadow: 0 0 12px rgba(87, 180, 255, .34);
}
.event-chain-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px;
  border-top: 1px solid rgba(122, 156, 204, .1);
  color: #7f92ab;
  background: rgba(4, 11, 21, .42);
  font-size: 8px;
}
.event-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 15px 0 4px;
}
.event-pagination span { color: #8da1ba; font-size: 9px; }
.evidence-panel { margin-top: 16px; }
.evidence-set-list { display: grid; gap: 10px; }
.evidence-set-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(122, 159, 210, .13);
  border-radius: 12px;
  background: rgba(6, 15, 28, .5);
}
.evidence-set-card > div:first-child { min-width: 0; }
.evidence-set-card h3 { margin: 5px 0 4px; color: #e9f2ff; font-size: 12px; }
.evidence-set-card p { margin: 0 0 5px; color: #8799b1; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.evidence-set-card small { color: #697f9b; font-size: 8px; }
@media (max-width: 760px) {
  .event-page-actions { width: 100%; justify-content: flex-start; }
  .event-chain-head,
  .event-chain-card > footer,
  .evidence-set-card { flex-direction: column; align-items: flex-start; }
  .event-chain-timeline { padding-left: 28px; }
  .event-chain-timeline::before { left: 15px; }
  .event-chain-step::before { left: -17px; }
  .event-pagination { flex-wrap: wrap; }
}

/* NX-RPG UCP V0.31 · live server bridge */
.statusbar {
  grid-template-columns: minmax(205px, 1.15fr) minmax(150px, .8fr) minmax(150px, .8fr) minmax(220px, 1.15fr) auto;
}
.statusbar > .status-segment,
.statusbar > .status-links {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 32px;
  padding: 0 22px;
  border: 0;
  border-right: 1px solid var(--line);
  color: inherit;
  background: transparent;
  text-align: left;
}
.statusbar > .status-segment:first-child { padding-left: 0; }
.statusbar > .status-links:last-child { border-right: 0; padding-right: 0; }
.status-detail-trigger { cursor: pointer; }
.status-detail-trigger:hover strong { filter: brightness(1.16); }
.status-detail-trigger:focus-visible {
  outline: 1px solid rgba(83, 169, 255, .72);
  outline-offset: 4px;
  border-radius: 9px;
}
.server-online {
  max-width: 185px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}
.server-online::before {
  content: '';
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 9px currentColor;
}
.server-online.is-online { color: #35efa9; background: rgba(15,128,86,.16); }
.server-online.is-offline { color: #ff657c; background: rgba(190,48,73,.15); }
.server-online.is-maintenance { color: #ffc862; background: rgba(194,127,32,.16); }
.server-online.is-restart { color: #b58cff; background: rgba(116,70,204,.17); }
.server-online.is-unavailable { color: #8798ad; background: rgba(90,109,133,.13); }
.status-links a,
.status-links .community-link-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: #8190a5;
  background: transparent;
  text-decoration: none;
  font-size: 8px;
  transition: color .16s ease, border-color .16s ease, background .16s ease;
}
.status-links a:hover { color: #fff; border-color: rgba(90,145,225,.48); background: rgba(44,106,190,.12); }
.status-links .community-link-disabled { cursor: not-allowed; opacity: .4; }
.server-health-banner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid rgba(112, 156, 219, .17);
  border-radius: 14px;
  background: rgba(118, 159, 218, .12);
}
.server-health-banner > div {
  min-height: 78px;
  padding: 17px 18px;
  background: rgba(5, 13, 25, .83);
}
.server-health-banner span,
.server-detail-grid span {
  display: block;
  margin-bottom: 7px;
  color: #6f839d;
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.server-health-banner strong { color: #eaf3ff; font-size: 13px; }
.server-health-banner.state-online { border-color: rgba(53, 239, 169, .22); }
.server-health-banner.state-offline { border-color: rgba(255, 101, 124, .25); }
.server-health-banner.state-maintenance { border-color: rgba(255, 200, 98, .27); }
.server-health-banner.state-restart { border-color: rgba(181, 140, 255, .28); }
.server-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 20px;
}
.server-detail-grid > div {
  min-height: 66px;
  padding: 14px 15px;
  border: 1px solid rgba(117, 154, 205, .13);
  border-radius: 11px;
  background: rgba(6, 15, 28, .55);
}
.server-detail-grid strong { color: #dfeaff; font-size: 10px; overflow-wrap: anywhere; }
.server-resource-list {
  display: grid;
  max-height: min(440px, 52vh);
  overflow: auto;
  border: 1px solid rgba(119, 158, 213, .13);
  border-radius: 12px;
  background: rgba(4, 11, 21, .42);
}
.server-resource-row {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) minmax(80px, auto) auto;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 9px 12px;
  border-bottom: 1px solid rgba(112, 149, 200, .09);
}
.server-resource-row:last-child { border-bottom: 0; }
.server-resource-row.critical { background: linear-gradient(90deg, rgba(50, 128, 217, .08), transparent 55%); }
.server-resource-state { width: 8px; height: 8px; border-radius: 50%; }
.server-resource-state.healthy { background: #35efa9; box-shadow: 0 0 9px rgba(53, 239, 169, .44); }
.server-resource-state.unhealthy { background: #ff657c; box-shadow: 0 0 9px rgba(255, 101, 124, .4); }
.server-resource-row > div { min-width: 0; }
.server-resource-row strong { display: block; overflow: hidden; color: #e6f0ff; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.server-resource-row small { display: block; margin-top: 4px; overflow: hidden; color: #71869f; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.server-resource-row > span:nth-child(3) { color: #8ea1ba; font: 8px/1.3 Consolas, Monaco, monospace; }
.integration-callout.danger { border-color: rgba(255, 101, 124, .28); background: rgba(186, 48, 72, .1); }
.integration-callout.danger strong { color: #ff9bac; }

@media (max-width: 1180px) {
  .statusbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .status-links { display: none !important; }
  .statusbar > .status-segment:nth-child(4) { border-right: 0; }
}
@media (max-width: 820px) {
  .statusbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .status-local-time { display: none !important; }
  .statusbar > .status-segment:nth-child(3) { border-right: 0; }
  .server-online { max-width: 145px; }
}
@media (max-width: 650px) {
  .server-health-banner,
  .server-detail-grid { grid-template-columns: 1fr; }
  .server-resource-row { grid-template-columns: 12px minmax(0, 1fr) auto; }
  .server-resource-row > span:nth-child(3) { display: none; }
}

/* V0.31 responsive override for the older statusbar nth-child rules */
@media (max-width: 1180px) {
  .statusbar > .status-segment:nth-child(3) { display: flex; border-right: 1px solid var(--line); }
}
@media (max-width: 820px) {
  .statusbar > .status-segment:nth-child(2) { border-right: 1px solid var(--line); }
  .statusbar > .status-segment:nth-child(3) { display: flex; border-right: 0; }
}

/* UCP V0.32 – működő és átlátható staff játékoskereső */
.player-search-summary {
  grid-column: 1 / -1;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.player-search-summary strong {
  color: #e8f1ff;
  font-size: 11px;
}
.player-search-summary span {
  color: #8090a7;
  font-size: 8px;
  overflow-wrap: anywhere;
}
.player-search-form button:disabled {
  opacity: .55;
  cursor: wait;
}
@media (max-width: 640px) {
  .player-search-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* UCP V0.32.1 – staff játékosprofil / account áttekintés */
.player-result-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
.profile-readonly-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(93, 151, 239, .24);
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(40, 112, 216, .12), rgba(116, 64, 206, .08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.profile-readonly-notice strong { color: #dfeaff; font-size: 10px; }
.profile-readonly-notice span { color: #8295ae; font-size: 8px; text-align: right; }
.staff-profile-account-card { padding: 16px; }
.staff-profile-account-main {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}
.staff-profile-account-main h2 { margin: 4px 0; color: #edf4ff; font-size: 18px; }
.staff-profile-account-main p { margin: 0; color: #8191a8; font-size: 9px; }
.staff-profile-account-card .fallback-avatar.large,
.staff-profile-character-hero .fallback-avatar.large {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(104, 157, 236, .3);
  border-radius: 15px;
  color: #edf4ff;
  background: radial-gradient(circle at 30% 20%, rgba(63, 146, 255, .28), transparent 42%), linear-gradient(135deg, #122844, #241738);
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
  font-size: 16px;
  font-weight: 900;
}
.staff-profile-account-details { margin-top: 14px; }
.staff-profile-character-switch { margin-top: 14px; }
.staff-profile-character-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.staff-profile-character-options .character-option {
  min-height: 72px;
  padding: 10px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 10px;
  text-align: left;
}
.staff-profile-character-options .character-option .fallback-avatar {
  width: 44px;
  height: 44px;
  grid-row: 1 / 3;
  font-size: 13px;
}
.staff-profile-character-options .character-option strong { align-self: end; }
.staff-profile-character-options .character-option small { align-self: start; }
.staff-profile-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr);
  gap: 14px;
  margin-top: 14px;
}
.staff-profile-character-hero {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.staff-profile-character-hero h3 { margin: 0 0 4px; color: #edf4ff; font-size: 14px; }
.staff-profile-character-hero p { margin: 0 0 5px; color: #91a0b5; font-size: 9px; }
.staff-profile-character-hero span { color: #667a94; font-size: 8px; }
.staff-profile-money-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 9px;
  margin-bottom: 14px;
}
.staff-profile-money-grid > div,
.staff-profile-stat-list > div {
  min-height: 58px;
  padding: 11px 12px;
  border: 1px solid rgba(108, 148, 204, .11);
  border-radius: 11px;
  background: rgba(5, 12, 23, .42);
}
.staff-profile-money-grid span,
.staff-profile-stat-list span { display: block; color: #70829a; font-size: 8px; }
.staff-profile-money-grid strong,
.staff-profile-stat-list strong { display: block; margin-top: 6px; color: #e7f0ff; font-size: 11px; }
.staff-profile-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-subheading { margin-top: 16px; }
.staff-profile-documents { display: grid; gap: 8px; }
.staff-profile-document {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  padding: 10px 11px;
  border: 1px solid rgba(104, 145, 199, .11);
  border-radius: 10px;
  background: rgba(6, 13, 24, .35);
}
.staff-profile-document span { color: #8fa0b6; font-size: 8px; }
.staff-profile-document strong { color: #e4edfa; font-size: 9px; }
.staff-profile-document small { grid-column: 1 / -1; color: #667991; font-size: 7px; }
.profile-inline-empty { padding: 12px; color: #6d8098; font-size: 8px; text-align: center; }
.staff-profile-bottom-grid {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 14px;
  margin-top: 14px;
}
.staff-profile-stat-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.staff-profile-event-list .event-entry:last-child { border-bottom: 0; }

@media (max-width: 1050px) {
  .staff-profile-overview-grid,
  .staff-profile-bottom-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .profile-readonly-notice { align-items: flex-start; flex-direction: column; }
  .profile-readonly-notice span { text-align: left; }
  .staff-profile-account-main { grid-template-columns: 50px minmax(0, 1fr); }
  .staff-profile-account-main > .tag { grid-column: 1 / -1; justify-self: start; }
  .staff-profile-money-grid,
  .staff-profile-status-grid,
  .profile-detail-grid,
  .staff-profile-stat-list { grid-template-columns: 1fr; }
  .player-result-actions { justify-content: stretch; }
  .player-result-actions button { flex: 1 1 100%; }
}

/* NX-RPG V0.33 · Account / Character / Online ID contract */
.character-title p {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 7px;
  align-items: center;
}
.character-title p span {
  white-space: nowrap;
}
.online-pill {
  min-width: 76px;
  max-width: 150px;
  text-align: center;
  white-space: nowrap;
}
.player-result-card .tag.warning,
.staff-profile-account-main .tag.warning {
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .character-title p {
    font-size: 10px;
    line-height: 1.55;
  }
}

/* NX-RPG UCP V0.34.2 · Account / Character / Online ID contract */
.identity-contract-chip {
  max-width: 100%;
  border: 1px solid rgba(125, 143, 255, .26);
  background: rgba(10, 17, 31, .58);
}
.identity-contract-chip.success,
.identity-link-badge.success,
.identity-inline.success {
  border-color: rgba(45, 230, 164, .34);
  color: #8ff7d2;
  background: rgba(32, 190, 135, .10);
}
.identity-contract-chip.warning,
.identity-link-badge.warning,
.identity-inline.warning {
  border-color: rgba(246, 186, 65, .34);
  color: #ffd98b;
  background: rgba(225, 151, 33, .10);
}
.identity-contract-chip.danger,
.identity-link-badge.danger,
.identity-inline.danger {
  border-color: rgba(255, 78, 106, .38);
  color: #ff9aac;
  background: rgba(222, 48, 83, .11);
}
.identity-contract-chip.muted,
.identity-link-badge.muted,
.identity-inline.muted {
  border-color: rgba(143, 156, 184, .22);
  color: #a9b5ca;
  background: rgba(100, 116, 146, .08);
}
.identity-link-badge,
.identity-inline {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid rgba(125, 143, 255, .24);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .035em;
  line-height: 1.2;
  color: #c8d3e8;
  background: rgba(16, 24, 42, .62);
}
.identity-inline {
  margin-top: 5px;
  font-style: normal;
}
.player-identity-link {
  display: flex;
  justify-content: flex-end;
  margin: -2px 0 10px;
}
.player-match-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.player-match-tags span {
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(78, 142, 255, .25);
  background: rgba(54, 109, 220, .10);
  color: #9fc0ff;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.profile-readonly-notice .identity-link-badge {
  margin-left: auto;
}
.staff-profile-character-options .identity-link-badge {
  margin-top: 6px;
}
@media (max-width: 860px) {
  .profile-readonly-notice .identity-link-badge {
    margin-left: 0;
  }
  .player-identity-link {
    justify-content: flex-start;
  }
}


/* NX-RPG UCP V0.34.3 · játékoskereső account-részletek */
.player-account-details dd {
  min-width: 0;
  overflow-wrap: anywhere;
}
.account-state-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 8px;
  border: 1px solid rgba(143, 156, 184, .22);
  border-radius: 999px;
  background: rgba(100, 116, 146, .08);
  color: #a9b5ca;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.2;
}
.account-state-badge.success {
  border-color: rgba(45, 230, 164, .34);
  background: rgba(32, 190, 135, .10);
  color: #8ff7d2;
}
.account-state-badge.warning {
  border-color: rgba(246, 186, 65, .34);
  background: rgba(225, 151, 33, .10);
  color: #ffd98b;
}
.account-state-badge.danger {
  border-color: rgba(255, 78, 106, .38);
  background: rgba(222, 48, 83, .11);
  color: #ff9aac;
}
.account-state-badge.info {
  border-color: rgba(86, 155, 255, .34);
  background: rgba(48, 113, 214, .10);
  color: #a9ccff;
}
.account-state-detail {
  display: block;
  margin-top: 4px;
  color: #8190a6;
  font-size: 8px;
  line-height: 1.35;
}

/* V0.34.4 – közérthető UCP naplók és technikai kódok elkülönítése */
.tag.neutral {
  color: #aeb9c8;
  border-color: rgba(153, 169, 191, .18);
  background: rgba(78, 91, 111, .14);
}

.audit-refresh-button {
  min-width: 112px;
  justify-content: center;
}

.audit-toolbar-panel {
  margin-bottom: 14px;
}

.audit-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 12px;
  align-items: end;
}

.audit-toolbar .search-field {
  min-height: 46px;
}

.audit-filter-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}

.audit-filter-field > span {
  color: #76869b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.audit-filter-field select {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  outline: none;
  color: #dce6f4;
  background: rgba(7, 14, 25, .76);
  font: inherit;
  font-size: 12px;
}

.audit-filter-field select:focus {
  border-color: rgba(78, 150, 244, .46);
  box-shadow: 0 0 0 3px rgba(50, 116, 204, .09);
}

.audit-toolbar-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 11px;
  padding-top: 11px;
  border-top: 1px solid rgba(116, 143, 179, .10);
  color: #738399;
  font-size: 10px;
  line-height: 1.55;
}

.audit-toolbar-footer strong {
  flex: 0 0 auto;
  color: #a9b8cb;
}

.audit-list-panel {
  padding: 0;
  overflow: hidden;
}

.audit-table-wrap {
  overflow: auto;
}

.audit-table {
  min-width: 1260px;
  table-layout: fixed;
}

.audit-table th:nth-child(1),
.audit-table td:nth-child(1) { width: 165px; }
.audit-table th:nth-child(2),
.audit-table td:nth-child(2) { width: 230px; }
.audit-table th:nth-child(3),
.audit-table td:nth-child(3) { width: 225px; }
.audit-table th:nth-child(4),
.audit-table td:nth-child(4) { width: 225px; }

.audit-table th {
  padding: 17px 18px;
  color: #8d9bb0;
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.audit-table td {
  padding: 19px 18px;
  vertical-align: top;
}

.audit-table td > strong {
  display: block;
  color: #dce5f2;
  font-size: 12px;
  line-height: 1.5;
}

.audit-table td > small,
.audit-table td small {
  display: block;
  margin-top: 5px;
  color: #708095;
  font-size: 9px;
  line-height: 1.55;
}

.audit-table .tag {
  max-width: 210px;
  min-height: 28px;
  padding: 4px 10px;
  white-space: normal;
  font-size: 10px;
  line-height: 1.35;
  text-align: left;
}

.audit-summary {
  margin: 0;
  color: #b8c4d3;
  font-size: 12px;
  line-height: 1.65;
}

.audit-no-target {
  display: block;
  color: #718096;
  font-size: 10px;
  line-height: 1.55;
}

.audit-details {
  margin-top: 8px;
}

.audit-details summary {
  width: fit-content;
  cursor: pointer;
  color: #72b4ff;
  font-size: 10px;
  font-weight: 800;
  user-select: none;
}

.audit-details[open] summary {
  margin-bottom: 9px;
}

.audit-details dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}

.audit-details dl > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(101, 137, 185, .12);
  border-radius: 8px;
  background: rgba(7, 15, 27, .45);
}

.audit-details dt {
  margin-bottom: 4px;
  color: #687990;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.audit-details dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #aab8ca;
  font-size: 10px;
  line-height: 1.55;
}

.audit-technical-key {
  display: block;
  margin-top: 8px !important;
  padding-top: 7px;
  border-top: 1px dashed rgba(113, 139, 174, .12);
  color: #59687c !important;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}

@media (max-width: 820px) {
  .audit-toolbar {
    grid-template-columns: 1fr;
  }

  .audit-toolbar-footer {
    flex-direction: column;
  }

  .audit-details dl {
    grid-template-columns: 1fr;
  }
}


/* V0.34.5 – UCP naplók olvashatósági finomhangolás */
.audit-toolbar .search-field input {
  font-size: 12px;
}

.audit-list-panel .audit-table tbody tr {
  min-height: 76px;
}

.audit-list-panel .audit-table tbody tr + tr td {
  border-top-color: rgba(112, 143, 184, .15);
}

.audit-table td:nth-child(5) {
  padding-right: 24px;
}

@media (max-width: 1360px) {
  .audit-table { min-width: 1180px; }
  .audit-table th,
  .audit-table td { padding-left: 15px; padding-right: 15px; }
  .audit-table td > strong,
  .audit-summary { font-size: 11px; }
}

/* V0.34.6 – teljes UCP olvashatósági audit és naplófelületek finomhangolása */
:root {
  --nx-font-micro: 10px;
  --nx-font-small: 11px;
  --nx-font-body: 12px;
  --nx-font-body-strong: 13px;
}

/* Globális navigációs és keretező mikroszövegek */
.brand-copy span,
.nav-label,
.nav-badge,
.sidebar-footer,
.sidebar-footer strong,
.account-button small,
.popover-header span,
.notification-entry small,
.eyebrow,
.version-pill,
.online-pill,
.section-heading small,
.progress-row b,
.metric-card span,
.license,
.bank-card-top span,
.bank-card-bottom small,
.bank-summary span,
.event-copy span,
.event-entry time,
.statusbar span,
.status-links button,
.character-option.selected::before,
.character-option small,
.character-option span {
  font-size: var(--nx-font-micro);
}

.notification-count {
  width: 18px;
  height: 18px;
  font-size: var(--nx-font-micro);
}

/* Általános panelek, listák és vezérlők */
.section-heading,
.status-title,
.info-list dt,
.panel-link,
.dialog-header p,
.toast,
.summary-strip span,
.search-field input,
.search-field select,
.entity-title p,
.entity-stats strong,
.roster-copy span,
.profile-identity p,
.detail-list dd,
.compact-status-list > div,
.compact-status-list > div > strong,
.faction-hero p,
.announcement-list p,
.permission-chip-grid span,
.setting-row span,
.timeline-entry p,
.ticket-copy p,
.request-number,
.request-card p,
.field > span,
.security-feature p,
.session-list p,
.serial-card span:not(.tag),
.notification-settings small,
.empty-state p,
.form-hint,
.player-result-head p,
.unavailable-value small,
.muted-copy,
.document-card small,
.bank-readonly-hero small,
.bank-readonly-hero p,
.tuning-chip-grid span,
.notification-empty small,
.settings-status-row span {
  font-size: var(--nx-font-small);
}

.info-list dd,
.bank-summary strong,
.event-copy strong,
.statusbar strong,
.search-field input,
.staff-toolbar select,
.work-id,
.work-main p,
.decision-preview span,
.conversation-message p,
.dialog-notice,
.detail-dialog-grid p,
.vehicle-image-state strong,
.unavailable-value strong,
.compact-unavailable strong,
.document-card strong,
.integration-callout strong,
.detail-dialog-grid h4,
.dialog-section h4,
.tuning-chip-grid b,
.settings-status-row strong {
  font-size: var(--nx-font-body);
}

/* Kártyák, címkék és kompakt metaadatok */
.entity-visual small,
.entity-stats span,
.fuel-line,
.roster-copy small,
.mini-stat-grid span,
.detail-list dt,
.permission-grid small,
.faction-duty small,
.announcement-list small,
.timeline-entry small,
.request-bottom > span,
.serial-card small,
.staff-rank-pill span,
.staff-rank-pill strong,
.staff-metrics .metric-card small,
.queue-row small,
.work-assignee small,
.decision-preview strong,
.staff-dialog-meta small,
.conversation-message header span,
.conversation-message > small,
.server-health-banner span,
.server-detail-grid span,
.server-resource-row small,
.server-resource-row > span:nth-child(3),
.profile-readonly-notice span,
.staff-profile-character-hero span,
.staff-profile-stat-list span,
.staff-profile-document span,
.staff-profile-document small,
.profile-inline-empty {
  font-size: var(--nx-font-micro);
}

.entity-stats strong,
.fuel-line b,
.mini-stat-grid strong,
.detail-list dd,
.permission-grid strong,
.announcement-list strong,
.setting-row strong,
.timeline-entry strong,
.session-list strong,
.serial-card strong,
.notification-settings strong,
.staff-identity p,
.queue-row strong,
.staff-dialog-meta strong,
.conversation-message header strong,
.server-detail-grid strong,
.server-resource-row strong,
.staff-profile-account-main p,
.staff-profile-character-hero p,
.staff-profile-document strong {
  font-size: var(--nx-font-small);
}

/* Címkék és gombok: ne maradjon 7–8 px-es felirat */
.tag,
.segmented button,
.compact-button,
.status-links a,
.status-links .community-link-disabled {
  font-size: var(--nx-font-micro) !important;
}

.compact-button {
  min-height: 32px !important;
  padding-inline: 12px !important;
}

/* Általános adattáblák – Gazdasági napló és minden táblás staffnézet */
.data-table th {
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: var(--nx-font-micro);
  line-height: 1.4;
}

.data-table td {
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: var(--nx-font-small);
  line-height: 1.5;
}

.data-table td strong {
  font-size: var(--nx-font-body);
}

/* Staff munkafolyamatok és dialógusok */
.staff-toolbar select,
.work-main p,
.staff-identity p,
.queue-row strong,
.conversation-message p,
.detail-dialog-grid p {
  line-height: 1.55;
}

.staff-dialog-meta small,
.conversation-message header span,
.conversation-message > small {
  letter-spacing: .035em;
}

/* Eseménynapló – minden elsődleges tartalom normál olvasási méreten */
.event-log-head h3,
.event-chain-head h3 {
  font-size: 15px;
  line-height: 1.4;
}

.event-log-head-tags time,
.event-party > span,
.event-party small,
.event-log-tags > span,
.event-item-pill,
.event-amount,
.event-metadata summary,
.event-chain-card > footer,
.event-pagination span,
.evidence-set-card small {
  font-size: var(--nx-font-micro);
}

.event-party strong,
.event-message,
.evidence-set-card p {
  font-size: var(--nx-font-body);
}

.event-party > span {
  margin-bottom: 6px;
}

.event-party small {
  margin-top: 5px;
  line-height: 1.5;
}

.event-message {
  line-height: 1.65;
}

.event-log-tags > span,
.event-item-pill,
.event-amount {
  padding: 6px 9px;
  line-height: 1.4;
}

.event-metadata summary {
  padding-block: 2px;
}

.event-metadata pre,
.event-chain-head p {
  font-size: var(--nx-font-micro);
  line-height: 1.6;
}

.evidence-set-card h3 {
  font-size: var(--nx-font-body-strong);
}

/* UCP naplók – a V0.34.5-höz képest még egy fokkal nagyobb */
.audit-toolbar .search-field input,
.audit-filter-field select {
  font-size: var(--nx-font-body-strong);
}

.audit-filter-field > span,
.audit-toolbar-footer,
.audit-no-target,
.audit-details summary,
.audit-details dt,
.audit-details dd,
.audit-technical-key {
  font-size: var(--nx-font-small);
}

.audit-table th {
  font-size: var(--nx-font-small);
}

.audit-table td {
  padding-top: 21px;
  padding-bottom: 21px;
}

.audit-table td > strong {
  font-size: var(--nx-font-body-strong);
}

.audit-table td > small,
.audit-table td small {
  font-size: var(--nx-font-micro);
  line-height: 1.6;
}

.audit-table .tag {
  min-height: 30px;
  font-size: var(--nx-font-small) !important;
}

.audit-summary {
  font-size: var(--nx-font-body-strong);
  line-height: 1.7;
}

.audit-details dl > div {
  padding: 11px 12px;
}

/* Élő szerver és staffprofil mikroszövegek */
.server-health-banner span,
.server-detail-grid span,
.server-resource-row small,
.server-resource-row > span:nth-child(3),
.profile-readonly-notice span,
.staff-profile-character-hero span,
.staff-profile-stat-list span,
.staff-profile-document span,
.staff-profile-document small,
.profile-inline-empty {
  line-height: 1.45;
}

@media (max-width: 1360px) {
  .audit-table td > strong,
  .audit-summary {
    font-size: 12px;
  }
}

@media (max-width: 820px) {
  .main-content {
    padding-inline: 18px;
  }

  .data-table th,
  .data-table td {
    white-space: normal;
  }
}

/* V0.34.6 – az audit során fennmaradt utolsó 7–9 px-es feliratok */
.catalog-state,
.vehicle-image-state small,
.account-state-detail,
.audit-table code,
.integration-callout,
.nav-item.feature-disabled::after,
.player-search-summary span,
.readonly-empty,
.readonly-note,
.staff-profile-money-grid span,
.account-state-badge,
.bank-card-bottom strong,
.player-match-tags span {
  font-size: var(--nx-font-micro);
  line-height: 1.45;
}


/* NX-RPG UCP V0.34.9 · vehicle saved location + live duty */
.duty-chip.success{border-color:rgba(66,221,154,.34);background:rgba(32,142,104,.14);color:#bfffe3}
.duty-chip.muted{border-color:rgba(151,166,196,.2);background:rgba(100,112,140,.1);color:#c5cede}
.live-duty-card{min-width:220px}
.vehicle-location-layout{display:grid;gap:18px}
.vehicle-location-map{position:relative;overflow:hidden;border-radius:16px;border:1px solid rgba(115,173,255,.2);background:#07111f;aspect-ratio:1/1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.vehicle-location-map:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 52%,rgba(3,8,16,.42) 100%)}
.vehicle-location-map img{display:block;width:100%;height:100%;object-fit:cover}
.vehicle-map-marker{position:absolute;z-index:2;width:24px;height:24px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.92);border-radius:50%;background:linear-gradient(135deg,#3ba7ff,#a65cff);box-shadow:0 0 0 8px rgba(71,155,255,.16),0 0 26px rgba(110,104,255,.7)}
.vehicle-map-marker i{position:absolute;inset:6px;border-radius:50%;background:#fff}
.vehicle-location-layout .dialog-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){.vehicle-location-layout{grid-template-columns:minmax(360px,1.35fr) minmax(260px,.65fr)}.vehicle-location-layout .wide-note{grid-column:1/-1}}
@media (max-width:700px){.vehicle-location-layout .dialog-detail-list{grid-template-columns:1fr}.live-duty-card{min-width:0}}
