
/* Abos: kleiner Counter-Badge */
.lf-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  font-size:12px;
  line-height:18px;
  background:rgba(255,215,120,.18);
  border:1px solid rgba(255,215,120,.35);
  color:#f6e2b7;
}
/* =========================
   LandForge Forum (MVC)
   Admin + Forum Skin
   ========================= */

/* Base */
body.admin-page{background:radial-gradient(1200px 700px at 25% 10%, rgba(255,215,120,.10), transparent 60%),
radial-gradient(900px 600px at 80% 30%, rgba(120,200,255,.08), transparent 55%),
linear-gradient(180deg, #0b0f14, #07090c);
color:#e9e6dc;
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

.admin-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
@media(max-width:980px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:sticky;top:0;z-index:5;height:auto}}

.admin-sidebar{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22));
border-right:1px solid rgba(255,255,255,.10);
padding:18px 14px;
position:sticky;top:0;height:100vh;overflow:auto;
}

.admin-brand{display:flex;gap:12px;align-items:center;padding:10px 10px 14px 10px;border-bottom:1px solid rgba(255,255,255,.10)}
.admin-logo{width:46px;height:46px;object-fit:contain;border-radius:14px;
filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
}
.admin-sigil{width:42px;height:42px;border-radius:14px;
background:radial-gradient(circle at 30% 30%, rgba(255,220,140,.35), rgba(255,255,255,.10) 40%, rgba(0,0,0,.35) 72%),
linear-gradient(135deg, rgba(255,255,255,.08), rgba(0,0,0,.35));
border:1px solid rgba(255,255,255,.16);
box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.admin-brand-title{font-family:'Cinzel',serif;font-weight:700;letter-spacing:.6px;font-size:18px}
.admin-brand-sub{opacity:.8;font-size:12px}

.admin-nav{padding:14px 10px}
.admin-nav-cat{margin:12px 0 6px 0;opacity:.75;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.admin-nav-link{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:12px;
color:#e9e6dc;text-decoration:none;border:1px solid transparent;
background:rgba(255,255,255,.02)
}
.admin-nav-link:hover{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.admin-nav-link.is-active{border-color:rgba(255,220,140,.35);background:rgba(255,220,140,.10)}

.admin-sidebar-footer{padding:12px 10px;border-top:1px solid rgba(255,255,255,.10)}

.admin-main{padding:18px 18px 60px 18px}
.admin-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.12));
border:1px solid rgba(255,255,255,.10);
border-radius:18px;
padding:16px 16px;
}
.admin-title{font-family:'Cinzel',serif;font-weight:700;font-size:22px}
.admin-sub{opacity:.85;font-size:13px;margin-top:2px}
.admin-topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.admin-pill{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);
background:rgba(0,0,0,.20);font-size:12px;opacity:.95
}

.admin-userbox{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;
border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.20)
}
.admin-avatar{width:34px;height:34px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.14);
box-shadow:0 10px 22px rgba(0,0,0,.28);
}
.admin-avatar--empty{background:radial-gradient(circle at 30% 30%, rgba(255,220,140,.25), rgba(255,255,255,.08) 40%, rgba(0,0,0,.35) 72%);
}
.admin-user-meta{display:flex;flex-direction:column;line-height:1.1}
.admin-user-name{font-size:12px;font-weight:700;letter-spacing:.02em}
.admin-user-role{font-size:11px;opacity:.85}
.admin-user-role--server{opacity:1;
font-family:'Cinzel',serif;
letter-spacing:.08em;
text-transform:uppercase;
color:#ffd98a;
text-shadow:0 0 10px rgba(255,217,138,.35), 0 2px 0 rgba(0,0,0,.55);
}

/* Forum UI atoms */
.lf-panel{margin-top:14px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.20));border-radius:18px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.lf-footer{margin-top:14px;opacity:.6;font-size:12px}

.lf-hero{padding:14px 4px 10px}
.lf-hero-kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.lf-h1{margin:8px 0 8px;font-family:'Cinzel',serif;font-size:28px;letter-spacing:.02em}
.lf-lead{margin:0;opacity:.78;line-height:1.7;max-width:78ch}

