/* LifeRoleplay Control Center: ruhige Spielmenues mit klaren Statusfarben. */
:root {
  --bg:#080d12; --panel:#121a22; --line:#2b3741; --muted:#91a0ab;
  --text:#edf2f4; --mint:#a5ca63; --red:#f08d83; --sidebar:234px;
  --amber:#e9a650; --cyan:#65b9c4;
}
.shop-choices{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.shop-choice{display:flex;flex-direction:column;gap:5px;min-width:190px;padding:13px 16px;text-align:left;background:#17232b;border:1px solid #34424a;border-radius:7px;color:var(--text)}.shop-choice.selected{border-color:var(--mint);background:#263a2c}.shop-choice small{color:var(--muted)}.shop-bottom{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-top:16px}.shop-edit .admin-form{margin-top:16px}.shop-edit .tools>label{flex:1;min-width:140px}.shop-edit input,.shop-edit select{width:100%}.shop-edit .check input{width:auto}.shop-message{margin-top:16px}@media(max-width:950px){.shop-bottom{grid-template-columns:1fr}}
body {
  background:radial-gradient(ellipse at 78% -10%,#1a2c32 0,transparent 38%),
    radial-gradient(ellipse at 5% 95%,#19251e 0,transparent 38%),var(--bg);
  font-family:'Segoe UI Variable','Segoe UI',Arial,sans-serif;
  letter-spacing:.005em;
}
body::before {
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.13;
  background:linear-gradient(90deg,transparent 31px,#5a7580 32px),
    linear-gradient(transparent 31px,#5a7580 32px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,transparent,#000 80%);
}
#app,#login,#access-denied {position:relative;z-index:1}
aside {
  background:linear-gradient(175deg,#141e25 0%,#0b1219 48%,#0a1015 100%);
  border-right:1px solid #34424a;box-shadow:12px 0 40px #0003;
}
.brand {min-height:80px;padding:18px;border-bottom-color:#354149;font-size:16px;letter-spacing:.02em}
.brand-mark {
  width:37px;height:37px;border:1px solid #bfd781;border-radius:8px;
  background:linear-gradient(145deg,#cde18c,#759c41);color:#182819;
  box-shadow:0 0 20px #95c25e38;transform:none;font-size:25px;
}
.brand small {color:var(--amber);font-size:8px;letter-spacing:2.2px}
nav {padding:14px 11px}
.nav-label {margin:24px 11px 8px;color:#83939b;font-weight:700;letter-spacing:1.8px}
.nav {
  min-height:38px;padding:9px 11px;margin:3px 0;border-radius:6px;
  color:#acbac1;font-size:12px;transition:background .16s,border-color .16s,color .16s;
}
.nav svg {color:#8396a0}
.nav:hover {background:#1b2a32;color:#fff}
.nav.active {
  background:linear-gradient(90deg,#273a2c,#1d2b2a 82%);
  border-color:#506441;box-shadow:inset 3px 0 0 var(--mint);color:#f4f8ed;
}
.nav.active svg {color:var(--mint)}
.nav small {color:var(--amber)}
.sidebar-bottom {background:#0c1419;border-top-color:#344149;color:#d6e0e3}
.sidebar-bottom .dot {box-shadow:0 0 10px var(--mint)}
.sidebar-bottom small {color:#84969e}
header.topbar {
  min-height:68px;height:auto;padding:12px 26px;gap:12px;
  background:#0f171de8;border-bottom:1px solid #34434b;backdrop-filter:blur(18px);
}
.topbar-context {display:flex;flex-direction:column;min-width:130px;line-height:1.3}
.topbar-context strong {color:var(--amber);font-size:9px;letter-spacing:1.8px}
.topbar-context span {font-size:11px;color:#9dabb2;margin-top:3px}
.global-search-trigger {
  display:flex;align-items:center;gap:10px;min-width:230px;max-width:410px;
  width:28vw;min-height:36px;padding:0 10px;border:1px solid #3a4a52;
  border-radius:6px;background:#17232b;color:#a8b7be;text-align:left;font-size:11px;
}
.global-search-trigger:hover {color:#f2f6f7;border-color:#87aa6a;background:#203029}
.global-search-trigger svg {color:var(--mint)}
.global-search-trigger span:nth-child(2) {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
kbd {border:1px solid #40515b;border-radius:3px;padding:2px 5px;font:9px Consolas,monospace;color:#a8b8bf;background:#10191f}
.pill {border-radius:4px;background:#1a262c;border-color:#35454d;color:#d5dee1;min-height:26px}
.header-right {padding-left:10px;border-left:1px solid #35434b}
.user-avatar {border-radius:6px;border-color:#6f8b53;background:#304129;color:#d1e798}
main {padding:30px;max-width:1900px}
.eyebrow {color:var(--amber);font-weight:700;letter-spacing:1.8px}
h1 {font-size:27px;letter-spacing:-.5px}
.page-heading {margin-bottom:20px}
.page-heading h1,.panel-heading h2 {color:#f0f5f5}
.panel-heading h2 {font-size:13px}
.panel-heading h2 svg {color:var(--mint)}
.card,.panel {
  border:1px solid #34424a;border-radius:8px;
  background:linear-gradient(145deg,#17212aef,#111920f2);
  box-shadow:0 12px 35px #0002;
}
.panel {padding:19px}
.card {min-height:122px;padding:17px 18px;border-top:2px solid #5a7845}
.card:nth-child(2) {border-top-color:#518c98}
.card:nth-child(3) {border-top-color:#bb8348}
.card:nth-child(4) {border-top-color:#728eab}
.card .label {color:#a6b6bd;font-size:9px;font-weight:700;letter-spacing:1.5px}
.card .metric {font-size:30px;color:#f1f7f5;margin-top:10px}
.card .glyph {background:#30402e;color:var(--mint);border:1px solid #506948;border-radius:6px}
.card:nth-child(2) .glyph {background:#1f3a40;color:var(--cyan);border-color:#38636a}
.card:nth-child(3) .glyph {background:#3d3022;color:var(--amber);border-color:#705439}
.card small {color:#a2b0b7}
.primary {background:linear-gradient(#b7d77b,#8db958);color:#172617;border:1px solid #bfdd87;border-radius:5px;box-shadow:0 4px 20px #9ac66126}
.primary:hover {filter:brightness(1.08)}
.subtle {background:#1e2a32;border-color:#42535c;color:#d5e0e3;border-radius:5px}
.subtle:hover {background:#293b42;border-color:#7a9a79}
.danger {border-radius:5px}
.banner {background:#2a271b;border-color:#6f5d35;color:#e0c781}
.badge {border-radius:4px;background:#293b26;color:#b9df8c;border-color:#526c48}
.badge.pending {background:#3c2d1d;color:#efbf75;border-color:#71543a}
.badge.neutral {background:#263138;color:#adc0c7;border-color:#3b4d56}
input,select {background:#101920;border:1px solid #43525a;border-radius:5px;color:#eaf1f2}
input::placeholder {color:#82949d}
.table-wrap {border:1px solid #34424a;border-radius:6px}
th {background:#19252c;color:#9fb1b8;border-bottom-color:#40515a;font-weight:700}
td {border-bottom-color:#293740}
tbody tr:hover {background:#21302c}
.table-button,.section-link,.money,code {color:#b5d77c}
.avatar {background:#2b402e;color:#c7e491;border-color:#58744b;border-radius:6px}
.status-row,.activity-item {border-bottom-color:#33424a}
.health-tiles>div,.age-tile,.health-rows .status-row {background:#1b2930;border-color:#354750}
.meter,.vital-bar progress,.vital-track {background:#34424a}
.range-tabs {background:#1d2a31}
.range-tabs button.active {background:#435744;color:#fff}
.chart-stats strong,.health-tiles strong {color:#eff5f3}
.activity-icon {background:#2a3b3e;color:var(--cyan)}
.activity-tag {color:#b6d884;border-color:#536a44}
.login-card {background:linear-gradient(145deg,#121b23,#0a1016);padding:12vh 8vw}
.login-card h1 {font-size:clamp(37px,5vw,62px);letter-spacing:-1.6px}
.login-card .eyebrow {color:var(--amber)}
.login-art {
  border-left:1px solid #485646;
  background:radial-gradient(circle at 68% 37%,#607e392e,transparent 24%),
    repeating-linear-gradient(0deg,transparent 0 33px,#ffffff08 34px),
    repeating-linear-gradient(90deg,transparent 0 33px,#ffffff08 34px),
    linear-gradient(145deg,#23332e,#101c23 55%,#0a1117);
}
.login-art span {color:var(--amber)}
.login-art p {color:#bad582}
#access-denied .login-card {border:1px solid #46564a;margin:auto;max-width:680px;min-height:400px;border-radius:10px;box-shadow:0 20px 70px #0007}
.ops-hero {
  min-height:250px;position:relative;overflow:hidden;display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(240px,.7fr);gap:25px;
  align-items:end;padding:26px 31px;margin-bottom:17px;
  border:1px solid #526449;border-left:4px solid var(--mint);border-radius:8px;
  background:radial-gradient(ellipse at 77% 15%,#8cab5b27,transparent 35%),
    linear-gradient(112deg,#182a2b,#152127 56%,#1b2928);
  box-shadow:0 14px 45px #0003;
}
.ops-hero::after {
  content:"LIFE RP";position:absolute;right:28px;top:-28px;pointer-events:none;
  font-size:clamp(80px,12vw,210px);font-weight:900;letter-spacing:-.08em;color:#c3d7b20a;
}
.ops-hero-content,.ops-hero-status {position:relative;z-index:1}
.ops-kicker {display:flex;align-items:center;gap:8px;color:var(--amber);font-size:9px;font-weight:800;letter-spacing:2.2px}
.ops-kicker-dot {width:7px;height:7px;background:var(--amber);transform:rotate(45deg);box-shadow:0 0 12px var(--amber)}
.ops-hero h2 {margin:11px 0 8px;font-size:clamp(29px,3.3vw,48px);line-height:1.05;letter-spacing:-1.5px;font-weight:800}
.ops-hero h2 em {font-style:normal;color:#bddb85}
.ops-hero p {max-width:480px;color:#b8c7c9;font-size:12px;margin:0 0 18px}
.ops-hero-actions {display:flex;gap:9px;flex-wrap:wrap}
.ops-hero-actions button {font-size:11px;min-height:35px;padding:7px 14px}
.ops-hero-status {
  padding:16px 18px;background:#0d171acc;border:1px solid #5e785a;
  border-radius:6px;backdrop-filter:blur(10px);
}
.ops-hero-status>span {display:block;color:var(--mint);font-size:9px;font-weight:700;letter-spacing:1.6px}
.ops-hero-status strong {display:block;margin:9px 0 5px;font-size:16px;line-height:1.25}
.ops-hero-status small {font-size:10px;color:#adbdc1}
.ops-metrics {gap:12px;margin-bottom:17px}
.ops-action-grid {display:grid;grid-template-columns:1.05fr .95fr;gap:17px;margin-bottom:17px}
.ops-alert {display:flex;gap:12px;align-items:center;padding:11px 13px;border:1px solid #665234;background:#30291d;border-radius:5px;margin-bottom:8px}
.ops-alert.healthy {background:#253629;border-color:#53744b}
.ops-alert>span {color:var(--amber)}
.ops-alert.healthy>span {color:var(--mint)}
.ops-alert strong,.ops-alert small {display:block}
.ops-alert strong {font-size:11px}
.ops-alert small {color:#b2bcb7;font-size:10px;margin-top:2px}
.ops-ticket {width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;margin-top:7px;text-align:left;border:1px solid #34444b;border-radius:5px;background:#1b2930;color:#e9f0ef}
.ops-ticket:hover {border-color:#81a15e;background:#263729}
.ops-ticket strong,.ops-ticket small {display:block}
.ops-ticket strong {font-size:11px}
.ops-ticket small {font-size:10px;color:#9fafb7;margin-top:2px}
.ops-ticket>span:last-child {color:var(--mint);font-size:18px}
.ops-shortcut-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ops-shortcut {min-height:79px;display:grid;grid-template-columns:25px 1fr;column-gap:8px;align-content:center;text-align:left;padding:11px;border:1px solid #3c4b52;background:#1b2930;border-radius:5px;color:#e8f0ef}
.ops-shortcut:hover {background:#26392e;border-color:#77985c;transform:translateY(-1px)}
.ops-shortcut>span {grid-row:span 2;color:var(--amber)}
.ops-shortcut strong {font-size:11px}
.ops-shortcut small {font-size:9px;color:#9eb0b7}
.command-open {overflow:hidden}
.command-layer {position:fixed;inset:0;z-index:30;display:grid;place-items:start center;padding:13vh 18px 18px}
.command-backdrop {position:absolute;inset:0;background:#05090cbd;backdrop-filter:blur(5px)}
.command-dialog {position:relative;width:min(620px,100%);background:#142028;border:1px solid #647a56;border-radius:8px;box-shadow:0 24px 90px #000b;overflow:hidden}
.command-top,.command-hint {display:flex;align-items:center;justify-content:space-between;padding:11px 15px;background:#1a2a2d;color:#b7d486;font-size:10px;font-weight:700;letter-spacing:1px}
.command-close {background:none;border:0;color:#c5d2d3;font-size:20px;line-height:1}
.command-input-wrap {display:flex;align-items:center;gap:11px;padding:12px 17px;border-top:1px solid #344a4b;border-bottom:1px solid #344a4b;color:var(--mint)}
.command-input-wrap input {width:100%;border:0;background:transparent;outline:0;font-size:14px;padding:5px 0}
.command-results {max-height:min(48vh,410px);min-height:66px;overflow:auto;padding:9px;color:#adbfc3;font-size:11px}
.command-result {width:100%;display:flex;align-items:center;gap:11px;padding:9px 10px;margin:2px 0;text-align:left;background:none;border:1px solid transparent;border-radius:5px;color:#ecf4f2}
.command-result:hover,.command-result:focus-visible {background:#263a32;border-color:#789856}
.command-result>span:nth-child(2) {flex:1;min-width:0}
.command-result strong,.command-result small {display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.command-result small {color:#a2b5bb;margin-top:3px}
.command-avatar {display:grid;place-items:center;flex:none;width:31px;height:31px;background:#2d442f;color:#d2eca0;border:1px solid #719358;border-radius:5px;font-weight:700}
.command-arrow {color:var(--mint);font-size:17px}
.command-empty {margin:0;padding:14px}
.command-hint {background:#101b21;border-top:1px solid #35474e;color:#91a4aa;font-size:9px;font-weight:400;letter-spacing:0}
/* Alle Fachbereiche teilen die gleiche Oberflaeche und Akzentlogik. */
.support-toolbar .selected {border-color:#a0c264;color:#d2e8a8;background:#293b2c}
.support-list,.support-detail,.admin-log {background:#152129;border-color:#35464d}
.support-row {background:#1d2c33;border-color:#3d4d55;color:#eaf2f1;border-radius:5px}
.support-row:hover,.support-row.active {background:#293d31;border-color:#9bbd66}
.support-row small,.support-placeholder,.support-meta {color:#a7b9bd}
.support-placeholder strong,.admin-log-row strong {color:#eff5f3}
.support-meta,.support-actions,.admin-log-row {border-color:#3b4c54}
.support-message {background:#1e2e35;border-color:#3d5158;border-radius:5px}
.support-message.staff {border-left-color:var(--mint)}
.support-message small,.admin-log-row small {color:#9eb0b8}
.support-message p,.admin-log-row p {color:#dce7e7}
.support-actions textarea {background:#111e25;border-color:#475960;border-radius:5px;color:#edf4f3}
.support-actions textarea:focus-visible {outline-color:var(--mint)}
.faction-choice {border-radius:6px;background:#17242b;border-color:#3c4d54;padding:16px}
.faction-choice:hover,.faction-choice.selected {border-color:#9fbd69;background:#26392e}
.faction-symbol {border-radius:6px;color:var(--cyan)}
.faction-edit-box {border-color:#556e51;border-radius:6px;background:#192922}
#faction-status:not(:empty) {background:#223729;border-color:#658858;color:#d4e8be;border-radius:5px}
@media(max-width:1250px) {
  .topbar-context {display:none}
  .global-search-trigger {width:25vw}
}
@media(max-width:950px) {
  :root {--sidebar:190px}
  header.topbar {padding:10px 16px}
  .global-search-trigger {min-width:190px;width:auto}
  .ops-action-grid {grid-template-columns:1fr}
  .ops-hero {grid-template-columns:1fr;align-items:start}
  .ops-hero-status {max-width:390px}
}
@media(max-width:620px) {
  .brand {min-height:0}
  nav {padding:8px 10px}
  header.topbar {padding:10px 12px;gap:8px}
  .global-search-trigger {order:3;width:100%;max-width:none;min-width:0}
  .global-search-trigger span:nth-child(2) {flex:1}
  .header-right {margin-left:auto}
  #db-label,#mode {display:none}
  main {padding:16px 12px}
  .ops-hero {padding:21px;min-height:0}
  .ops-hero h2 {font-size:34px}
  .ops-shortcut-grid {grid-template-columns:1fr 1fr}
  .ops-shortcut {min-height:76px;padding:9px}
  .ops-hero-status {width:100%}
  #access-denied .login-card {border:0;border-radius:0;min-height:100vh}
  .command-layer {padding-top:7vh}
}
@media(max-width:380px) {
  .ops-shortcut-grid {grid-template-columns:1fr}
  .ops-hero h2 {font-size:30px}
}
@media(prefers-reduced-motion:reduce) {
  .nav,.ops-shortcut {transition:none}
  .ops-shortcut:hover {transform:none}
}
