body{
  margin:0;
  background:radial-gradient(circle at top,#1a0000,#050505 60%);
  font-family:'Segoe UI',Arial,sans-serif;
  color:#fff;
}
.navbar{
  display:flex;
  align-items:center;
  padding:14px 24px;
  background:#0b0b0b;
  border-bottom:1px solid #8b0000;
}
.nav-left{flex:1}
.nav-center{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.nav-right{
  flex:1;
  text-align:right;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.nav-auto-logout{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  background:rgba(20,60,100,.35);
  border:1px solid rgba(50,120,180,.5);
  border-radius:6px;
  font-size:12px;
  color:#b0c8e0;
}
.nav-auto-logout-spinner{
  width:12px;
  height:12px;
  border:2px solid rgba(80,140,200,.4);
  border-top-color:#5ba3e8;
  border-radius:50%;
  animation:nav-spin .8s linear infinite;
  flex-shrink:0;
}
.nav-auto-logout-text strong{
  color:#c8e0ff;
  font-variant-numeric:tabular-nums;
}
.nav-auto-logout-sep{
  color:#444;
  font-size:14px;
  user-select:none;
}
@keyframes nav-spin{
  to{transform:rotate(360deg)}
}
.navbar a{
  color:#fff;
  text-decoration:none;
  padding:8px 12px;
  border:1px solid transparent;
  white-space:nowrap;
}
.navbar a:hover{border-color:red}
.nav-dropdown{display:inline-block;position:relative}
.nav-dropdown .dropdown-menu{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  min-width:180px;
  background:#0b0b0b;
  border:1px solid #8b0000;
  border-radius:6px;
  box-shadow:0 0 12px rgba(0,0,0,.35);
  padding:6px 0;
  z-index:1000;
}
.nav-dropdown:hover .dropdown-menu{display:block}
.nav-dropdown .dropdown-menu a{
  display:block;
  padding:8px 12px;
  margin:0;
  border:none;
}
.nav-dropdown .dropdown-menu a:hover{background:#140000}
/* ----- Bejelentkezési oldal ----- */
body.auth-page{
  position:relative;
  overflow-x:hidden;
}
.auth-top-links{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 20px;
  pointer-events:none;
}
.auth-top-link{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 14px;
  background:rgba(11,11,11,.9);
  border:1px solid rgba(139,0,0,.4);
  border-radius:8px;
  color:#e8e8e8;
  text-decoration:none;
  font-size:14px;
  transition:border-color .2s, background .2s, color .2s;
}
.auth-top-link:hover{
  border-color:rgba(139,0,0,.8);
  color:#fff;
  background:rgba(20,20,20,.95);
}
.auth-top-arrow{
  font-size:16px;
  color:#f3d03a;
}
.auth-top-links-single{ justify-content:flex-start; }
.auth-bg{
  position:fixed;
  inset:0;
  z-index:0;
  background:
    radial-gradient(ellipse 80% 50% at 50% -20%, rgba(180,0,0,.12), transparent),
    radial-gradient(ellipse 60% 40% at 80% 60%, rgba(139,0,0,.08), transparent),
    radial-gradient(ellipse 50% 30% at 20% 80%, rgba(243,208,58,.06), transparent);
  pointer-events:none;
}
.auth-bg::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
}
.auth-wrapper{
  position:relative;
  z-index:1;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:32px 24px 40px;
  gap:40px;
}
.auth-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.auth-logo{
  display:flex;
  justify-content:center;
  margin-bottom:12px;
}
.auth-logo img{
  width:200px;
  height:200px;
  object-fit:contain;
  animation: logoPulse 1.8s ease-in-out infinite;
}
.auth-title{
  font-size:24px;
  font-weight:700;
  letter-spacing:.5px;
  margin-bottom:20px;
  color:#f3d03a;
  animation: titleGlow 2.2s ease-in-out infinite;
}
@keyframes logoPulse{
  0%, 100%{
    transform:scale(1) rotate(-1deg);
    filter: drop-shadow(0 0 12px rgba(255,0,0,.4)) drop-shadow(0 0 28px rgba(255,50,50,.25));
  }
  25%{
    transform:scale(1.08) rotate(0.5deg);
    filter: drop-shadow(0 0 24px rgba(255,0,0,.85)) drop-shadow(0 0 48px rgba(255,80,80,.5));
  }
  50%{
    transform:scale(1.05) rotate(0deg);
    filter: drop-shadow(0 0 20px rgba(255,0,0,.7)) drop-shadow(0 0 36px rgba(255,60,60,.4));
  }
  75%{
    transform:scale(1.07) rotate(0.3deg);
    filter: drop-shadow(0 0 22px rgba(255,0,0,.8)) drop-shadow(0 0 42px rgba(255,70,70,.45));
  }
}
@keyframes titleGlow{
  0%, 100%{ text-shadow:0 0 8px rgba(243,208,58,.3), 0 0 20px rgba(243,208,58,.15); }
  50%{ text-shadow:0 0 16px rgba(243,208,58,.9), 0 0 32px rgba(243,208,58,.4); }
}
.remember{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 16px;
  font-size:14px;
  color:#ccc;
}
.remember input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#c00000;
  cursor:pointer;
}
.auth-box{
  position:relative;
  width:100%;
  max-width:400px;
  border-radius:16px;
  padding:2px;
  background:linear-gradient(145deg, rgba(200,0,0,.5), rgba(139,0,0,.25) 30%, rgba(80,0,0,.15) 60%, transparent);
  box-shadow:
    0 0 0 1px rgba(139,0,0,.4),
    0 0 48px rgba(255,0,0,.15),
    0 24px 48px rgba(0,0,0,.5),
    inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(12px);
}
.auth-box::before{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:60%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(243,208,58,.5), rgba(255,80,80,.8), rgba(243,208,58,.5), transparent);
  border-radius:0 0 4px 4px;
  z-index:1;
}
.auth-box-inner{
  position:relative;
  background:linear-gradient(180deg, rgba(18,18,18,.98) 0%, rgba(8,8,8,.98) 100%);
  border-radius:14px;
  padding:32px 36px 36px;
  border:1px solid rgba(0,0,0,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.auth-box h2{
  text-align:center;
  margin:0 0 24px;
  font-size:20px;
  font-weight:700;
  letter-spacing:.08em;
  color:#e8e8e8;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.auth-box h2::after{
  content:'';
  display:block;
  width:48px;
  height:3px;
  margin:12px auto 0;
  background:linear-gradient(90deg, transparent, #8b0000, #c00000, #8b0000, transparent);
  border-radius:2px;
}
.auth-box .error{
  margin-bottom:16px;
}
.auth-input-wrap{
  position:relative;
  margin-bottom:14px;
}
.auth-input-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  color:#888;
  pointer-events:none;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.auth-input-icon svg{
  width:20px;
  height:20px;
  display:block;
}
.auth-box .auth-input-wrap input,
.auth-box input[type="text"],
.auth-box input[type="password"]{
  width:100%;
  padding:14px 16px 14px 44px;
  margin:0;
  background-color:rgba(38,38,38,.95);
  border:1px solid rgba(60,60,60,.8);
  color:#fff;
  border-radius:10px;
  box-sizing:border-box;
  font-size:15px;
  transition:border-color .2s, box-shadow .2s, background-color .2s;
  appearance:none;
  -webkit-appearance:none;
  outline:none;
}
.auth-box input[type="text"]{
  border-color:rgba(80,80,80,.9);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);
}
.auth-box input[type="text"]:focus,
.auth-box input[type="text"]:focus-visible{
  border-color:rgba(139,0,0,.7);
  box-shadow:0 0 0 2px rgba(139,0,0,.15), 0 0 0 1px rgba(255,255,255,.06);
}
.auth-box .auth-input-wrap input:focus,
.auth-box .auth-input-wrap input:focus-visible,
.auth-box input[type="text"]:focus,
.auth-box input[type="text"]:focus-visible,
.auth-box input[type="password"]:focus,
.auth-box input[type="password"]:focus-visible{
  outline:none;
  border-color:rgba(139,0,0,.7);
  background-color:rgba(48,48,48,.95);
  box-shadow:0 0 0 2px rgba(139,0,0,.15);
}
.auth-box input::placeholder{
  color:#888;
}
.auth-box input[type="text"]:-webkit-autofill,
.auth-box input[type="text"]:-webkit-autofill:hover,
.auth-box input[type="text"]:-webkit-autofill:focus,
.auth-box input[type="text"]:-webkit-autofill:active,
.auth-box input[type="password"]:-webkit-autofill,
.auth-box input[type="password"]:-webkit-autofill:hover,
.auth-box input[type="password"]:-webkit-autofill:focus,
.auth-box input[type="password"]:-webkit-autofill:active{
  -webkit-box-shadow:0 0 0 100px rgba(38,38,38,.98) inset;
  -webkit-text-fill-color:#fff;
  caret-color:#fff;
  border-color:rgba(60,60,60,.8);
  background-color:rgba(38,38,38,.98);
}
.auth-box .remember-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:10px 0 20px;
}
.auth-box .remember-row .remember{margin:0}
.auth-box .auth-forgot-link{
  font-size:13px;
  color:#a0a0a0;
  text-decoration:none;
  transition:color .2s;
}
.auth-box .auth-forgot-link:hover{color:#f3d03a}
.auth-box button{
  width:100%;
  padding:14px 16px;
  background:linear-gradient(180deg, #c00 0%, #a00 50%, #800 100%);
  border:1px solid rgba(255,255,255,.12);
  border-bottom-color:rgba(0,0,0,.5);
  color:#fff;
  font-weight:700;
  border-radius:10px;
  cursor:pointer;
  font-size:15px;
  letter-spacing:.04em;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
  box-shadow:
    0 4px 0 rgba(0,0,0,.35),
    0 4px 16px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .15s, box-shadow .15s, border-color .15s;
}
.auth-box button:hover{
  transform:translateY(-2px);
  box-shadow:
    0 6px 0 rgba(0,0,0,.3),
    0 8px 24px rgba(180,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.auth-box button:active{
  transform:translateY(1px);
  box-shadow:
    0 2px 0 rgba(0,0,0,.4),
    0 2px 8px rgba(0,0,0,.3),
    inset 0 2px 4px rgba(0,0,0,.3);
}
.auth-stats{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
  max-width:720px;
}
.auth-stat-card{
  flex:1;
  min-width:160px;
  max-width:220px;
  background:rgba(11,11,11,.85);
  border:1px solid rgba(139,0,0,.35);
  border-radius:12px;
  padding:20px 24px;
  text-align:center;
  box-shadow:0 4px 24px rgba(0,0,0,.3);
  backdrop-filter:blur(6px);
  transition:transform .2s, border-color .2s, box-shadow .2s;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.auth-stat-card:hover{
  transform:translateY(-2px);
  border-color:rgba(139,0,0,.6);
  box-shadow:0 8px 32px rgba(139,0,0,.15);
}
.auth-stat-card:hover .auth-stat-icon{
  transform:translateY(-4px) scale(1.12);
}
.auth-stat-card:hover .auth-stat-value{
  transform:scale(1.05);
  text-shadow:0 0 16px rgba(243,208,58,.5);
}
.auth-stat-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  color:rgba(243,208,58,.85);
  flex-shrink:0;
  transition:transform .25s ease;
}
.auth-stat-icon svg{
  width:32px;
  height:32px;
  display:block;
}
.auth-stat-value{
  display:block;
  font-size:28px;
  font-weight:700;
  color:#f3d03a;
  letter-spacing:.5px;
  margin-bottom:0;
  text-shadow:0 0 12px rgba(243,208,58,.3);
  transition:transform .25s ease, text-shadow .25s ease;
}
.auth-stat-label{
  font-size:13px;
  color:#a0a0a0;
  letter-spacing:.3px;
}
.auth-loading{
  display:none;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:200px;
  z-index:2;
}
.auth-loading-spinner{
  width:48px;
  height:48px;
  border:3px solid rgba(139,0,0,.3);
  border-top-color:#8b0000;
  border-radius:50%;
  animation:auth-spin .9s linear infinite;
}
.auth-loading-text{
  margin:0;
  font-size:15px;
  color:#c0c0c0;
  min-height:1.4em;
}
@keyframes auth-spin{
  to{transform:rotate(360deg)}
}
.auth-footer{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  text-align:center;
  padding:12px 16px;
  z-index:10;
}
.auth-footer a{
  font-size:12px;
  color:#666;
  text-decoration:none;
  transition:color .2s;
}
.auth-footer a:hover{color:#f3d03a}

/* ----- Elfelejtett jelszó oldal ----- */
.auth-forgot-center{ max-width:520px; }
.auth-forgot-box{
  width:100%;
  max-width:480px;
  margin-top:8px;
  background:linear-gradient(180deg, rgba(18,18,18,.98) 0%, rgba(8,8,8,.98) 100%);
  border:1px solid rgba(139,0,0,.5);
  border-radius:14px;
  padding:28px 32px 32px;
  box-shadow:0 0 40px rgba(255,0,0,.1), 0 8px 32px rgba(0,0,0,.4);
}
.auth-forgot-box h2{
  text-align:center;
  margin:0 0 20px;
  font-size:20px;
  font-weight:700;
  letter-spacing:.05em;
  color:#e8e8e8;
}
.auth-forgot-text{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.55;
  color:#c8c8c8;
}
.auth-forgot-text:last-child{ margin-bottom:0; }
.auth-forgot-email{
  color:#f3d03a;
  text-decoration:none;
  font-weight:600;
  transition:color .2s;
}
.auth-forgot-email:hover{ color:#fff; }

.error{
  background:rgba(58,11,11,.9);
  border:1px solid #8b0000;
  color:#ffb3b3;
  padding:10px 12px;
  border-radius:8px;
  margin-bottom:14px;
  font-size:13px;
}
.container{
  max-width:980px;
  margin:0 auto;
  padding:24px 18px 40px;
}
.card{
  background:#0b0b0b;
  border:1px solid #8b0000;
  border-radius:8px;
  padding:18px;
  box-shadow:0 0 18px rgba(0,0,0,.25);
}
.muted{opacity:.7;font-size:13px}
.actions{margin-top:12px}
.btn{
  display:inline-block;
  padding:8px 12px;
  background:#b30000;
  border:1px solid #8b0000;
  border-radius:6px;
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
.btn:hover{opacity:.9}
.btn-secondary{
  background:#1b1b1b;
  border:1px solid #2a2a2a;
}
.btn-secondary:hover{opacity:.9}
.btn-green{
  background:#0f5a25;
  border:1px solid #0b3a16;
}
.btn-green:hover{opacity:.9}
.success{
  background:#0b3a16;
  border:1px solid #0f5a25;
  color:#b9f5c7;
  padding:8px 10px;
  border-radius:6px;
  margin-bottom:12px;
  font-size:13px;
}
.field-label{
  display:block;
  margin:10px 0 6px;
  font-size:13px;
  opacity:.85;
}
.serial-form input,
.serial-form textarea{
  width:100%;
  padding:12px;
  margin-bottom:10px;
  background:#111;
  border:1px solid #333;
  color:#fff;
  border-radius:6px;
  box-sizing:border-box;
}
.serial-form select{
  width:100%;
  padding:12px;
  margin-bottom:10px;
  background:#111;
  border:1px solid #333;
  color:#fff;
  border-radius:6px;
  box-sizing:border-box;
}
.inline-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.ucp-search{
  display:flex;
  gap:10px;
  margin:10px 0 16px;
  flex-wrap:wrap;
}
.ucp-search input{
  padding:10px 12px;
  background:#111;
  border:1px solid #333;
  color:#fff;
  border-radius:6px;
  min-width:240px;
}
.ucp-grid{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:16px;
}
.ucp-list-panel{
  border:1px solid #1b1b1b;
  border-radius:6px;
  background:#0f0f0f;
  padding:8px;
  max-height:520px;
  overflow:auto;
}
.ucp-user-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:6px;
  text-decoration:none;
  color:#fff;
  border:1px solid transparent;
}
.ucp-user-row:hover{border-color:#8b0000}
.ucp-user-row.active{border-color:#f3d03a}
.ucp-edit-panel{
  border:1px solid #1b1b1b;
  border-radius:6px;
  padding:12px;
  background:#0f0f0f;
}
.ucp-edit-panel input{
  width:100%;
  padding:8px 10px;
  background:#111;
  border:1px solid #333;
  color:#fff;
  border-radius:6px;
}
.ucp-edit-panel .ucp-row{
  align-items:center;
}

/* Frakció oldal – bal oldal TELJESEN külön kártyák */
.fraction-page{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:28px;
  max-width:1200px;
  margin:0 auto;
  padding:24px 18px 40px;
  align-items:start;
}
.fraction-left{
  position:sticky;
  top:24px;
  background:linear-gradient(180deg, #0d0d0d 0%, #0a0a0a 100%);
  border:1px solid #1f1f1f;
  border-radius:12px;
  padding:16px;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.fraction-left-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #252525;
}
.fraction-left-title{
  font-size:15px;
  font-weight:600;
  color:#e0e0e0;
  letter-spacing:.02em;
}
.fraction-left-count{
  font-size:12px;
  font-weight:600;
  color:#666;
  background:#1a1a1a;
  padding:4px 10px;
  border-radius:20px;
  min-width:28px;
  text-align:center;
}
.fraction-left-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.fraction-card-standalone{
  display:flex;
  align-items:stretch;
  text-decoration:none;
  color:#fff;
  background:#141414;
  border:1px solid #252525;
  border-radius:10px;
  overflow:hidden;
  transition:border-color .2s, background .2s, box-shadow .2s, transform .15s;
}
.fraction-card-standalone:hover{
  border-color:#3a2020;
  background:#181818;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  transform:translateX(2px);
}
.fraction-card-standalone.fraction-card-active{
  border-color:#8b0000;
  background:linear-gradient(90deg, rgba(139,0,0,.12) 0%, #161616 100%);
  box-shadow:0 0 0 1px rgba(139,0,0,.2), 0 4px 20px rgba(139,0,0,.1);
}
.fraction-card-standalone.fraction-card-active .fraction-card-accent{
  opacity:1;
  background:linear-gradient(180deg, #c00 0%, #8b0000 100%);
}
.fraction-card-accent{
  width:4px;
  flex-shrink:0;
  background:#333;
  opacity:.6;
  transition:opacity .2s, background .2s;
}
.fraction-card-standalone:hover .fraction-card-accent{
  opacity:1;
  background:#555;
}
.fraction-card-body{
  flex:1;
  padding:14px 16px;
  min-width:0;
}
.fraction-card-name{
  font-weight:600;
  font-size:15px;
  line-height:1.35;
  color:#f3d03a;
  margin-bottom:4px;
}
.fraction-card-char{
  font-size:13px;
  color:#a0a0a0;
  line-height:1.3;
}
.fraction-card-badge{
  display:inline-block;
  margin-top:8px;
  padding:4px 10px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  background:linear-gradient(180deg, rgba(139,0,0,.4) 0%, rgba(139,0,0,.25) 100%);
  border:1px solid rgba(139,0,0,.5);
  border-radius:6px;
  color:#e8a0a0;
}
.fraction-right{
  min-width:0;
}

/* Adminisztrálás oldal – bal menü + iframe (frakció layout mintája) */
.admin-page{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:28px;
  max-width:1200px;
  margin:0 auto;
  padding:24px 18px 40px;
  align-items:start;
}
.admin-left{
  position:sticky;
  top:24px;
  background:linear-gradient(180deg, #0d0d0d 0%, #0a0a0a 100%);
  border:1px solid #1f1f1f;
  border-radius:12px;
  padding:16px;
  box-shadow:0 4px 24px rgba(0,0,0,.4);
}
.admin-left-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #252525;
}
.admin-left-title{
  font-size:15px;
  font-weight:600;
  color:#e0e0e0;
  letter-spacing:.02em;
}
.admin-left-count{
  font-size:12px;
  font-weight:600;
  color:#666;
  background:#1a1a1a;
  padding:4px 10px;
  border-radius:20px;
  min-width:28px;
  text-align:center;
}
.admin-left-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.admin-card-standalone{
  display:flex;
  align-items:stretch;
  text-decoration:none;
  color:#fff;
  background:#141414;
  border:1px solid #252525;
  border-radius:10px;
  overflow:hidden;
  transition:border-color .2s, background .2s, box-shadow .2s, transform .15s;
}
.admin-card-standalone:hover{
  border-color:#3a2020;
  background:#181818;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
  transform:translateX(2px);
}
.admin-card-accent{
  width:4px;
  flex-shrink:0;
  background:#333;
  opacity:.6;
  transition:opacity .2s, background .2s;
}
.admin-card-standalone:hover .admin-card-accent{
  opacity:1;
  background:#555;
}
.admin-card-standalone.admin-card-active{
  border-color:#8b0000;
  background:linear-gradient(90deg, rgba(139,0,0,.12) 0%, #161616 100%);
  box-shadow:0 0 0 1px rgba(139,0,0,.2), 0 4px 20px rgba(139,0,0,.1);
}
.admin-card-standalone.admin-card-active .admin-card-accent{
  opacity:1;
  background:linear-gradient(180deg, #c00 0%, #8b0000 100%);
}
.admin-card-body{
  flex:1;
  padding:14px 16px;
  min-width:0;
}
.admin-card-name{
  font-weight:600;
  font-size:15px;
  line-height:1.35;
  color:#f3d03a;
}
.admin-right{
  min-width:0;
}
.admin-frame{
  width:100%;
  min-height:calc(100vh - 120px);
  border:1px solid #252525;
  border-radius:10px;
  background:#0b0b0b;
}
body.admin-embed{
  margin:0;
  background:#0b0b0b;
}
body.admin-embed .container{
  padding:18px 16px 24px;
}

.fraction-empty{
  max-width:980px;
  margin:0 auto;
  padding:24px 18px 40px;
}

/* Szolgálati idő fül */
.duty-actions{
  text-align:center;
  margin-bottom:28px;
}
.duty-form{
  display:inline-block;
}
.duty-btn{
  padding:12px 28px;
  font-size:16px;
  font-weight:600;
  border:none;
  border-radius:10px;
  cursor:pointer;
  transition:filter .2s, transform .1s;
}
.duty-btn:hover{
  filter:brightness(1.1);
  transform:scale(1.02);
}
.duty-btn-start{
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
  color:#fff;
  border:1px solid #2a8a3a;
  box-shadow:0 2px 12px rgba(0,180,60,.25);
}
.duty-btn-end{
  background:linear-gradient(180deg, #8b2020 0%, #5c1515 100%);
  color:#fff;
  border:1px solid #a03030;
  box-shadow:0 2px 12px rgba(180,0,0,.25);
}
.duty-section{
  margin-bottom:24px;
}
.duty-section-title{
  font-size:15px;
  font-weight:600;
  color:#e0e0e0;
  margin-bottom:12px;
  padding-bottom:6px;
  border-bottom:1px solid #2a2a2a;
}
.duty-cards{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.duty-card{
  display:flex;
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:12px 16px;
  background:#141414;
  border:1px solid #252525;
  border-radius:10px;
  transition:border-color .2s;
}
.duty-card:hover{
  border-color:#333;
}
.duty-card-name{
  font-weight:600;
  font-size:15px;
  color:#fff;
}
.duty-badge{
  display:inline-block;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}
.duty-badge-on{
  background:rgba(0,140,50,.25);
  color:#70e090;
  border:1px solid rgba(0,180,60,.4);
}
.duty-badge-off{
  background:rgba(180,0,0,.2);
  color:#e88;
  border:1px solid rgba(200,0,0,.4);
}
.duty-status-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}
.duty-status-online{
  background:rgba(0,140,50,.25);
  color:#70e090;
  border:1px solid rgba(0,180,60,.4);
}
.duty-status-offline{
  background:rgba(180,0,0,.2);
  color:#e88;
  border:1px solid rgba(200,0,0,.4);
}
.duty-status-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#70e090;
  flex-shrink:0;
  animation:duty-dot-pulse 1.2s ease-in-out infinite;
}
@keyframes duty-dot-pulse{
  0%, 100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.5; transform:scale(1.2); }
}
.duty-activity-badge-wrap{ position:relative; display:inline-block; }
.duty-activity-badge{
  display:inline-block;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}
.duty-activity-tooltip{
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%) translateY(-6px);
  padding:6px 10px;
  font-size:12px;
  color:#e0e0e0;
  background:#1a1a1a;
  border:1px solid #444;
  border-radius:6px;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s;
  z-index:10;
}
.duty-activity-badge-wrap:hover .duty-activity-tooltip{ opacity:1; }
.duty-activity-active{
  background:rgba(0,140,50,.25);
  color:#70e090;
  border:1px solid rgba(0,180,60,.4);
}
.duty-activity-inactive{
  background:rgba(200,120,0,.25);
  color:#e8b050;
  border:1px solid rgba(220,140,0,.45);
}
.duty-card-rank{
  font-size:13px;
  color:#a0a0a0;
}
.duty-card-time-label{
  font-size:13px;
  color:#888;
}
.duty-card-timer{
  font-family:monospace;
  font-size:15px;
  font-weight:600;
  color:#70e090;
}
.duty-hourglass-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
}
.duty-hourglass{
  font-size:18px;
  z-index:1;
}
.duty-hourglass-ring{
  position:absolute;
  inset:0;
  border:2px solid rgba(0,180,60,.35);
  border-top-color:#0c6;
  border-radius:50%;
  animation:duty-spin 1.5s linear infinite;
}
@keyframes duty-spin{
  to{ transform:rotate(360deg); }
}
.duty-card-total{
  font-size:13px;
  color:#a0a0a0;
}
.admin-level-badge{
  display:inline-block;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
  border:1px solid;
  background:rgba(0,0,0,.25);
}
.duty-empty{
  padding:16px;
  text-align:center;
  color:#666;
  font-size:14px;
  background:#0f0f0f;
  border-radius:8px;
  border:1px dashed #2a2a2a;
}

/* ——— Admin staff page (áttekintés) ——— */
.admin-staff-card{
  padding:0;
  overflow:hidden;
}
.admin-staff-header{
  padding:20px 24px 16px;
  border-bottom:1px solid #1e1e1e;
  background:linear-gradient(180deg, rgba(139,0,0,.06) 0%, transparent 100%);
}
.admin-staff-header-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.admin-duty-reset-all-form{
  flex-shrink:0;
}
.admin-staff-title{
  margin:0 0 4px;
  font-size:22px;
  font-weight:700;
  color:#fff;
  letter-spacing:-0.02em;
}
.admin-staff-subtitle{
  margin:0;
  font-size:13px;
  color:#888;
}
.admin-staff-wrap{
  padding:20px 24px 24px;
}
.admin-staff-section{
  margin-bottom:28px;
}
.admin-staff-section:last-child{ margin-bottom:0; }
.admin-staff-section-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.admin-staff-section-icon{
  font-size:10px;
  line-height:1;
}
.admin-staff-section-on .admin-staff-section-icon{ color:#0c6; }
.admin-staff-section-off .admin-staff-section-icon{ color:#666; }
.admin-staff-section-title{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:#e2e2e2;
}
.admin-staff-section-count{
  margin-left:auto;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  color:#888;
  background:#1a1a1a;
  border:1px solid #2a2a2a;
  border-radius:20px;
}
.admin-staff-cards{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.admin-staff-card-item{
  position:relative;
  display:flex;
  align-items:stretch;
  min-height:0;
  background:#141414;
  border:1px solid #252525;
  border-radius:12px;
  overflow:hidden;
  transition:border-color .2s, box-shadow .2s;
}
.admin-staff-card-item:hover{
  border-color:#333;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.admin-staff-card-accent{
  width:4px;
  flex-shrink:0;
}
.admin-staff-card-on .admin-staff-card-accent{
  background:linear-gradient(180deg, #0c6 0%, #0a5 100%);
}
.admin-staff-card-off .admin-staff-card-accent{
  background:#333;
}
.admin-staff-card-main{
  flex:1;
  padding:14px 18px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.admin-staff-card-top{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.admin-staff-card-name{
  font-weight:600;
  font-size:16px;
  color:#fff;
}
.admin-staff-card-badges{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.admin-staff-card-badges .duty-card-time-label{ margin:0; }
.admin-staff-card-badges .duty-card-timer{ margin-right:4px; }
.admin-staff-timer-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.admin-staff-empty{
  padding:24px 20px;
  text-align:center;
  color:#666;
  font-size:14px;
  background:#111;
  border-radius:12px;
  border:1px dashed #2e2e2e;
}
.admin-staff-empty-icon{
  display:block;
  font-size:24px;
  color:#444;
  margin-bottom:6px;
}
.admin-staff-empty p{ margin:0; }

.duty-tab-wrap{
  position:relative;
  padding-top:36px;
}
.duty-reset-all-form{
  position:absolute;
  top:0;
  right:0;
}
.duty-reset-all-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  font-size:20px;
  line-height:1;
  color:#888;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:8px;
  cursor:pointer;
  transition:color .2s, border-color .2s, background .2s;
}
.duty-reset-all-btn:hover{
  color:#0c6;
  border-color:#0c6;
  background:rgba(0,180,60,.1);
}
.duty-reset-one-form{
  margin-left:auto;
}
.duty-reset-one-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  font-size:16px;
  line-height:1;
  color:#666;
  background:transparent;
  border:1px solid #333;
  border-radius:6px;
  cursor:pointer;
  transition:color .2s, border-color .2s;
}
.duty-reset-one-btn:hover{
  color:#0c6;
  border-color:#0c6;
}

.duty-loading{
  display:none;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:14px 24px;
}
.duty-loading.duty-loading-visible{
  display:flex;
}
.duty-spinner{
  width:28px;
  height:28px;
  border:3px solid #2a2a2a;
  border-top-color:#0c6;
  border-radius:50%;
  animation:duty-spin .9s linear infinite;
}
.duty-loading-text{
  font-size:15px;
  color:#b0b0b0;
}
.duty-popup-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}
.duty-popup-overlay.duty-popup-visible{
  display:flex;
}
.duty-popup{
  background:#1a1a1a;
  border:1px solid #8b0000;
  border-radius:12px;
  padding:24px;
  max-width:360px;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.duty-popup-message{
  margin:0 0 18px;
  font-size:15px;
  color:#fff;
  line-height:1.45;
}
.duty-popup-close{
  display:block;
  width:100%;
  padding:10px 20px;
  background:#8b0000;
  border:none;
  border-radius:8px;
  color:#fff;
  font-weight:600;
  cursor:pointer;
}
.duty-popup-close:hover{
  background:#a00;
}

/* RCS frakció fülek a jobb oldali kártyán */
.fraction-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid #2a2a2a;
}
.fraction-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  font-size:14px;
  font-weight:500;
  color:#b0b0b0;
  text-decoration:none;
  border:1px solid #333;
  border-radius:8px;
  background:linear-gradient(180deg, #1a1a1a 0%, #141414 100%);
  transition:border-color .2s, color .2s, background .2s, box-shadow .2s;
}
.fraction-tab:hover{
  color:#fff;
  border-color:#555;
  background:linear-gradient(180deg, #222 0%, #1a1a1a 100%);
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.fraction-tab-active{
  color:#f3d03a;
  border-color:#8b0000;
  background:linear-gradient(180deg, rgba(139,0,0,.25) 0%, rgba(139,0,0,.12) 100%);
  box-shadow:0 0 0 1px rgba(139,0,0,.3), inset 0 1px 0 rgba(255,255,255,.04);
}
.fraction-tab-active:hover{
  color:#f3d03a;
  border-color:#a00;
  background:linear-gradient(180deg, rgba(139,0,0,.3) 0%, rgba(139,0,0,.15) 100%);
}
.fraction-tab-icon{
  font-size:1.1em;
  line-height:1;
  opacity:.95;
}
.fraction-tab-label{
  white-space:nowrap;
}
.fraction-tab-placeholder{
  padding:24px;
  text-align:center;
  color:#888;
  font-size:14px;
  background:#0f0f0f;
  border-radius:8px;
  border:1px dashed #333;
}

.ucp-table{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:16px;
}
.ucp-table-head,
.ucp-table-row{
  display:grid;
  grid-template-columns:160px 1fr 140px 140px 120px 140px;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border-radius:6px;
  background:#0f0f0f;
  border:1px solid #1b1b1b;
}
.ucp-table-head{
  background:#140000;
  font-weight:700;
}
.ucp-detail{
  border:1px solid #1b1b1b;
  border-radius:6px;
  padding:10px 12px;
  margin-bottom:12px;
  background:#0f0f0f;
}
.ucp-detail summary{
  cursor:pointer;
  font-weight:700;
}
.ucp-detail summary::marker{color:#f3d03a}
.serial-table{
  overflow-x:auto;
}
.serial-table .ucp-table-head,
.serial-table .ucp-table-row{
  grid-template-columns:1.2fr 1fr 1fr 140px 110px 140px;
}
.ucp-table-plain{
  width:100%;
  border-collapse:collapse;
  background:#0f0f0f;
  border:1px solid #1b1b1b;
  border-radius:6px;
  overflow:hidden;
}
.ucp-table-plain th{
  text-align:left;
  padding:10px;
  background:#140000;
  font-weight:700;
  border-bottom:1px solid #1b1b1b;
}
.ucp-table-plain td{
  padding:10px;
  border-bottom:1px solid #1b1b1b;
}
.ucp-row-sub-row td{
  font-size:12px;
  opacity:.85;
  padding-top:0;
}

.modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2000;
}
.modal.open{display:flex}
.modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.6);
}
.modal-card{
  position:relative;
  z-index:1;
  background:#0b0b0b;
  border:1px solid #8b0000;
  border-radius:8px;
  padding:16px;
  min-width:280px;
  box-shadow:0 0 18px rgba(0,0,0,.35);
  text-align:center;
}

.ucp-section-title{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  font-weight:700;
  margin:10px 0 14px;
  color:#f3d03a;
}
.ucp-section-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.ucp-section-icon-svg{
  width:1.1em;
  height:1.1em;
  vertical-align:middle;
}

.ucp-collapse{
  margin:10px 0 14px;
}
.ucp-collapse-trigger{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:8px 12px;
  margin:0;
  font:inherit;
  font-weight:700;
  color:#f3d03a;
  background:transparent;
  border:none;
  border-radius:6px;
  cursor:pointer;
  transition:background .2s;
}
.ucp-collapse-trigger:hover{
  background:rgba(243,208,58,.1);
}
.ucp-collapse-trigger .ucp-section-title{
  margin:0;
}
.ucp-collapse-arrow{
  font-size:12px;
  line-height:1;
  transition:transform .35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ucp-collapse-open .ucp-collapse-arrow{
  transform:rotate(180deg);
}
.ucp-collapse-content{
  display:grid;
  grid-template-rows:0fr;
  margin-top:0;
  transition:grid-template-rows .4s cubic-bezier(0.4, 0, 0.2, 1), margin-top .3s ease;
}
.ucp-collapse-open .ucp-collapse-content{
  grid-template-rows:1fr;
  margin-top:8px;
}
.ucp-collapse-inner{
  min-height:0;
  overflow:hidden;
  opacity:0;
  transition:opacity .3s ease .05s;
}
.ucp-collapse-open .ucp-collapse-inner{
  opacity:1;
  transition:opacity .25s ease .1s;
}

.ucp-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:14px;
}
.ucp-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:6px;
}
.ucp-row span{opacity:.75}
.leader-badge{
  display:inline-block;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}
.leader-badge-yes{
  background:rgba(0,140,50,.25);
  color:#70e090;
  border:1px solid rgba(0,180,60,.4);
}
.leader-badge-no{
  background:rgba(180,0,0,.2);
  color:#e88;
  border:1px solid rgba(200,0,0,.4);
}

.motd-section{
  margin-top:18px;
}
.motd-section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.motd-section-header .ucp-section-title{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:none;
}
.motd-edit-btn{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  font-size:16px;
  color:#888;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:6px;
  cursor:pointer;
  transition:color .2s, border-color .2s, background .2s;
}
.motd-edit-btn:hover{
  color:#0c6;
  border-color:#0c6;
  background:rgba(0,180,60,.1);
}
.motd-content{
  white-space:pre-wrap;
  padding:10px 12px;
  background:#111;
  border-radius:6px;
  border:1px solid #1b1b1b;
  min-height:40px;
}
.motd-empty{
  color:#555;
  font-style:italic;
}
.motd-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.motd-modal-overlay.motd-modal-visible{
  display:flex;
}
.motd-modal{
  width:100%;
  max-width:480px;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:10px;
  padding:20px;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.motd-modal-title{
  font-size:16px;
  font-weight:600;
  color:#e0e0e0;
  margin-bottom:14px;
}
.motd-modal textarea{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  font-size:14px;
  line-height:1.5;
  color:#e0e0e0;
  background:#111;
  border:1px solid #333;
  border-radius:6px;
  resize:vertical;
  margin-bottom:14px;
  font-family:inherit;
}
.motd-modal textarea:focus{
  outline:none;
  border-color:#0c6;
}
.motd-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.motd-modal-cancel{
  padding:8px 16px;
  font-size:14px;
  color:#a0a0a0;
  background:transparent;
  border:1px solid #444;
  border-radius:6px;
  cursor:pointer;
  transition:border-color .2s, color .2s;
}
.motd-modal-cancel:hover{
  color:#e0e0e0;
  border-color:#666;
}
.motd-modal-save{
  padding:8px 20px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
  border:1px solid #2a7a3a;
  border-radius:6px;
  cursor:pointer;
  transition:filter .2s;
}
.motd-modal-save:hover{
  filter:brightness(1.1);
}

.inactiv-tab{ margin-bottom:24px; }
.inactiv-section-title{
  font-size:14px;
  font-weight:600;
  color:#c0c0c0;
  margin-top:16px;
  margin-bottom:6px;
}
.inactiv-section-title:first-child{ margin-top:0; }
.inactiv-date{
  display:block;
  width:100%;
  max-width:220px;
  padding:8px 12px;
  font-size:14px;
  color:#e0e0e0;
  background:#111;
  border:1px solid #333;
  border-radius:6px;
  margin-bottom:4px;
}
.inactiv-reason{
  display:block;
  width:100%;
  max-width:480px;
  box-sizing:border-box;
  padding:10px 12px;
  font-size:14px;
  line-height:1.4;
  color:#e0e0e0;
  background:#111;
  border:1px solid #333;
  border-radius:6px;
  resize:vertical;
  margin-bottom:12px;
  font-family:inherit;
}
.inactiv-save-btn{
  padding:10px 24px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
  border:1px solid #2a7a3a;
  border-radius:6px;
  cursor:pointer;
  transition:filter .2s;
}
.inactiv-save-btn:hover{ filter:brightness(1.1); }
.inactiv-my-section{ margin-top:24px; }
.inactiv-empty{ color:#666; text-align:center; padding:16px !important; }
.inactiv-status{
  display:inline-block;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
}
.inactiv-status-accepted{
  background:rgba(0,140,50,.25);
  color:#70e090;
  border:1px solid rgba(0,180,60,.4);
}
.inactiv-status-rejected{
  background:rgba(180,0,0,.2);
  color:#e88;
  border:1px solid rgba(200,0,0,.4);
}
.inactiv-status-pending{
  background:rgba(200,120,0,.25);
  color:#e8b050;
  border:1px solid rgba(220,140,0,.45);
}
.inactiv-leader-section{ margin-top:28px; padding-top:20px; border-top:1px solid #2a2a2a; }
.inactiv-table-wrap{ overflow-x:auto; margin-top:10px; }
.inactiv-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.inactiv-table th,
.inactiv-table td{
  padding:10px 12px;
  text-align:left;
  border-bottom:1px solid #252525;
}
.inactiv-table th{
  color:#a0a0a0;
  font-weight:600;
  background:#0f0f0f;
}
.inactiv-table td{ color:#e0e0e0; }
.inactiv-actions{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.inactiv-action-form{ display:inline; }
.inactiv-btn{
  padding:6px 12px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
  cursor:pointer;
  border:none;
  transition:filter .2s;
}
.inactiv-btn-accept{
  color:#fff;
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
}
.inactiv-btn-reject{
  color:#fff;
  background:linear-gradient(180deg, #8b2020 0%, #5c1515 100%);
}
.inactiv-btn-vissza{
  color:#e0e0e0;
  background:#333;
  border:1px solid #555;
}
.inactiv-btn:hover{ filter:brightness(1.1); }

.duty-inactiv-badge-wrap{ position:relative; display:inline-flex; }
.duty-inactiv-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 10px;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
  background:rgba(0,100,180,.25);
  color:#7ac8f0;
  border:1px solid rgba(0,140,220,.45);
}
.duty-inactiv-tooltip{
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%) translateY(-6px);
  padding:6px 10px;
  font-size:12px;
  color:#e0e0e0;
  background:#1a1a1a;
  border:1px solid #444;
  border-radius:6px;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s;
  z-index:10;
}
.duty-inactiv-badge-wrap:hover .duty-inactiv-tooltip{ opacity:1; }

.btk-tab-wrap{ position:relative; padding-top:44px; }
.btk-add-btn{
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  font-size:24px;
  line-height:1;
  color:#fff;
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
  border:1px solid #2a7a3a;
  border-radius:8px;
  cursor:pointer;
  transition:filter .2s;
}
.btk-add-btn:hover{ filter:brightness(1.15); }
.btk-table-wrap{ overflow-x:auto; margin-bottom:24px; }
.btk-table{ width:100%; border-collapse:collapse; font-size:13px; }
.btk-table th, .btk-table td{ padding:10px 12px; text-align:left; border-bottom:1px solid #252525; }
.btk-table th{ color:#a0a0a0; font-weight:600; background:#0f0f0f; }
.btk-table td{ color:#e0e0e0; }
.btk-empty{ color:#666; text-align:center; padding:16px !important; }
.btk-edit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  font-size:14px;
  color:#888;
  background:transparent;
  border:1px solid #333;
  border-radius:6px;
  cursor:pointer;
  transition:color .2s, border-color .2s;
}
.btk-edit-btn:hover{ color:#0c6; border-color:#0c6; }
.btk-actions-cell{ display:flex; align-items:center; gap:6px; }
.btk-delete-form{ display:inline; }
.btk-delete-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:0;
  font-size:14px;
  color:#e88;
  background:transparent;
  border:1px solid rgba(200,0,0,.5);
  border-radius:6px;
  cursor:pointer;
  transition:color .2s, border-color .2s, background .2s;
}
.btk-delete-btn:hover{ color:#fff; background:rgba(180,0,0,.4); border-color:#c00; }
.btk-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.btk-modal-overlay.btk-modal-visible{ display:flex; }
.btk-modal{
  width:100%;
  max-width:420px;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:10px;
  padding:20px;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.btk-modal-title{ font-size:16px; font-weight:600; color:#e0e0e0; margin-bottom:14px; }
.btk-form-row{ margin-bottom:12px; }
.btk-form-row label{ display:block; font-size:12px; color:#a0a0a0; margin-bottom:4px; }
.btk-form-row input, .btk-form-row textarea{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  font-size:14px;
  color:#e0e0e0;
  background:#111;
  border:1px solid #333;
  border-radius:6px;
  font-family:inherit;
}
.btk-form-row textarea{ resize:vertical; min-height:50px; }
.btk-modal-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.btk-modal-cancel{ padding:8px 16px; font-size:14px; color:#a0a0a0; background:transparent; border:1px solid #444; border-radius:6px; cursor:pointer; }
.btk-modal-save{ padding:8px 20px; font-size:14px; font-weight:600; color:#fff; background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%); border:1px solid #2a7a3a; border-radius:6px; cursor:pointer; }
.btk-calc-section{ margin-top:20px; padding-top:20px; border-top:1px solid #2a2a2a; }
.btk-calc-toggle{
  padding:10px 20px;
  font-size:14px;
  font-weight:600;
  color:#0c6;
  background:rgba(0,180,60,.1);
  border:1px solid rgba(0,180,60,.4);
  border-radius:8px;
  cursor:pointer;
  transition:filter .2s;
}
.btk-calc-toggle:hover{ filter:brightness(1.1); }
.btk-calc-panel{ display:none; margin-top:14px; padding:16px; background:#111; border-radius:8px; border:1px solid #252525; }
.btk-calc-panel.btk-calc-visible{ display:block; }
.btk-calc-search{
  width:100%;
  box-sizing:border-box;
  padding:8px 12px;
  font-size:14px;
  color:#e0e0e0;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:6px;
  margin-bottom:12px;
}
.btk-calc-search:focus{ outline:none; border-color:#0c6; }
.btk-calc-search::placeholder{ color:#666; }
.btk-calc-row.btk-calc-row-hidden{ display:none !important; }
.btk-calc-list{ display:flex; flex-direction:column; gap:8px; margin-bottom:16px; max-height:240px; overflow-y:auto; }
.btk-calc-row{ display:flex; align-items:center; gap:10px; cursor:pointer; font-size:13px; color:#e0e0e0; }
.btk-calc-row input{ flex-shrink:0; }
.btk-calc-totals, .btk-calc-final{ margin-top:12px; padding-top:12px; border-top:1px solid #2a2a2a; }
.btk-calc-total-row{ display:flex; justify-content:space-between; margin-bottom:6px; font-size:14px; }
.btk-calc-total-row strong{ color:#70e090; }
.btk-calc-enyhites{ margin-top:14px; }
.btk-enyhites-checkboxes{ display:flex; flex-wrap:wrap; gap:14px 20px; margin-bottom:10px; }
.btk-enyhites-cb{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#c0c0c0; cursor:pointer; }
.btk-enyhites-cb input{ flex-shrink:0; }
.btk-enyhites-label{ display:flex; justify-content:space-between; font-size:14px; color:#c0c0c0; margin-bottom:6px; }
.btk-enyhites-slider{ width:100%; height:8px; accent-color:#0c6; }

.jelentesek-tab-wrap{ position:relative; padding-top:48px; }
.jelentesek-add-btn{
  position:absolute;
  top:0;
  right:0;
  display:inline-flex;
  align-items:center;
  padding:10px 18px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%);
  border:1px solid #2a7a3a;
  border-radius:8px;
  text-decoration:none;
  cursor:pointer;
  transition:filter .2s;
}
.jelentesek-add-btn:hover{ filter:brightness(1.1); color:#fff; }
.jelentesek-empty{ padding:24px; text-align:center; }
.jelentesek-cards{ display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.jelentesek-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#141414;
  border:1px solid #252525;
  border-radius:10px;
  cursor:pointer;
  transition:border-color .2s, background .2s;
}
.jelentesek-card:hover{ border-color:#333; background:#181818; }
.jelentesek-card-body{ flex:1; display:flex; flex-wrap:nowrap; align-items:center; gap:8px 12px; }
.jelentesek-card-line{ font-weight:600; font-size:15px; color:#fff; white-space:nowrap; }
.jelentesek-delete-form{ flex-shrink:0; }
.jelentesek-delete-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  padding:0;
  font-size:16px;
  color:#e88;
  background:transparent;
  border:1px solid rgba(200,0,0,.5);
  border-radius:6px;
  cursor:pointer;
  transition:color .2s, background .2s;
}
.jelentesek-delete-btn:hover{ color:#fff; background:rgba(180,0,0,.4); }
.jelentesek-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.jelentesek-modal-overlay.jelentesek-modal-visible{ display:flex; }
.jelentesek-modal{
  width:100%;
  max-width:520px;
  max-height:90vh;
  overflow-y:auto;
  background:#1a1a1a;
  border:1px solid #333;
  border-radius:10px;
  padding:20px;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
.jelentesek-modal-title{ font-size:16px; font-weight:600; color:#e0e0e0; margin-bottom:14px; }
.jelentesek-form-row{ margin-bottom:14px; }
.jelentesek-form-row label{ display:block; font-size:12px; color:#a0a0a0; margin-bottom:4px; }
.jelentesek-form-row input[type="text"],
.jelentesek-form-row textarea{ width:100%; box-sizing:border-box; padding:8px 10px; font-size:14px; color:#e0e0e0; background:#111; border:1px solid #333; border-radius:6px; font-family:inherit; }
.jelentesek-form-row textarea{ resize:vertical; min-height:80px; }
.jelentesek-form-row input[type="file"]{ font-size:13px; color:#c0c0c0; }
.jelentesek-modal-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.jelentesek-modal-cancel{ padding:8px 16px; font-size:14px; color:#a0a0a0; background:transparent; border:1px solid #444; border-radius:6px; cursor:pointer; }
.jelentesek-modal-save{ padding:8px 20px; font-size:14px; font-weight:600; color:#fff; background:linear-gradient(180deg, #1a6b2a 0%, #0d4d1a 100%); border:1px solid #2a7a3a; border-radius:6px; cursor:pointer; }
.jelentesek-view-modal-inner .jelentesek-modal-title{ margin-bottom:10px; }
.jelentesek-view-author{ margin-bottom:10px; font-size:14px; color:#e0e0e0; }
.jelentesek-view-label{ font-size:13px; font-weight:600; color:#a0a0a0; margin-top:14px; margin-bottom:6px; }
.jelentesek-view-description{ font-size:14px; color:#e0e0e0; white-space:pre-wrap; padding:10px; background:#111; border-radius:6px; border:1px solid #252525; margin-bottom:8px; }
.jelentesek-view-images{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.jelentesek-view-img{ max-width:100%; max-height:200px; width:auto; height:auto; border-radius:8px; border:1px solid #333; cursor:pointer; }
.jelentesek-modal-close{ margin-top:16px; padding:8px 20px; font-size:14px; color:#e0e0e0; background:#333; border:1px solid #555; border-radius:6px; cursor:pointer; }
.jelentesek-lightbox-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  z-index:1001;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.jelentesek-lightbox-overlay.jelentesek-lightbox-visible{ display:flex; }
.jelentesek-lightbox-close{
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  padding:0;
  font-size:22px;
  line-height:1;
  color:#e0e0e0;
  background:rgba(0,0,0,.6);
  border:1px solid #555;
  border-radius:8px;
  cursor:pointer;
  z-index:1002;
}
.jelentesek-lightbox-close:hover{ color:#fff; background:rgba(0,0,0,.9); }
.jelentesek-lightbox-img{
  max-width:90vw;
  max-height:90vh;
  width:auto;
  height:auto;
  border-radius:8px;
  box-shadow:0 8px 32px rgba(0,0,0,.6);
  object-fit:contain;
}

.ucp-row-warning{
  border-bottom-color:#6b5608;
}
.ucp-row-warning span,
.ucp-row-warning strong{
  color:#f3d03a;
}
.ucp-row-danger{
  border-bottom-color:#5a0b0b;
}
.ucp-row-danger span,
.ucp-row-danger strong{
  color:#ffb3b3;
}
.ucp-character{
  padding:12px;
  border:1px solid #1b1b1b;
  border-radius:6px;
  margin-bottom:14px;
  background:#0f0f0f;
}
.ucp-bars{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:10px 0 12px;
}
.bar-row{
  display:grid;
  grid-template-columns:110px 1fr 48px;
  gap:10px;
  align-items:center;
  font-size:12px;
  position:relative;
}
.bar-row-bar-wrap{
  position:relative;
}
.bar{
  height:10px;
  background:#1b1b1b;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #2a2a2a;
}
.bar-fill{
  height:100%;
  transition:opacity .15s;
}
.bar-row:hover .bar-fill{
  animation:bar-pulse 0.6s ease-in-out infinite;
}
@keyframes bar-pulse{
  0%, 100%{ opacity:1; filter:brightness(1); }
  50%{ opacity:0.6; filter:brightness(1.35); }
}
.bar-tooltip{
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%) translateY(-6px);
  padding:4px 10px;
  font-size:11px;
  font-weight:600;
  color:#fff;
  background:#1a1a1a;
  border:1px solid #444;
  border-radius:6px;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .15s;
  z-index:10;
}
.bar-row:hover .bar-tooltip{
  opacity:1;
}
.bar-red{background:#b30000}
.bar-white{background:#f2f2f2}
.bar-yellow{background:#f3d03a}
.bar-blue{background:#4aa3ff}

/* Prémium Pont oldal */
.premium-balance-box{
  text-align:center;
  padding:24px;
  margin:16px 0;
  background:linear-gradient(135deg,#1a0a0a 0%,#0f0505 100%);
  border:1px solid #8b0000;
  border-radius:10px;
  box-shadow:0 0 20px rgba(139,0,0,.15);
}
.premium-balance-label{
  font-size:14px;
  color:#aaa;
  margin-bottom:8px;
}
.premium-balance-value{
  font-size:28px;
  font-weight:700;
  color:#f3d03a;
}
.premium-unit{
  font-size:16px;
  font-weight:600;
  color:#c4a82a;
  margin-left:4px;
}
.ucp-info-text{
  color:#ccc;
  line-height:1.6;
  margin:0 auto 12px;
  max-width:640px;
  text-align:center;
}
.ucp-info-list{
  color:#ccc;
  line-height:1.8;
  margin:0;
  padding-left:20px;
  max-width:640px;
}
.ucp-info-list li{margin-bottom:4px}

.premium-disclaimer{
  padding:14px 16px;
  margin:16px auto 24px;
  background:rgba(139,0,0,.12);
  border:1px solid rgba(139,0,0,.4);
  border-radius:8px;
  color:#e8d0d0;
  font-size:13px;
  line-height:1.55;
  max-width:640px;
  text-align:center;
}
.premium-disclaimer strong{color:#f3d03a}

.premium-packages-title{
  font-size:1.75rem;
  margin-bottom:8px;
}
.premium-packages{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:20px;
  margin-top:28px;
}
@media (max-width:720px){
  .premium-packages{grid-template-columns:1fr}
}
@keyframes premium-card-shake{
  0%,100%{transform:translateY(-8px) translateX(0)}
  20%{transform:translateY(-8px) translateX(3px)}
  40%{transform:translateY(-8px) translateX(-3px)}
  60%{transform:translateY(-8px) translateX(2px)}
  80%{transform:translateY(-8px) translateX(-2px)}
}
.premium-package-card{
  position:relative;
  padding:20px;
  padding-top:48px;
  background:linear-gradient(180deg,#141414 0%,#0d0d0d 100%);
  border:1px solid #2a2a2a;
  border-radius:10px;
  text-align:center;
  transition:transform .25s ease, border-color .2s, box-shadow .25s ease;
}
.premium-card-diamond{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:2.75rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));
}
.premium-diamond-bronze{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.4)) hue-rotate(-55deg) saturate(1.15) brightness(0.95);
}
.premium-diamond-silver{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.4)) grayscale(1) brightness(1.25) contrast(1.05);
}
.premium-diamond-gold{
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.4)) hue-rotate(65deg) saturate(1.2) brightness(1.05);
}
.premium-package-card:hover{
  transform:translateY(-8px);
  border-color:#5a1a1a;
  box-shadow:0 12px 28px rgba(0,0,0,.35),0 6px 16px rgba(139,0,0,.2);
  animation:premium-card-shake .45s ease-in-out 1;
}
.premium-package-card.premium-package-featured{
  border-color:#8b0000;
  box-shadow:0 0 20px rgba(139,0,0,.2);
}
@keyframes premium-badge-shake{
  0%,100%{transform:translateX(calc(-50% + 0px)) rotate(0deg)}
  12%{transform:translateX(calc(-50% + 2px)) rotate(0deg)}
  37%{transform:translateX(calc(-50% - 2px)) rotate(0deg)}
  62%{transform:translateX(calc(-50% + 2px)) rotate(0deg)}
  87%{transform:translateX(calc(-50% - 2px)) rotate(0deg)}
  90%{transform:translateX(-50%) rotate(0deg)}
  93%{transform:translateX(-50%) rotate(360deg)}
  93.01%,100%{transform:translateX(-50%) rotate(0deg)}
}
.premium-package-badge{
  position:absolute;
  top:32px;
  left:50%;
  transform:translateX(-50%);
  padding:5px 14px;
  background:linear-gradient(135deg,#2a2a2a 0%,#1a1a1a 100%);
  color:#e8e8e8;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-radius:20px;
  border:1px solid rgba(192,192,192,.5);
  box-shadow:0 0 12px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
  animation:premium-badge-shake 8s ease-in-out infinite;
}
.premium-package-name{
  font-weight:700;
  color:#fff;
  margin-bottom:12px;
  font-size:15px;
}
.premium-package-featured .premium-package-name{
  margin-top:18px;
}
.premium-package-pp{
  font-size:22px;
  font-weight:700;
  color:#f3d03a;
  margin-bottom:6px;
}
.premium-package-card .premium-unit{font-size:14px;color:#c4a82a}
.premium-package-price{
  font-size:18px;
  color:#aaa;
  margin-bottom:16px;
}
.premium-package-form{
  margin:0;
  margin-top:4px;
}
.premium-package-card .btn{
  width:100%;
  cursor:pointer;
}
.premium-message{
  padding:12px 16px;
  margin-bottom:16px;
  border-radius:8px;
  text-align:center;
}
.premium-message-error{
  background:rgba(139,0,0,.2);
  border:1px solid rgba(139,0,0,.5);
  color:#f0c0c0;
}
.premium-message-info{
  background:rgba(60,60,80,.3);
  border:1px solid rgba(100,100,140,.4);
  color:#c8d0e0;
}
.premium-success-box{
  text-align:center;
  padding:28px 20px;
  margin:20px 0;
  background:linear-gradient(180deg,rgba(20,60,20,.25) 0%,rgba(10,30,10,.4) 100%);
  border:1px solid rgba(80,140,80,.4);
  border-radius:12px;
}
.premium-success-title{
  font-size:1.35rem;
  font-weight:700;
  color:#b8e0b8;
  margin-bottom:14px;
}
.premium-success-text{
  color:#d0e0d0;
  line-height:1.6;
  margin:0 0 16px;
}
.premium-success-balance{
  color:#f3d03a;
  font-size:1.1rem;
}
.premium-code-card{
  margin:20px auto;
  padding:16px 24px;
  max-width:360px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(180,160,80,.5);
  border-radius:10px;
  text-align:center;
}
.premium-code-label{
  display:block;
  font-size:0.9rem;
  color:#c8c0a0;
  margin-bottom:8px;
}
.premium-code-value{
  font-size:1.25rem;
  letter-spacing:2px;
  color:#f3d03a;
  background:rgba(0,0,0,.3);
  padding:8px 14px;
  border-radius:6px;
}
.premium-codes-compact-wrap{
  margin:12px 0 16px;
  display:flex;
  justify-content:center;
  overflow-x:auto;
}
.premium-codes-compact{
  width:100%;
  max-width:640px;
  border-collapse:collapse;
  font-size:0.875rem;
}
.premium-codes-compact th,
.premium-codes-compact td{
  padding:8px 12px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.premium-codes-compact th{
  color:#a0a0b0;
  font-weight:600;
  font-size:0.8rem;
  text-transform:uppercase;
  letter-spacing:0.03em;
}
.premium-codes-compact tbody tr:hover{
  background:rgba(255,255,255,.03);
}
.premium-codes-compact code{
  font-size:0.85rem;
  color:#f3d03a;
  background:rgba(0,0,0,.25);
  padding:4px 8px;
  border-radius:4px;
}
.premium-used-yes{ color:#90c090; }
.premium-used-no{ color:#c0a060; }
.premium-codes-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  margin-top:20px;
  flex-wrap:wrap;
}
.premium-codes-pagination-info{
  color:#b0b0c0;
  font-size:0.95rem;
}
.premium-codes-pagination-btn{
  display:inline-block;
  padding:8px 16px;
  background:rgba(80,60,40,.4);
  border:1px solid rgba(180,140,80,.5);
  border-radius:8px;
  color:#e8d8a0;
  text-decoration:none;
  font-size:0.95rem;
  transition:background .2s, border-color .2s;
}
.premium-codes-pagination-btn:hover{
  background:rgba(100,80,50,.5);
  border-color:rgba(220,180,100,.6);
  color:#fff;
}
.premium-codes-pagination-next{
  margin-left:auto;
}