.lf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.lf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);
background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.35));
color:#e9e6dc;text-decoration:none;font-weight:700;letter-spacing:.02em;
box-shadow:0 12px 28px rgba(0,0,0,.25);cursor:pointer
}
.lf-btn:hover{filter:brightness(1.06);border-color:rgba(255,255,255,.22)}
.lf-btn:active{transform:translateY(1px)}
.lf-btn--primary{background:radial-gradient(260px 100px at 20% 10%, rgba(255,215,120,.28), transparent 60%),
radial-gradient(260px 100px at 80% 30%, rgba(120,200,255,.22), transparent 60%),
linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.40));
border-color:rgba(255,255,255,.18)}
.lf-btn--danger{background:linear-gradient(180deg, rgba(255,120,120,.18), rgba(0,0,0,.40));border-color:rgba(255,150,150,.22)}

.lf-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:12px}
@media(max-width:980px){.lf-grid{grid-template-columns:1fr}}

.lf-card{border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.26));border-radius:18px;padding:14px}
.lf-card-title{font-family:'Cinzel',serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;opacity:.85;margin-bottom:10px}
.lf-muted{opacity:.74;line-height:1.6}
.lf-divider{height:1px;background:rgba(255,255,255,.08);margin:12px 0}

.lf-list{display:flex;flex-direction:column;gap:10px}
.lf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
text-decoration:none;color:#e9e6dc;padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);
background:rgba(255,255,255,.02)
}
.lf-row:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.lf-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.lf-row-title{font-weight:800;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-row-sub{opacity:.70;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-row-sub2{opacity:.62;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-row-meta{opacity:.65;font-size:12px;white-space:nowrap}

.lf-tag{display:inline-flex;align-items:center;gap:8px;margin-left:8px;
padding:4px 8px;border-radius:999px;border:1px solid rgba(255,220,140,.25);
background:rgba(255,220,140,.10);font-size:11px;opacity:.95}
.lf-tag--new{border-color:rgba(120,200,255,.28);background:rgba(120,200,255,.10)}
.lf-tag--gold{border-color:rgba(255,220,140,.35);background:rgba(255,220,140,.10)}

.lf-form{display:flex;flex-direction:column;gap:10px;max-width:900px}
.lf-label{font-size:12px;letter-spacing:.10em;text-transform:uppercase;opacity:.8}
.lf-input,.lf-textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);
background:rgba(0,0,0,.22);color:#e9e6dc;padding:12px 12px;outline:none}
.lf-input:focus,.lf-textarea:focus{border-color:rgba(255,220,140,.28);box-shadow:0 0 0 4px rgba(255,220,140,.10)}
.lf-textarea{resize:vertical;min-height:120px;line-height:1.6}
.lf-hint{opacity:.65;font-size:12px;margin-top:-6px}

/* Prominent alerts (e.g., live username check) */
.lf-alert{
  margin-top:6px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.22);
  font-size:13px;
  line-height:1.45;
  opacity:.98;
}
.lf-alert--error{
  border-color:rgba(255,120,120,.28);
  background:rgba(255,120,120,.10);
}
.lf-alert--success{
  border-color:rgba(120,255,170,.26);
  background:rgba(120,255,170,.10);
}

.lf-alert--info{
  border-color:rgba(120,200,255,.26);
  background:rgba(120,200,255,.10);
}

.lf-btn--small{
  padding:7px 10px;
  border-radius:12px;
  font-size:12px;
}

.lf-post{border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:12px 12px;margin-top:10px;
background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.20))}
.lf-post-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.lf-post-author{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lf-post-name{font-weight:900}
.lf-post-role{font-family:'Cinzel',serif;letter-spacing:.10em;text-transform:uppercase;font-size:11px;color:#ffd98a;
text-shadow:0 0 10px rgba(255,217,138,.30)}
.lf-post-time{opacity:.65;font-size:12px;white-space:nowrap}
.lf-post-body{opacity:.86;line-height:1.7;margin-top:10px}
.lf-post-body p{margin:0 0 10px}

.lf-signature{
  margin-top:12px;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.14);
  opacity:.78;
  font-size:13px;
}
.lf-signature strong{opacity:1}
.lf-signature em{opacity:.95}

