:root {
    --bg-main: #050608;
    --bg-elevated: rgba(15,15,18,0.96);
    --bg-elevated-soft: rgba(20,20,24,0.92)
html, body {
    height:100%;
}
body {
    display:flex;
    flex-direction:column;
}
main {
    flex:1 0 auto;
}
;
    --accent: #f6a623;
    --accent-soft: rgba(246,166,35,.16);
    --border-subtle: rgba(148,163,184,.35);
    --text-main: #f9fafb;
    --text-muted: #e5e7eb; /* világosabb szürke, gyakorlatilag fehér */
}

/* Globális háttér – kép + sötét overlay */
body.dark-body {
    background:
        linear-gradient(to bottom, rgba(0,0,0,0.78), rgba(0,0,0,0.92)),
        url('/assets/img/hatter.png') center center / cover fixed no-repeat;
    color: var(--text-main);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-top: 72px;
}

/* Bootstrap text-muted override – legyen fehéres */
.text-muted {
    color: var(--text-muted) !important;
}

/* Loader – csak animáció + szöveg, háttérpanel nélkül */
#loader-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity .4s ease, visibility .4s ease;
}
#loader-overlay {
    background: transparent;
}
#loader-overlay.hidden {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.loader-blur {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(18px);
}
.loader-content {
    position:relative;
    z-index:2;
}

#loader-overlay.hidden {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.loader-content {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.6rem;
}
.loader-spinner {
    width:56px;
    height:56px;
    border-radius:999px;
    border:3px solid rgba(148,163,184,.3);
    border-top-color:var(--accent);
    animation:spin 1s linear infinite;
}
.loader-text {
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.75rem;
    color:var(--text-main);
}

/* NAVBAR */
.bg-dark-glass {
    background:rgba(15,15,18,.96);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(75,85,99,.9);
}