/* Quotes + Preview (v1.0.12) */
.lf-quote{
  margin:12px 0;
  border-left:3px solid rgba(255,220,140,.35);
  padding:10px 12px;
  background:rgba(0,0,0,.22);
  border-radius:12px;
}
.lf-quote-meta{
  font-family:'Cinzel',serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  opacity:.75;
  margin-bottom:6px;
}
.lf-quote-body{opacity:.95;line-height:1.6}

.lf-preview{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.26));
  border-radius:18px;
  padding:12px;
}
.lf-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.lf-preview-title{font-family:'Cinzel',serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:13px;opacity:.9}
.lf-preview-body p{margin:0 0 10px}

.lf-pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.lf-page{padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);text-decoration:none;color:#e9e6dc;background:rgba(0,0,0,.18);font-size:12px}
.lf-page.is-active{border-color:rgba(255,220,140,.35);background:rgba(255,220,140,.10)}

.lf-flash-wrap{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.lf-flash{padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.20);opacity:.95}
.lf-flash--success{border-color:rgba(120,255,170,.18);background:rgba(120,255,170,.08)}
.lf-flash--error{border-color:rgba(255,120,120,.20);background:rgba(255,120,120,.08)}
.lf-flash--info{border-color:rgba(120,200,255,.20);background:rgba(120,200,255,.08)}

/* Links */
a{color:#e9e6dc}


/* =========================
   Emoji Bar
   ========================= */
.lf-emoji-bar{
  margin:6px 0 8px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.22));
  border-radius:14px;
  padding:8px 10px;
}
.lf-emoji-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lf-emoji-title{
  font-family:'Cinzel',serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  opacity:.85
}
.lf-emoji-toggle{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:#e9e6dc;
  border-radius:12px;
  padding:6px 10px;
  cursor:pointer;
}
.lf-emoji-panel{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding-top:8px;
}
.lf-emoji-btn{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:#e9e6dc;
  border-radius:12px;
  padding:6px 8px;
  cursor:pointer;
  line-height:1;
}
.lf-emoji-btn:hover{border-color:rgba(255,220,140,.25);background:rgba(255,220,140,.08)}


/* Password strength (v1.0.3) */
.lf-strength{
  height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  overflow:hidden;
}
.lf-strength-bar{
  height:100%;
  width:0%;
  background:linear-gradient(90deg, rgba(255,120,120,.85), rgba(255,220,140,.85), rgba(120,200,255,.85));
  transition:width .15s ease;
}

/* =========================
   Mobile / Accessibility
   ========================= */
.lf-only-mobile{display:none}
@media(max-width:980px){
  .lf-only-mobile{display:inline-flex}
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{
    position:fixed; left:0; top:0; bottom:0;
    width: min(86vw, 340px);
    transform:translateX(-110%);
    transition:transform .18s ease;
    z-index:50;
    height:auto;
  }
  body.lf-sidebar-open .admin-sidebar{transform:translateX(0)}
  body.lf-sidebar-open::before{
    content:"";
    position:fixed; inset:0;
    background:rgba(0,0,0,.55);
    z-index:40;
  }
  .admin-main{padding:14px 12px 60px 12px}
  .admin-topbar{padding:12px 12px}
  .admin-title{font-size:20px}
  .lf-card{padding:12px}
  .lf-btn{padding:12px 14px}
  .lf-input, .lf-textarea{padding:12px 12px}
  .lf-table{display:block; overflow:auto; -webkit-overflow-scrolling:touch}
}
@media(max-width:480px){
  .admin-title{font-size:18px}
  .admin-userbox{display:none}
}

/* Topbar search */
.lf-top-search{display:flex;gap:8px;align-items:center}
.lf-top-search-input{
  width:240px;max-width:36vw;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:#e9e6dc;
  padding:10px 12px;
  outline:none;
}
.lf-top-search-input::placeholder{color:rgba(233,230,220,.55)}
.lf-hide-mobile{display:flex}
@media(max-width:980px){
  .lf-hide-mobile{display:none}
  .lf-top-search-input{width:100%}
}

.lf-mark{background:rgba(255,215,120,.18);color:#e9e6dc;padding:0 3px;border-radius:6px;border:1px solid rgba(255,215,120,.22)}

/* Eulenpost / Verifiziert */
.lf-verified{
  display:inline-flex;align-items:center;gap:6px;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  color:#1b1202;
  background:linear-gradient(180deg, rgba(255,214,102,.95), rgba(181,128,20,.95));
  border:1px solid rgba(255,214,102,.65);
  box-shadow:0 6px 18px rgba(255,214,102,.12);
}
.lf-verified::before{content:"◆";font-size:10px;opacity:.9}

.lf-badge--gold{
  background:rgba(255,214,102,.16);
  border:1px solid rgba(255,214,102,.25);
}
.lf-badge--owl{
  background:rgba(160,120,255,.14);
  border:1px solid rgba(160,120,255,.22);
}

.lf-tr--unread{
  background:rgba(255,214,102,.06);
  border-color:rgba(255,214,102,.12);
}

.lf-tr--support{
  background:rgba(255,214,102,.045);
  border-color:rgba(255,214,102,.18);
}

/* Toast */
.lf-toast-host{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
  pointer-events:none;
}
.lf-toast{
  pointer-events:auto;
  width:min(420px, calc(100vw - 36px));
  display:flex;
  gap:12px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(12,16,22,.92);
  box-shadow:0 22px 60px rgba(0,0,0,.45);
  transform:translateY(16px);
  opacity:0;
  transition:all .35s ease;
  cursor:pointer;
}
.lf-toast.is-show{transform:translateY(0);opacity:1}
.lf-toast.is-hide{opacity:0;transform:translateY(14px)}
.lf-toast--support{border-color:rgba(255,214,102,.30)}

.lf-toast-close{
  margin-left:auto;
  background:transparent;
  color:rgba(233,230,220,.7);
  border:0;
  font-size:14px;
  cursor:pointer;
}
.lf-toast-title{font-weight:700;margin-bottom:2px}
.lf-toast-msg{font-size:13px;color:rgba(233,230,220,.80)}

.lf-owl{position:relative; width:54px; height:44px; flex:0 0 54px}
.lf-owl-body{position:absolute; left:10px; top:6px; font-size:28px; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));}
.lf-owl-scroll{position:absolute; left:30px; top:22px; font-size:16px; transform:rotate(10deg); opacity:.95}
.lf-owl-wing{
  position:absolute; top:14px; width:18px; height:12px;
  border-radius:999px;
  background:rgba(233,230,220,.12);
  border:1px solid rgba(255,255,255,.10);
  filter:blur(.1px);
  transform-origin:bottom center;
  animation:lfWing .9s ease-in-out infinite;
}
.lf-owl-wing--l{left:2px; transform:rotate(-14deg)}
.lf-owl-wing--r{right:0; transform:rotate(14deg)}
@keyframes lfWing{
  0%,100%{transform:translateY(0) rotate(12deg)}
  50%{transform:translateY(-3px) rotate(-10deg)}
}

/* Mail view */
.lf-mail-head{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.lf-mail-label{font-size:12px;color:rgba(233,230,220,.6);margin-bottom:4px}
.lf-mail-value{font-size:14px}
.lf-mail-subject{margin-top:6px;margin-bottom:14px}
.lf-mail-body{line-height:1.55;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.10);padding:14px;border-radius:14px}

/* Terms checkbox */
.lf-check{margin-top:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.16);border-radius:14px;line-height:1.4}
.lf-check input{margin-right:10px;transform:translateY(1px)}

/* Modal (CSS :target, no inline JS needed) */
.lf-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.72);z-index:9999}
.lf-modal:target{display:flex}
.lf-modal__box{width:min(820px,92vw);max-height:86vh;overflow:auto;background:rgba(18,16,12,.98);border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.lf-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.lf-modal__title{font-family:var(--lf-font-title, serif);font-weight:700;font-size:16px}
.lf-modal__close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;text-decoration:none;color:rgba(233,230,220,.85);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.lf-modal__close:hover{background:rgba(255,255,255,.10)}
.lf-modal__body{padding:14px 16px;line-height:1.55}
.lf-modal__body p{margin:0 0 10px 0}
.lf-modal__foot{padding:14px 16px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:flex-end}