/* Logo – kör háttér eltávolítva */
.logo-wrapper {
    position:relative;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.logo-img {
    width:32px;
    height:32px;
    object-fit:contain;
}
.logo-xmas {
    position:absolute;
    top:-10px;
    right:-8px;
    font-size:1.3rem;
}
.nav-link-btn {
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.1em;
}
.btn-discord {
    background:radial-gradient(circle at 0 0,#5865f2,#404eed);
    color:#fff;
    border-radius:999px;
    border:none;
    padding-inline:1.3rem;
}

/* MAIN */
.main-content {
    padding-top:1.2rem;
    padding-bottom:4rem;
}

/* Kártyák */
.card-dark {
    background:var(--bg-elevated);
    border-radius:.9rem;
    border:1px solid rgba(55,65,81,.9);
    box-shadow:0 20px 60px rgba(0,0,0,.85);
    backdrop-filter:blur(18px);
}
.card-dark-header {
    padding:1.1rem 1.4rem .3rem;
    border-bottom:1px solid rgba(55,65,81,.9);
}
.card-dark-body {
    padding:1.1rem 1.4rem 1.4rem;
}

/* Upload card */
.upload-card {
    position:relative;
    overflow:hidden;
    transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.upload-card:hover {
    transform:translateY(-2px);
    box-shadow:0 24px 70px rgba(0,0,0,.9);
    border-color:var(--accent-soft);
}
.upload-card h2 {
    font-size:.96rem;
    margin-bottom:.15rem;
    word-break:break-word;      /* hosszú címek ne törjék szét a layoutot */
}
.upload-meta {
    font-size:.75rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.08em;
}
.category-pill {
    font-size:.7rem;
    border-radius:999px;
    padding:.1rem .65rem;
    background:var(--accent-soft);
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:.08em;
}

.category-pill.cat-mod { background:rgba(34,197,94,.2); color:#4ade80; }
.category-pill.cat-script { background:rgba(59,130,246,.2); color:#60a5fa; }
.category-pill.cat-map { background:rgba(234,179,8,.2); color:#facc15; }
.category-pill.cat-modell { background:rgba(236,72,153,.2); color:#f472b6; }
.category-pill.cat-web { background:rgba(56,189,248,.2); color:#38bdf8; }
.category-pill.cat-dump { background:rgba(168,85,247,.2); color:#a855f7; }
.category-pill.cat-egyeb { background:rgba(148,163,184,.25); color:#e5e7eb; }
.download-badge {
    font-size:.75rem;
    border-radius:999px;
    padding:.25rem .7rem;
    background:rgba(15,15,18,.96);
    border:1px solid var(--border-subtle);
}

/* Reakciók */
.reaction-group button {
    border-radius:999px;
    border:1px solid var(--border-subtle);
    background:rgba(15,15,18,.96);
    color:var(--text-main);
    font-size:.8rem;
    padding:.25rem .7rem;
    display:inline-flex;
    align-items:center;
    gap:.25rem;
}
.reaction-group button:hover {
    border-color:var(--accent);
    color:var(--accent);
}


/* Táblázatok – átlátszó háttér */
.table {
    background-color: transparent !important;
    color: var(--text-main);
}
.table thead,
.table tbody,
.table tr,
.table th,
.table td {
    background-color: transparent !important;
}

/* Főoldali kereső + szűrő */
[data-upload-search],
[data-upload-type-filter] {
    background: rgba(15,15,18,.96);
    border-radius: 999px;
    border: 1px solid var(--border-subtle);
    color: var(--text-main);
}
[data-upload-search]::placeholder {
    color: var(--text-muted);
    opacity: .7;
}
/* Komment doboz */
.comment-box textarea {
    background:rgba(15,15,18,.96);
    border-radius:1rem;
    border:1px solid rgba(75,85,99,.9);
    color:var(--text-main);
}

/* Profil layout (ami már nálad jól néz ki – csak színek igazítása) */
.profile-layout {
    display:grid;
    grid-template-columns:minmax(180px,230px) minmax(0,1fr);
    gap:1.3rem;
    margin-top:1rem;
}
.profile-sidebar {
    background:var(--bg-elevated-soft);
    border-radius:.9rem;
    border:1px solid var(--border-subtle);
    padding:.9rem;
}
.profile-sidebar .nav-link {
    font-size:.85rem;
    border-radius:1rem;
    color:var(--text-main);
}
.profile-sidebar .nav-link.active {
    background:linear-gradient(135deg,var(--accent-soft),rgba(148,163,184,.2));
}
.profile-main {
    display:flex;
    flex-direction:column;
    gap:1.1rem;
}
.profile-panels {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:1rem;
}
.profile-panel {
    background:var(--bg-elevated-soft);
    border-radius:.9rem;
    border:1px solid var(--border-subtle);
    padding:1rem;
}
.logs-container 
/* Activity log styling */
.log-entry {
    font-size:.82rem;
}
.log-tag {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.05rem .45rem;
    border-radius:.4rem;
    font-size:.7rem;
    margin:0 .25rem;
    font-weight:600;
}
.log-text-danger { color:#f97373; }
.log-text-success { color:#4ade80; }

.log-tag-upload { background:rgba(96,165,250,.15); color:#60a5fa; }
.log-tag-account { background:rgba(244,114,182,.16); color:#f472b6; }
.log-tag-ad { background:rgba(52,211,153,.16); color:#34d399; }
.log-tag-login { background:rgba(251,191,36,.18); color:#fbbf24; }
.log-tag-ticket { background:rgba(249,115,22,.18); color:#fb923c; }
.log-tag-delete { background:rgba(248,113,113,.18); color:#f87171; }
{
    max-height:320px;
    overflow-y:auto;
    padding-right:.4rem;
    font-size:.85rem;
}
.logs-container::-webkit-scrollbar {
    width:6px;
}
.logs-container::-webkit-scrollbar-thumb {
    background:rgba(148,163,184,.8);
    border-radius:999px;
}

/* Snow – ritkább és lassabb */
#snow-canvas {
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
}

/* Footer */
.footer {
    border-top:1px solid rgba(31,41,55,1);
    background:linear-gradient(to top, rgba(0,0,0,.96), rgba(15,15,18,.9));
}


/* Generic blur overlay panels */
.blur-overlay {
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,0,0,.78);
    backdrop-filter:blur(18px);
    z-index:1100;
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease, visibility .2s ease;
}
.blur-overlay.active {
    opacity:1;
    visibility:visible;
}
.blur-panel {
    background:var(--bg-elevated-soft);
    border-radius:.9rem;
    border:1px solid var(--border-subtle);
    padding:1.2rem 1.4rem;
    max-width:480px;
    width:100%;
    box-shadow:0 24px 80px rgba(0,0,0,.95);
}

/* Tables */
.table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: rgba(15,15,18,.85);
    --bs-table-border-color: transparent;
    color:#e5e7eb;
    background-color:transparent;
}
.table thead th,
.table tbody td {
    border-color:transparent;
    color:#e5e7eb !important;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
