:root {
    --vm-blue-a: #0a4799;
    --vm-blue-b: #063574;
    --vm-orange: #ff7b00;
    --vm-orange2: #ff8f2b;
    --vm-text: rgba(255,255,255,.94);
    --vm-muted: rgba(255,255,255,.72);
    --vm-border: rgba(255,255,255,.13);
    --vm-card: rgba(255,255,255,.065);
    --vm-shadow: 0 14px 28px rgba(0,0,0,.35);
}

* {
    box-sizing: border-box;
}

html { scrollbar-gutter: stable; }

html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    font-family: "Segoe UI", sans-serif;
    color: var(--vm-text);
    background:
radial-gradient(800px 420px at 12% 10%, rgba(255,123,0,.28), transparent 60%),
linear-gradient(135deg, #f07800 0%, #ef7c00 100%);
}

a {
    color: inherit;
    text-decoration: none;
}

.vm-topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    height: 80px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 28px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0)),
        linear-gradient(180deg, var(--vm-blue-a), var(--vm-blue-b));
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 4px 14px rgba(0,0,0,.45);
}

.vm-logo {
    font-size: 24px;
    font-weight: 900;
    letter-spacing: .3px;
    white-space: nowrap;
}

.vm-topbar nav {
    display: flex;
    gap: 8px;
    flex: 1;
}

.vm-topbar nav a,
.vm-userbox a {
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 700;
    color: #fff;
    transition: .2s;
}

.vm-topbar nav a:hover,
.vm-userbox a:hover {
    background: rgba(255,255,255,.12);
    color: var(--vm-orange);
}

.vm-userbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vm-userbox span {
    font-weight: 800;
}

.vm-userbox small {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255,123,0,.22);
    color: #fff;
}

.vm-main {
    width: min(1180px, calc(100% - 32px));
    margin: 26px auto;
}

.vm-hero,
.vm-category,
.vm-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));
    border: 1px solid var(--vm-border);
    border-radius: 18px;
    box-shadow: var(--vm-shadow);
    overflow: hidden;
}

.vm-hero {
    padding: 30px;
    margin-bottom: 22px;
}

.vm-hero h1 {
    margin: 0 0 8px;
    font-size: 34px;
}

.vm-hero p {
    margin: 0;
    color: var(--vm-muted);
}

.vm-category {
    margin-bottom: 22px;
}

.vm-category-head {
    padding: 18px 22px;
    background: linear-gradient(90deg, #ff6a00 20%, #ff7b00 50%, #ff8f2b 80%);
}

.vm-category-head h2 {
    margin: 0;
    font-size: 20px;
}

.vm-category-head p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.86);
}

.vm-forum-row {
    display: grid;
    grid-template-columns: 62px 1fr 100px 100px 52px;
    gap: 14px;
    align-items: center;
    padding: 18px 22px;
    border-top: 1px solid rgba(255,255,255,.10);
    transition: .2s;
}

.vm-forum-row:hover {
    background: rgba(255,255,255,.075);
}

.vm-forum-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255,255,255,.10);
    color: var(--vm-orange);
    font-size: 22px;
}

.vm-forum-info h3 {
    margin: 0 0 4px;
    font-size: 18px;
}

.vm-forum-info p {
    margin: 0;
    color: var(--vm-muted);
}

.vm-forum-stats {
    text-align: center;
}

.vm-forum-stats strong {
    display: block;
    font-size: 20px;
}

.vm-forum-stats span {
    color: var(--vm-muted);
    font-size: 13px;
}

.vm-footer {
    width: min(1180px, calc(100% - 32px));
    margin: 24px auto;
    padding: 18px 22px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, var(--vm-blue-a), var(--vm-blue-b));
    color: var(--vm-muted);
    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);
    text-align: center;
}

.vm-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.vm-auth {
    width: min(440px, 100%);
    padding: 26px;
}

.vm-auth h1 {
    margin: 0 0 18px;
}

.vm-auth label {
    display: block;
    margin: 12px 0 6px;
    font-weight: 700;
}

.vm-auth input {
    width: 100%;
    height: 44px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    padding: 0 12px;
    background: rgba(255,255,255,.10);
    color: #fff;
    outline: none;
}

.vm-auth input:focus {
    border-color: var(--vm-orange);
    box-shadow: 0 0 0 3px rgba(255,123,0,.24);
}

.vm-auth button {
    width: 100%;
    height: 46px;
    margin-top: 18px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(180deg, #ff7b00, #e86a00);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.vm-auth p {
    color: var(--vm-muted);
    text-align: center;
}

.vm-auth p a {
    color: #fff;
    font-weight: 800;
}

.vm-alert,
.vm-success {
    padding: 12px 14px;
    border-radius: 12px;
    margin-bottom: 14px;
    font-weight: 700;
}

.vm-alert {
    background: rgba(255,70,70,.18);
    border: 1px solid rgba(255,70,70,.35);
}

.vm-success {
    background: rgba(46,204,113,.18);
    border: 1px solid rgba(46,204,113,.35);
}

@media (max-width: 760px) {
    .vm-topbar {
        height: auto;
        min-height: 80px;
        flex-wrap: wrap;
        padding: 14px;
    }

    .vm-logo {
        width: 100%;
    }

    .vm-topbar nav {
        order: 3;
        width: 100%;
        overflow-x: auto;
    }

    .vm-userbox {
        margin-left: auto;
    }

    .vm-forum-row {
        grid-template-columns: 48px 1fr;
    }

    .vm-forum-stats {
        display: none;
    }

    .vm-hero h1 {
        font-size: 28px;
    }
}

/* FORUM.PHP */
/* FORUM.PHP */
/* FORUM.PHP */

.vm-empty {
    padding: 22px;
    color: var(--vm-muted);
}

.vm-empty a {
    color: #fff;
    font-weight: 800;
    text-decoration: underline;
}

/* NEW-TOPIC.PHP */
/* NEW-TOPIC.PHP */
/* NEW-TOPIC.PHP */

.vm-form-card {
    padding: 24px;
	margin-bottom: 20px;
}

.vm-form-card label {
    display: block;
    margin: 14px 0 7px;
    font-weight: 800;
}

.vm-form-card input,
.vm-form-card textarea {
    width: 100%;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    padding: 12px 14px;
    background: rgba(255,255,255,.10);
    color: #fff;
    outline: none;
    font: inherit;
}

.vm-form-card textarea {
    resize: vertical;
    min-height: 180px;
}

.vm-form-card input:focus,
.vm-form-card textarea:focus {
    border-color: var(--vm-orange);
    box-shadow: 0 0 0 3px rgba(255,123,0,.24);
}

.vm-form-card button {
    margin-top: 18px;
    border: 0;
    border-radius: 14px;
    padding: 13px 20px;
    background: linear-gradient(180deg, #ff7b00, #e86a00);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

/* TOPIC.PHP */
/* TOPIC.PHP */
/* TOPIC.PHP */

.vm-post {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 18px;

    margin-bottom: 18px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        ),
        linear-gradient(
            200deg,
            var(--vm-blue-a),
            var(--vm-blue-b)
        );

    border: 1px solid var(--vm-border);

    border-radius: 18px;

    overflow: hidden;

    box-shadow: var(--vm-shadow);
}

.vm-post-author {
    padding: 22px;

    background: rgba(255,255,255,.05);

    border-right: 1px solid rgba(255,255,255,.08);

    text-align: center;
}

.vm-post-avatar {
    width: 110px;
    height: 110px;

    margin: 0 auto 14px;

    border-radius: 24px;

    overflow: hidden;

    background: rgba(255,255,255,.08);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 42px;

    border: 2px solid rgba(255,255,255,.12);
}

.vm-post-avatar img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.vm-post-user strong {
    display: block;

    margin-bottom: 8px;

    font-size: 18px;
}

.vm-role {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 14px;
    font-weight: 800;

    text-transform: uppercase;
}

.vm-role-owner {
    background: rgba(255, 55, 75, .22);
    color: #ff5f73;
}

.vm-role-admin {
    background: rgba(255, 123, 0, .22);
    color: #ffb36a;
}

.vm-role-presenter,
.vm-role-prezenter {
    background: rgba(34, 197, 94, .20);
    color: #86efac;
}

.vm-role-moderator {
    background: rgba(255, 255, 255, .16);
    color: #ffffff;
}

.vm-role-user {
    background: rgba(45, 130, 255, .20);
    color: #8fc2ff;
}

.vm-post-content {
    padding: 22px;
}

.vm-post-meta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;

    margin-bottom: 18px;

    color: var(--vm-muted);

    font-size: 13px;
}

.vm-post-text {
    line-height: 1.75;

    font-size: 15px;

    color: #fff;

    word-break: break-word;
}

@media (max-width: 900px) {

    .vm-post {
        grid-template-columns: 1fr;
    }

    .vm-post-author {
        border-right: 0;

        border-bottom: 1px solid rgba(255,255,255,.08);
    }

}

/* REPLY.PHP */
/* REPLY.PHP */
/* REPLY.PHP */

.vm-post-actions {
    margin-top: 24px;

    display: flex;
    gap: 10px;
}

.vm-action-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 11px 16px;

    border-radius: 12px;

    background:
        linear-gradient(
            180deg,
            #ff7b00,
            #e86a00
        );

    color: #fff;

    font-weight: 800;

    transition: .2s;
}

.vm-action-btn:hover {
    transform: translateY(-1px);

    filter: brightness(1.06);
}

/* TOPIC MODERATION */
/* TOPIC MODERATION */
/* TOPIC MODERATION */

.vm-modbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin-bottom: 18px;
    padding: 14px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        ),
        linear-gradient(
            200deg,
            var(--vm-blue-a),
            var(--vm-blue-b)
        );

    border: 1px solid var(--vm-border);
    border-radius: 16px;
    box-shadow: var(--vm-shadow);
}

.vm-modbar form {
    margin: 0;
}

.vm-modbar button {
    border: 0;
    border-radius: 12px;

    padding: 10px 14px;

    background: #fff;
    color: #016FDE;

    font-weight: 900;
    cursor: pointer;

    transition: .2s;
}

.vm-modbar button:hover {
    background: #016FDE;
    color: #fff;
}

.vm-modbar button.danger {
    background: linear-gradient(180deg, #ff4b4b, #c82333);
    color: #fff;
}

.vm-modbar button.danger:hover {
    filter: brightness(1.08);
}

/* POST MODERATION */
/* POST MODERATION */
/* POST MODERATION */

.vm-post.is-hidden {
    opacity: .62;
    border-color: rgba(255, 75, 75, .45);
}

.vm-post.is-hidden .vm-post-content::before {
    content: "POST UKRYTY — widoczny tylko dla moderacji";
    display: block;

    margin-bottom: 14px;
    padding: 10px 12px;

    border-radius: 12px;

    background: rgba(255, 75, 75, .18);
    border: 1px solid rgba(255, 75, 75, .32);

    color: #fff;
    font-weight: 900;
    font-size: 12px;
}

.vm-post-actions form {
    margin: 0;
}

.vm-action-danger {
    border: 0;
    background: linear-gradient(180deg, #ff4b4b, #c82333);
    font-family: inherit;
    font-size: 14px;
}

.vm-action-danger:hover {
    filter: brightness(1.08);
}

/* REPORT-POST.PHP */
/* REPORT-POST.PHP */
/* REPORT-POST.PHP */

.vm-form-card select {
    width: 100%;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;

    padding: 12px 14px;

    background: rgba(255,255,255,.10);
    color: #fff;

    outline: none;
    font: inherit;
}

.vm-form-card select:focus {
    border-color: var(--vm-orange);
    box-shadow: 0 0 0 3px rgba(255,123,0,.24);
}

.vm-form-card option {
    background: #063574;
    color: #fff;
}

/* ADMIN-REPORTS.PHP */
/* ADMIN-REPORTS.PHP */
/* ADMIN-REPORTS.PHP */

.vm-report-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;

    padding: 18px 22px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.vm-report-row h3 {
    margin: 0 0 8px;

    color: #fff;
}

.vm-report-row p {
    margin: 6px 0;

    color: var(--vm-muted);
}

.vm-report-preview {
    margin-top: 12px;
    padding: 12px 14px;

    border-radius: 14px;

    background: rgba(255,255,255,.08);

    color: #fff;

    line-height: 1.6;
}

.vm-report-actions {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.vm-report-actions form {
    margin: 0;
}

.vm-report-actions button {
    border: 0;

    font-family: inherit;
    font-size: 14px;
}

@media (max-width: 760px) {
    .vm-report-row {
        grid-template-columns: 1fr;
    }

    .vm-report-actions {
        flex-wrap: wrap;
    }
}

/* ADMIN-INDEX.PHP */
/* ADMIN-INDEX.PHP */
/* ADMIN-INDEX.PHP */

.vm-admin-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;

    margin-bottom: 22px;
}

.vm-admin-tile {
    padding: 22px;

    border-radius: 18px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        ),
        linear-gradient(
            200deg,
            var(--vm-blue-a),
            var(--vm-blue-b)
        );

    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);

    text-align: center;
}

.vm-admin-tile strong {
    display: block;

    font-size: 34px;
    color: #fff;
}

.vm-admin-tile span {
    color: var(--vm-muted);

    font-weight: 700;
}

.vm-log-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 14px;

    padding: 15px 22px;

    border-top: 1px solid rgba(255,255,255,.10);

    align-items: center;
}

.vm-log-row span,
.vm-log-row small {
    color: var(--vm-muted);
}

@media (max-width: 900px) {
    .vm-admin-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vm-log-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .vm-admin-grid {
        grid-template-columns: 1fr;
    }
}

/* ADMIN-LOGS.PHP */
/* ADMIN-LOGS.PHP */
/* ADMIN-LOGS.PHP */

.vm-log-filter {
    display: flex;
    gap: 12px;

    padding: 18px;
}

.vm-log-filter select {
    min-width: 240px;
}

.vm-log-filter button {
    border: 0;

    border-radius: 12px;

    padding: 12px 18px;

    background:
        linear-gradient(
            180deg,
            #ff7b00,
            #e86a00
        );

    color: #fff;

    font-weight: 900;

    cursor: pointer;
}

.vm-log-entry {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 16px 22px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.vm-log-main {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.vm-log-main strong {
    color: #fff;
}

.vm-log-main span,
.vm-log-main small,
.vm-log-meta span,
.vm-log-meta small {
    color: var(--vm-muted);
}

.vm-log-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 4px;
}

@media (max-width: 800px) {

    .vm-log-entry {
        flex-direction: column;
        align-items: flex-start;
    }

    .vm-log-meta {
        align-items: flex-start;
    }

    .vm-log-filter {
        flex-direction: column;
    }

}

/* ADMIN-USERS.PHP */
/* ADMIN-USERS.PHP */
/* ADMIN-USERS.PHP */

.vm-user-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;

    padding: 18px 22px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.vm-user-row h3 {
    margin: 0 0 8px;

    color: #fff;
}

.vm-user-row p {
    margin: 6px 0;

    color: var(--vm-muted);
}

.vm-user-actions {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.vm-user-actions form {
    margin: 0;
}

.vm-user-actions button {
    border: 0;
    border-radius: 12px;

    padding: 11px 16px;

    background: #fff;
    color: #016FDE;

    font-family: inherit;
    font-size: 14px;
    font-weight: 900;

    cursor: pointer;
}

.vm-user-actions button:hover {
    background: #016FDE;
    color: #fff;
}

.vm-user-actions button.danger {
    background: linear-gradient(180deg, #ff4b4b, #c82333);
    color: #fff;
}

@media (max-width: 760px) {
    .vm-user-row {
        grid-template-columns: 1fr;
    }

    .vm-user-actions {
        flex-wrap: wrap;
    }
}

/* ADMIN-CATEGORIES.PHP */
/* ADMIN-CATEGORIES.PHP */
/* ADMIN-CATEGORIES.PHP */

.vm-admin-edit-row {
    padding: 18px 22px;

    border-top: 1px solid rgba(255,255,255,.10);
}

.vm-admin-edit-row form {
    display: grid;
    grid-template-columns: 1fr 1.4fr 120px auto auto;
    gap: 12px;
    align-items: end;
}

.vm-admin-edit-row label {
    display: block;

    color: var(--vm-muted);

    font-weight: 800;
    font-size: 13px;
}

.vm-admin-edit-row input,
.vm-admin-edit-row textarea {
    width: 100%;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;

    padding: 10px 12px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font: inherit;
    outline: none;
}

.vm-admin-edit-row textarea {
    resize: vertical;
}

.vm-admin-edit-row button {
    border: 0;
    border-radius: 12px;

    padding: 11px 16px;

    background: linear-gradient(180deg, #ff7b00, #e86a00);
    color: #fff;

    font-weight: 900;
    cursor: pointer;
}

.vm-check {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.vm-check input {
    width: auto;
}

@media (max-width: 900px) {
    .vm-admin-edit-row form {
        grid-template-columns: 1fr;
    }
}

/* ADMIN-FORUMS.PHP */
/* ADMIN-FORUMS.PHP */
/* ADMIN-FORUMS.PHP */

.vm-forum-edit-row form {
    grid-template-columns: 1fr 1fr 1.4fr .8fr .7fr .8fr .8fr auto auto auto;
}

.vm-admin-edit-row select {
    width: 100%;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;

    padding: 10px 12px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font: inherit;
    outline: none;
}

.vm-admin-edit-row select option {
    background: #063574;
    color: #fff;
}

@media (max-width: 1200px) {
    .vm-forum-edit-row form {
        grid-template-columns: 1fr;
    }
}

/* INDEX.PHP */
/* INDEX.PHP */
/* INDEX.PHP */

.vm-mini-badge {
    display: inline-flex;

    margin-left: 8px;
    padding: 3px 8px;

    border-radius: 999px;

    background: rgba(255, 75, 75, .22);
    color: #ffb0b0;

    font-size: 11px;
    font-weight: 900;

    vertical-align: middle;
}

/* FORUM.PHP */
/* FORUM.PHP */
/* FORUM.PHP */

.vm-muted-line {
    margin-top: 10px;

    color: var(--vm-muted);

    font-weight: 700;
}

.vm-mini-badge-orange {
    background: rgba(255, 123, 0, .22);
    color: #ffd0a3;
}

/* MEMBERS.PHP */
/* MEMBERS.PHP */
/* MEMBERS.PHP */

.vm-members-search {
    padding: 18px;
    margin-bottom: 22px;
}

.vm-members-search form {
    display: flex;
    gap: 12px;
    align-items: center;
}

.vm-members-search input {
    flex: 1;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;

    padding: 13px 14px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font: inherit;
    outline: none;
}

.vm-members-search input:focus {
    border-color: var(--vm-orange);
    box-shadow: 0 0 0 3px rgba(255,123,0,.24);
}

.vm-members-search button,
.vm-members-search a {
    border: 0;
    border-radius: 14px;

    padding: 13px 18px;

    background: linear-gradient(180deg, #ff7b00, #e86a00);
    color: #fff;

    font-weight: 900;
    cursor: pointer;
}

.vm-members-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.vm-member-card {
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 16px;

    padding: 18px;

    border-radius: 18px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);

    transition: .2s;
}

.vm-member-card:hover {
    transform: translateY(-2px);
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));
}

.vm-member-avatar {
    width: 86px;
    height: 86px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 22px;

    overflow: hidden;

    background: rgba(255,255,255,.10);
    border: 2px solid rgba(255,255,255,.14);

    font-size: 34px;
}

.vm-member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vm-member-info h3 {
    margin: 0 0 8px;
    color: #fff;
}

.vm-member-info p {
    margin: 6px 0;
    color: var(--vm-muted);
    font-size: 13px;
}

@media (max-width: 980px) {
    .vm-members-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .vm-members-grid {
        grid-template-columns: 1fr;
    }

    .vm-members-search form {
        flex-direction: column;
        align-items: stretch;
    }
}

/* PROFILE.PHP */
/* PROFILE.PHP */
/* PROFILE.PHP */

.vm-profile-hero {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 22px;

    margin-bottom: 22px;
    padding: 28px;

    border-radius: 18px;

    background:
        radial-gradient(600px 260px at 92% 0%, rgba(255,123,0,.20), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);

    overflow: hidden;
}

.vm-profile-avatar {
    width: 150px;
    height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 32px;

    overflow: hidden;

    background: rgba(255,255,255,.10);
    border: 2px solid rgba(255,255,255,.16);

    font-size: 58px;
}

.vm-profile-avatar img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.vm-profile-main h1 {
    margin: 0 0 6px;

    font-size: 38px;
    color: #fff;
}

.vm-profile-main p {
    margin: 0 0 12px;

    color: var(--vm-muted);
    font-weight: 700;
}

.vm-profile-status {
    display: inline-flex;

    margin-left: 8px;
    padding: 6px 12px;

    border-radius: 999px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font-size: 12px;
    font-weight: 900;

    text-transform: uppercase;
}

.vm-profile-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;

    margin-bottom: 22px;
}

.vm-profile-stat {
    padding: 20px;

    border-radius: 18px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);

    text-align: center;
}

.vm-profile-stat strong {
    display: block;

    margin-bottom: 4px;

    color: #fff;
    font-size: 26px;
}

.vm-profile-stat span {
    color: var(--vm-muted);

    font-weight: 800;
}

.vm-profile-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.vm-profile-list-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;

    padding: 16px 20px;

    border-top: 1px solid rgba(255,255,255,.10);

    transition: .2s;
}

.vm-profile-list-row:hover {
    background: rgba(255,255,255,.075);
}

.vm-profile-list-row strong {
    display: block;

    margin-bottom: 5px;

    color: #fff;
}

.vm-profile-list-row span,
.vm-profile-list-row small {
    color: var(--vm-muted);

    font-size: 13px;
}

@media (max-width: 900px) {
    .vm-profile-columns {
        grid-template-columns: 1fr;
    }

    .vm-profile-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vm-profile-hero {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .vm-profile-avatar {
        margin: 0 auto;
    }
}

@media (max-width: 540px) {
    .vm-profile-grid {
        grid-template-columns: 1fr;
    }
}

/* SETTINGS-PROFILE.PHP */
/* SETTINGS-PROFILE.PHP */
/* SETTINGS-PROFILE.PHP */

.vm-edit-avatar-preview {
    width: 130px;
    height: 130px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 16px;

    border-radius: 28px;

    overflow: hidden;

    background: rgba(255,255,255,.10);
    border: 2px solid rgba(255,255,255,.16);

    font-size: 48px;
}

.vm-edit-avatar-preview img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.vm-field-note {
    display: block;

    margin-top: 6px;

    color: var(--vm-muted);

    font-size: 13px;
}

/* PROFILE.PHP - ABOUT/SIGNATURE */
/* PROFILE.PHP - ABOUT/SIGNATURE */
/* PROFILE.PHP - ABOUT/SIGNATURE */

.vm-profile-about,
.vm-profile-signature {
    margin-bottom: 22px;
    padding: 22px;
}

.vm-profile-about h2,
.vm-profile-signature h2 {
    margin: 0 0 10px;

    color: #fff;
}

.vm-profile-about p,
.vm-profile-signature p {
    margin: 0;

    color: var(--vm-muted);
    line-height: 1.7;
}

.vm-profile-edit-btn {
    margin-top: 16px;
}

/* MEMBERS.PHP - PANEL USERS */
/* MEMBERS.PHP - PANEL USERS */
/* MEMBERS.PHP - PANEL USERS */

.vm-member-source {
    display: inline-flex;

    margin: 8px 0 2px;
    padding: 4px 9px;

    border-radius: 999px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font-size: 11px;
    font-weight: 900;

    text-transform: uppercase;
}

/* INDEX.PHP - SIDEBAR */
/* INDEX.PHP - SIDEBAR */
/* INDEX.PHP - SIDEBAR */

.vm-index-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
    align-items: start;
}

.vm-index-content {
    min-width: 0;
}

.vm-index-sidebar {
    display: grid;
    gap: 22px;
    position: static;
    top: 102px;
}

.vm-side-card {
    overflow: hidden;

    border-radius: 18px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid var(--vm-border);
    box-shadow: var(--vm-shadow);
}

.vm-side-head {
    padding: 16px 18px;

    background: linear-gradient(90deg, #ff6a00 20%, #ff7b00 50%, #ff8f2b 80%);
}

.vm-side-head h2 {
    margin: 0;

    color: #fff;
    font-size: 18px;
}

.vm-side-head p {
    margin: 4px 0 0;

    color: rgba(255,255,255,.86);
    font-size: 13px;
}

.vm-radio-player {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items: center;

    padding: 18px;
}

.vm-radio-icon {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    border-radius: 18px;

    background: rgba(255,255,255,.10);
    color: var(--vm-orange);

    font-size: 24px;
}

.vm-radio-player strong {
    display: block;

    color: #fff;
    font-size: 18px;
}

.vm-radio-player span {
    color: var(--vm-muted);
    font-size: 13px;
}

.vm-radio-card audio {
    width: calc(100% - 36px);
    margin: 0 18px 18px;
}

.vm-player-missing {
    margin: 0 18px 18px;
    padding: 12px 14px;

    border-radius: 14px;

    background: rgba(255,75,75,.16);
    border: 1px solid rgba(255,75,75,.26);

    color: #fff;
    font-size: 13px;
}

.vm-side-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;

    padding: 0 18px 18px;
}

.vm-side-buttons button {
    border: 0;
    border-radius: 14px;

    padding: 12px 10px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font: inherit;
    font-weight: 900;

    cursor: pointer;
    transition: .2s;
}

.vm-side-buttons button:hover {
    background: linear-gradient(180deg, #ff7b00, #e86a00);
    transform: translateY(-1px);
}

.vm-side-buttons i {
    display: block;

    margin-bottom: 6px;

    font-size: 18px;
}

.vm-forum-side-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;

    padding: 18px;
}

.vm-forum-side-stats div {
    padding: 14px;

    border-radius: 16px;

    background: rgba(255,255,255,.08);

    text-align: center;
}

.vm-forum-side-stats strong {
    display: block;

    color: #fff;
    font-size: 24px;
}

.vm-forum-side-stats span {
    color: var(--vm-muted);
    font-size: 12px;
    font-weight: 800;
}

/* INDEX.PHP - EMBED MODAL */
/* INDEX.PHP - EMBED MODAL */
/* INDEX.PHP - EMBED MODAL */

.vm-modal-open {
    overflow: hidden;
}

.vm-embed-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;

    display: none;
}

.vm-embed-modal.is-open {
    display: block;
}

.vm-embed-backdrop {
    position: absolute;
    inset: 0;

    background: rgba(0,0,0,.72);
    backdrop-filter: blur(5px);
}

.vm-embed-box {
    position: absolute;

    top: 50%;
    left: 50%;

    width: min(1350px, calc(100vw - 40px));
height: min(850px, calc(100vh - 40px));

    display: grid;
    grid-template-rows: auto 1fr;

    overflow: hidden;

    border-radius: 20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        ),
        linear-gradient(
            200deg,
            var(--vm-blue-a),
            var(--vm-blue-b)
        );

    border: 1px solid var(--vm-border);

    box-shadow: 0 25px 60px rgba(0,0,0,.55);

    transform: translate(-50%, -50%);
}

.vm-embed-head {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 15px 18px;

    background:
        linear-gradient(
            90deg,
            #ff6a00 20%,
            #ff7b00 50%,
            #ff8f2b 80%
        );
}

.vm-embed-head h2 {
    margin: 0;

    color: #fff;
    font-size: 19px;
}

.vm-embed-head button {
    width: 40px;
    height: 40px;

    border: 0;
    border-radius: 12px;

    background: rgba(255,255,255,.18);
    color: #fff;

    cursor: pointer;

    transition: .2s;
}

.vm-embed-head button:hover {
    background: rgba(255,255,255,.28);
}

.vm-embed-frame,
.vm-embed-box iframe {
    width: 100%;
    height: 100%;

    border: 0;

    background: #fff;
}

/* RESPONSIVE */
/* RESPONSIVE */
/* RESPONSIVE */

@media (max-width: 980px) {

    .vm-index-layout {
        grid-template-columns: 1fr;
    }

    .vm-index-sidebar {
        position: static;
    }

}

@media (max-width: 620px) {

    .vm-side-buttons {
        grid-template-columns: 1fr;
    }

    .vm-forum-side-stats {
        grid-template-columns: 1fr;
    }

    .vm-embed-box {
        width: calc(100% - 20px);
        height: calc(100vh - 20px);

        border-radius: 16px;
    }

}

.vm-side-link-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    padding: 12px 10px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font-weight: 900;

    transition: .2s;
}

.vm-side-link-btn:hover {
    background: linear-gradient(180deg, #ff7b00, #e86a00);

    transform: translateY(-1px);
}

.vm-side-link-btn i {
    margin-bottom: 6px;

    font-size: 18px;
}

/* ADMIN-INDEX.PHP - DASHBOARD */
/* ADMIN-INDEX.PHP - DASHBOARD */
/* ADMIN-INDEX.PHP - DASHBOARD */

.vm-admin-alert {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;

    margin-bottom: 22px;
    padding: 18px 22px;

    border-radius: 18px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
        linear-gradient(200deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid rgba(255,123,0,.38);
    box-shadow: var(--vm-shadow);
}

.vm-admin-alert strong {
    display: block;

    color: #fff;
    font-size: 18px;
}

.vm-admin-alert span {
    color: var(--vm-muted);
}

.vm-admin-alert a {
    padding: 12px 16px;

    border-radius: 14px;

    background: linear-gradient(180deg, #ff7b00, #e86a00);
    color: #fff;

    font-weight: 900;

    white-space: nowrap;
}

.vm-admin-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;

    padding: 18px;
}

.vm-admin-actions a {
    padding: 18px;

    border-radius: 16px;

    background: rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.10);

    transition: .2s;
}

.vm-admin-actions a:hover {
    background: rgba(255,255,255,.13);

    transform: translateY(-1px);
}

.vm-admin-actions strong {
    display: block;

    margin-bottom: 6px;

    color: #fff;
    font-size: 17px;
}

.vm-admin-actions span {
    color: var(--vm-muted);

    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .vm-admin-actions {
        grid-template-columns: 1fr;
    }

    .vm-admin-alert {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* TOPIC.PHP - INLINE REPLY */
/* TOPIC.PHP - INLINE REPLY */
/* TOPIC.PHP - INLINE REPLY */

.vm-topic-reply-box {
    margin-top: 22px;
}

.vm-topic-reply-box h2 {
    margin: 0 0 14px;

    color: #fff;
}

.vm-quote-btn {
    border: 0;

    font-family: inherit;
    font-size: 14px;
}

/* BBCODE.PHP */
/* BBCODE.PHP */
/* BBCODE.PHP */

.vm-bbcode-quote {
    margin: 0 0 18px;
    padding: 14px 16px;

    border-left: 4px solid var(--vm-orange);
    border-radius: 14px;

    background: rgba(255,255,255,.08);

    color: #fff;
}

.vm-bbcode-quote-author {
    margin-bottom: 8px;

    color: var(--vm-orange);

    font-weight: 900;
}

.vm-bbcode-quote-content {
    color: var(--vm-muted);

    line-height: 1.65;
}

.vm-bbcode-code {
    margin: 0 0 18px;
    padding: 14px 16px;

    overflow-x: auto;

    border-radius: 14px;

    background: rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,.12);

    color: #fff;
}

.vm-bbcode-code code {
    font-family: Consolas, monospace;
    font-size: 13px;
}

.vm-bbcode-link {
    color: var(--vm-orange);

    font-weight: 800;
    text-decoration: underline;
}

/* TOPIC.PHP - BUTTONS BOTTOM */
/* TOPIC.PHP - BUTTONS BOTTOM */
/* TOPIC.PHP - BUTTONS BOTTOM */

.vm-post {
    align-items: stretch;
}

.vm-post-content {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    height: 100%;
}

.vm-post-meta {
    align-self: start;
}

.vm-post-text {
    align-self: start;
}

.vm-post-signature {
    align-self: end;
}

.vm-post-actions {
    align-self: end;

    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;

    margin-top: 18px;
    padding-top: 14px;
}

.vm-post-actions form {
    display: inline-flex;
    margin: 0;
}

.vm-post-actions .vm-action-btn,
.vm-post-actions button.vm-action-btn {
    min-height: 42px;
}

/* BREADCRUMB */
/* BREADCRUMB */
/* BREADCRUMB */

.vm-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;

    margin: -6px 0 22px;
    padding: 0;

    overflow: hidden;

    border-radius: 16px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015)),
        linear-gradient(180deg, var(--vm-blue-a), var(--vm-blue-b));

    border: 1px solid rgba(255,255,255,.14);
    box-shadow: var(--vm-shadow);

    color: rgba(255,255,255,.80);

    font-size: 14px;
    font-weight: 800;
}

.vm-breadcrumb a,
.vm-breadcrumb span:not(.vm-breadcrumb-sep) {
    display: inline-flex;
    align-items: center;
    min-height: 46px;

    padding: 0 16px;

	padding-bottom: 4px;

    color: #fff;
}

.vm-breadcrumb a {
    transition: .2s;
}

.vm-breadcrumb a:hover {
    background: rgba(255,255,255,.08);
    color: var(--vm-orange);
}

.vm-breadcrumb i {
    margin-right: 8px;
    color: var(--vm-orange);
}

.vm-breadcrumb-sep {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 3px;

	padding-bottom: 4px;

    color: var(--vm-orange);
    font-size: 20px;
    font-weight: 900;
}

/* ADMIN-USERS.PHP - ROLES */
/* ADMIN-USERS.PHP - ROLES */
/* ADMIN-USERS.PHP - ROLES */

.vm-user-actions select {
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;

    padding: 10px 12px;

    background: rgba(255,255,255,.10);
    color: #fff;

    font: inherit;
    font-weight: 800;
    outline: none;
}

.vm-user-actions select option {
    background: #063574;
    color: #fff;
}

/* VM FORUM DARK GLASS V2 */
/* VM FORUM DARK GLASS V2 */
/* VM FORUM DARK GLASS V2 */

:root {
    --vm-blue-a: #07152f;
    --vm-blue-b: #050816;
    --vm-orange: #ff7a18;
    --vm-orange2: #ffb347;

    --vm-bg: #050816;
    --vm-bg2: #081329;

    --vm-text: rgba(247,251,255,.96);
    --vm-muted: rgba(247,251,255,.68);
    --vm-soft: rgba(247,251,255,.48);

    --vm-border: rgba(255,255,255,.14);
    --vm-card: rgba(255,255,255,.075);
    --vm-card2: rgba(255,255,255,.115);

    --vm-shadow: 0 24px 80px rgba(0,0,0,.48);
    --vm-glow-orange: 0 0 40px rgba(255,122,24,.18);
    --vm-glow-blue: 0 0 46px rgba(47,140,255,.16);
}

/* GLOBAL */

html {
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
}

body {
    color: var(--vm-text);
    background:
        radial-gradient(circle at 12% 10%, rgba(255,122,24,.24), transparent 32%),
        radial-gradient(circle at 88% 8%, rgba(47,140,255,.22), transparent 30%),
        radial-gradient(circle at 52% 86%, rgba(255,63,180,.13), transparent 34%),
        linear-gradient(145deg, #050816, #081329 46%, #050816);
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 66px 66px;
    mask-image: radial-gradient(circle at 50% 20%, #000 0%, transparent 72%);
}

body::after {
    content: "";
    position: fixed;
    inset: -35%;
    z-index: -3;
    pointer-events: none;
    background: conic-gradient(
        from 180deg,
        rgba(255,122,24,.18),
        rgba(47,140,255,.18),
        rgba(255,63,180,.12),
        rgba(52,245,197,.10),
        rgba(255,122,24,.18)
    );
    filter: blur(115px);
    opacity: .75;
    animation: vmBgSpin 34s linear infinite;
}

@keyframes vmBgSpin {
    to { transform: rotate(360deg); }
}

/* TOPBAR */

.vm-topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    height: 78px;
    background: rgba(5,8,22,.74);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border-bottom: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 16px 45px rgba(0,0,0,.35);
}

.vm-logo {
    font-weight: 950;
    letter-spacing: .5px;
    text-transform: uppercase;

    background: linear-gradient(
        90deg,
        #ff0000,
        #ff7a00,
        #ffff00,
        #00ff7f,
        #00c6ff,
        #0066ff,
        #8a2be2,
        #ff00cc,
        #ff0000
    );

    background-size: 400% 100%;

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    animation: vmTextFlow 10s linear infinite;
}

@keyframes vmTextFlow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 400% 50%;
    }
}

.vm-topbar nav a,
.vm-userbox a {
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--vm-muted);
    background: transparent;
}

.vm-topbar nav a:hover,
.vm-userbox a:hover {
    color: #fff;
    background: rgba(255,255,255,.09);
    border-color: rgba(255,255,255,.14);
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

.vm-userbox small {
    background: rgba(255,122,24,.16);
    border: 1px solid rgba(255,122,24,.30);
}

/* MAIN / CARDS */

.vm-main,
.vm-footer {
    width: min(1280px, calc(100% - 28px));
}

.vm-hero,
.vm-category,
.vm-card,
.vm-auth,
.vm-form-card,
.vm-post,
.vm-modbar,
.vm-admin-tile,
.vm-embed-box {
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* HERO */
/* HERO */
/* HERO */

.vm-hero{
    position:relative;

    overflow:hidden;

    padding:42px;

    margin-bottom:26px;

    border-radius:32px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.09),
            rgba(255,255,255,.03)
        ),
        rgba(7,13,34,.88);

    border:1px solid rgba(255,255,255,.10);

    box-shadow:
        0 24px 60px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.vm-hero::before{
    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:6px;

    background:
        linear-gradient(
            180deg,
            #ff7a18,
            #ff9f4a
        );
}

.vm-hero::after{
    content:"";

    position:absolute;

    right:-120px;
    top:-120px;

    width:300px;
    height:300px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,122,24,.18),
            transparent 70%
        );

    pointer-events:none;
}

.vm-hero h1{
    position:relative;

    margin:0 0 10px;

    font-size:clamp(34px,4vw,52px);
    font-weight:950;

    line-height:1;
    letter-spacing:-.05em;

    color:#fff;
}

.vm-hero p{
    position:relative;

    margin:0;

    max-width:700px;

    color:rgba(255,255,255,.68);

    font-size:15px;
    line-height:1.65;
}

/* CATEGORY - CLEAN SECTION */
/* CATEGORY - CLEAN SECTION */
/* CATEGORY - CLEAN SECTION */

.vm-category{
    position:relative;
    margin-bottom:34px;
}

.vm-category-head{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;

    padding:0 0 13px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,0)
        );

    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 24px rgba(0,0,0,.14);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.vm-category-head::before{
    content:"";

    position:absolute;
    left:18px;
    right:18px;
    bottom:-1px;

    height:3px;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        #ff7a18 0%,
        #ff3fb4 35%,
        #7a00ff 65%,
        #2f8cff 100%
    );

    box-shadow:
        0 0 14px rgba(255,122,24,.28),
        0 0 24px rgba(122,0,255,.18),
        0 0 30px rgba(47,140,255,.14);
}



.vm-category-head h2{
    margin:0;

    font-size:24px;
    font-weight:950;
    line-height:1;

    color:#fff;

    letter-spacing:-.045em;
}

.vm-category-head p{
    margin:0;

    max-width:560px;

    color:rgba(255,255,255,.55);

    font-size:16px;
    line-height:1.45;

    text-align:right;
}

.vm-category .vm-forum-row:first-of-type{
    margin-top:14px;
}

.vm-forum-row {
    position: relative;

    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 92px 92px;
    align-items: center;
    gap: 16px;

    margin-bottom: 10px;
    padding: 16px 18px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 22px;

    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032)),
        rgba(5,12,30,.72);

    box-shadow:
        0 14px 38px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.07);

    text-decoration: none;
    color: #fff;

    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.vm-forum-row::before {
    content: "";

    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;

    width: 4px;

    border-radius: 0 999px 999px 0;

    background: rgba(255,122,24,.85);

    opacity: .55;
}

.vm-forum-row:hover {
    transform: none;

    border-color: rgba(255,122,24,.30);

    background:
        linear-gradient(90deg, rgba(255,122,24,.09), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.04)),
        rgba(6,14,34,.82);

    box-shadow:
        0 18px 46px rgba(0,0,0,.30),
        0 0 24px rgba(255,122,24,.08),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.vm-forum-icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background:
        linear-gradient(135deg, rgba(255,122,24,.95), rgba(255,149,54,.72));

    border: 0;

    color: #fff;

    font-size: 22px;

    box-shadow:
        0 12px 28px rgba(255,122,24,.18),
        inset 0 1px 0 rgba(255,255,255,.20);
}

.vm-forum-row:hover .vm-forum-icon {
    transform: scale(1.04);
}

.vm-forum-info {
    min-width: 0;
}

.vm-forum-info h3 {
    margin: 0 0 5px;

    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.02em;

    color: #fff;
}

.vm-forum-info p {
    margin: 0;

    max-width: 760px;

    color: rgba(255,255,255,.58);
font-size: 15px;

    line-height: 1.65;
}

.vm-forum-stats {
    min-width: 52px;

    padding: 10px 6px;

    border-radius: 16px;

    background: rgba(255,255,255,.055);

    border: 1px solid rgba(255,255,255,.08);

    text-align: center;
}

.vm-forum-stats strong {
    display: block;

    font-size: 20px;
    font-weight: 950;
    line-height: 1;

    color: #fff;
}

.vm-forum-stats span {
    display: block;

    margin-top: 5px;

    color: rgba(255,255,255,.52);

    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.vm-topic-closed {
    margin-right: 6px;
    color: #ffb15c;
}

/* MOBILE */

@media (max-width: 760px) {
    .vm-hero {
        padding: 28px;
        border-radius: 26px;
    }

    .vm-category-head {
        display: block;
    }

    .vm-category-head p {
        margin-top: 7px;
        text-align: left;
    }

    .vm-forum-row {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 13px;
    }

    .vm-forum-stats {
        grid-column: span 1;
    }
}

/* BUTTONS */

.vm-auth button,
.vm-form-card button,
.vm-admin-edit-row button,
.vm-log-filter button,
.vm-action-btn,
.vm-modbar button {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff7a18, #ffb347);
    color: #160900;
    font-weight: 950;
    box-shadow: 0 16px 38px rgba(255,122,24,.22);
    transition: .18s ease;
}

.vm-auth button:hover,
.vm-form-card button:hover,
.vm-admin-edit-row button:hover,
.vm-log-filter button:hover,
.vm-action-btn:hover,
.vm-modbar button:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
}

.vm-action-danger,
.vm-modbar button.danger,
.vm-user-actions button.danger {
    background: linear-gradient(135deg, #ff4b4b, #c82333) !important;
    color: #fff !important;
    box-shadow: 0 16px 38px rgba(255,75,75,.20);
}

/* TOPIC / POSTS */

.vm-post {
    grid-template-columns: 230px 1fr;
    gap: 0;
    overflow: hidden;
}

.vm-post-author {
    background: rgba(255,255,255,.045);
    border-right: 1px solid rgba(255,255,255,.09);
}

.vm-post-avatar {
    width: 116px;
    height: 116px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255,122,24,.18), rgba(47,140,255,.16)),
        rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow:
        0 18px 42px rgba(0,0,0,.28),
        0 0 34px rgba(47,140,255,.12);
}

.vm-post-user strong {
    font-weight: 950;
}

.vm-post-content {
    background: linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}

.vm-post-meta {
    color: var(--vm-soft);
}

.vm-post-text {
    color: rgba(255,255,255,.94);
    line-height: 1.78;
}

/* ROLES */

.vm-role {
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

/* OWNER — czerwony */
.vm-role-owner {
    background: rgba(255, 55, 75, .20);
    color: #ff6f7f;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 0 24px rgba(255, 55, 75, .20),
        0 0 46px rgba(255, 55, 75, .10);
}

/* ADMIN — pomarańczowy */
.vm-role-admin {
    background: rgba(255, 123, 0, .20);
    color: #ffb36a;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 0 24px rgba(255, 123, 0, .18),
        0 0 46px rgba(255, 123, 0, .09);
}

/* PREZENTER — green */
.vm-role-presenter,
.vm-role-prezenter {
    background: rgba(34, 197, 94, .18);
    color: #86efac;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 0 24px rgba(34, 197, 94, .18),
        0 0 46px rgba(34, 197, 94, .09);
}

/* MODERATOR — biały */
.vm-role-moderator {
    background: rgba(255, 255, 255, .13);
    color: #ffffff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 0 22px rgba(255, 255, 255, .14),
        0 0 42px rgba(255, 255, 255, .07);
}

/* UŻYTKOWNIK — niebieski */
.vm-role-user {
    background: rgba(45, 130, 255, .18);
    color: #8fc2ff;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 0 22px rgba(45, 130, 255, .16),
        0 0 42px rgba(45, 130, 255, .08);
}

/* ADMIN / LOGS / REPORTS */

.vm-admin-grid {
    gap: 18px;
}

.vm-admin-tile {
    border-radius: 24px;
}

.vm-admin-tile strong {
    background: linear-gradient(90deg, #fff, #ffb347, #2f8cff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.vm-log-entry,
.vm-log-row,
.vm-report-row,
.vm-admin-edit-row {
    border-top: 1px solid rgba(255,255,255,.09);
}

.vm-report-preview {
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 18px;
}

/* SIDEBAR / EMBED */

.vm-side-link-btn {
    border-radius: 18px;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.vm-side-link-btn:hover {
    background: linear-gradient(135deg, rgba(255,122,24,.28), rgba(47,140,255,.14));
    border-color: rgba(255,122,24,.42);
    transform: translateY(-2px);
}

.vm-embed-backdrop {
    background: rgba(0,0,0,.68);
    backdrop-filter: blur(14px);
}

.vm-embed-head {
    background:
        linear-gradient(90deg, rgba(255,122,24,.95), rgba(255,63,180,.42), rgba(47,140,255,.34));
}

/* ALERTS */

.vm-alert,
.vm-success {
    border-radius: 18px;
    backdrop-filter: blur(16px);
}

.vm-alert {
    background: rgba(255,70,70,.13);
    border: 1px solid rgba(255,70,70,.28);
}

.vm-success {
    background: rgba(46,204,113,.13);
    border: 1px solid rgba(46,204,113,.28);
}

/* RESPONSIVE */

@media (max-width: 900px) {
    .vm-post {
        grid-template-columns: 1fr;
    }

    .vm-post-author {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.09);
    }
}

@media (max-width: 760px) {
    .vm-topbar {
        min-height: 76px;
        background: rgba(5,8,22,.86);
    }

    .vm-main,
    .vm-footer {
        width: min(100% - 20px, 1280px);
    }

    .vm-hero {
        padding: 24px;
    }

    .vm-category,
    .vm-card,
    .vm-form-card,
    .vm-post,
    .vm-modbar {
        border-radius: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body::after,
    .vm-logo {
        animation: none !important;
    }
}

/* VM FORUM PROFESSIONAL FINAL OVERRIDE */
/* VM FORUM PROFESSIONAL FINAL OVERRIDE */
/* VM FORUM PROFESSIONAL FINAL OVERRIDE */

/*
    Ten blok jest CELOWO na samym końcu pliku.
    Nie usuwa wcześniejszych styli — tylko je dopracowuje i nadpisuje.
*/

:root {
    --vm-pro-bg: #050816;
    --vm-pro-bg2: #081329;
    --vm-pro-panel: rgba(8, 18, 44, .76);
    --vm-pro-panel2: rgba(255,255,255,.085);
    --vm-pro-border: rgba(255,255,255,.155);
    --vm-pro-border2: rgba(255,122,24,.34);
    --vm-pro-text: rgba(248,251,255,.97);
    --vm-pro-muted: rgba(248,251,255,.70);
    --vm-pro-soft: rgba(248,251,255,.52);
    --vm-pro-orange: #ff7a18;
    --vm-pro-orange2: #ffb347;
    --vm-pro-blue: #2f8cff;
    --vm-pro-pink: #ff3fb4;
    --vm-pro-mint: #34f5c5;
    --vm-pro-red: #ff4b5f;
    --vm-pro-radius-xl: 30px;
    --vm-pro-radius-lg: 24px;
    --vm-pro-radius-md: 18px;
    --vm-pro-shadow: 0 26px 90px rgba(0,0,0,.48);
    --vm-pro-inner: inset 0 1px 0 rgba(255,255,255,.08);
}

body {
    color: var(--vm-pro-text);
    background:
        radial-gradient(900px 520px at 8% 5%, rgba(255,122,24,.27), transparent 58%),
        radial-gradient(820px 520px at 91% 5%, rgba(47,140,255,.23), transparent 58%),
        radial-gradient(760px 500px at 50% 95%, rgba(255,63,180,.14), transparent 58%),
        linear-gradient(145deg, #050816 0%, #081329 46%, #050816 100%) !important;
    background-attachment: fixed;
}

body::before {
    opacity: .78;
}

/* GLOBALNE WYGŁADZENIE */

.vm-main {
    width: min(1360px, calc(100% - 32px)) !important;
    margin-top: 30px;
    margin-bottom: 34px;
}

.vm-footer {
    width: min(1360px, calc(100% - 32px)) !important;
}

.vm-hero,
.vm-category,
.vm-card,
.vm-auth,
.vm-form-card,
.vm-post,
.vm-modbar,
.vm-admin-tile,
.vm-side-card,
.vm-admin-alert,
.vm-profile-hero,
.vm-profile-stat,
.vm-profile-about,
.vm-profile-signature,
.vm-member-card,
.vm-embed-box {
    background:
        linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.052)),
        var(--vm-pro-panel) !important;
    border: 1px solid var(--vm-pro-border) !important;
    border-radius: var(--vm-pro-radius-xl) !important;
    box-shadow:
        var(--vm-pro-shadow),
        0 0 44px rgba(255,122,24,.12),
        0 0 54px rgba(47,140,255,.09),
        var(--vm-pro-inner) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.vm-card,
.vm-form-card,
.vm-category,
.vm-side-card {
    overflow: hidden;
}

.vm-hero {
    padding: clamp(28px, 4vw, 44px) !important;
    margin-bottom: 26px;
}

.vm-hero h1 {
    font-size: clamp(32px, 4.6vw, 56px) !important;
    line-height: 1.02;
    letter-spacing: -.055em;
    margin-bottom: 12px;
}

.vm-hero p,
.vm-category-head p,
.vm-forum-info p,
.vm-muted-line,
.vm-empty,
.vm-log-main span,
.vm-log-main small,
.vm-log-meta span,
.vm-log-meta small,
.vm-report-row p,
.vm-user-row p,
.vm-member-info p,
.vm-profile-main p,
.vm-profile-list-row span,
.vm-profile-list-row small {
    color: var(--vm-pro-muted) !important;
}

/* TOPBAR */

.vm-topbar {
    height: 82px !important;
    padding-inline: clamp(18px, 3vw, 34px) !important;
    background: rgba(5,8,22,.72) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(26px);
    -webkit-backdrop-filter: blur(26px);
}

.vm-topbar nav {
    gap: 10px;
}

.vm-topbar nav a,
.vm-userbox a {
    padding: 11px 16px !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.78) !important;
    border: 1px solid transparent !important;
}

.vm-topbar nav a:hover,
.vm-userbox a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.105) !important;
    border-color: rgba(255,255,255,.16) !important;
    transform: translateY(-1px);
}

.vm-userbox small{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:6px 12px;

    border-radius:999px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.10),
            rgba(255,255,255,.04)
        );

    border:1px solid rgba(255,255,255,.10);

    color:rgba(255,255,255,.82);

    font-size:11px;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:.08em;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08);

    backdrop-filter:blur(10px);
}

/* KATEGORIE / LISTA DZIAŁÓW */

.vm-category {
    margin-bottom: 26px !important;
}

.vm-category-head,
.vm-side-head,
.vm-embed-head {
    position: relative !important;
    overflow: hidden !important;

    padding: 20px 24px !important;

    background:
        linear-gradient(
            90deg,
            rgba(255,122,24,.92) 0%,
            rgba(255,63,180,.48) 42%,
            rgba(122,0,255,.38) 68%,
            rgba(47,140,255,.34) 100%
        ),
        rgba(255,255,255,.06) !important;

    background-size: 200% 100% !important;

    border-bottom: 1px solid rgba(255,255,255,.12) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        inset 0 -1px 0 rgba(255,255,255,.04),
        0 10px 30px rgba(0,0,0,.18) !important;

    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;

    animation: vmHeadFlow 12s linear infinite !important;
}

.vm-category-head::before,
.vm-side-head::before,
.vm-embed-head::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.14) 0%,
            rgba(255,255,255,.04) 28%,
            transparent 100%
        ) !important;

    pointer-events: none !important;
}

@keyframes vmHeadFlow {
    from {
        background-position: 0% 50%;
    }

    to {
        background-position: 200% 50%;
    }
}

.vm-category-head h2,
.vm-side-head h2,
.vm-embed-head h2 {
    font-weight: 950 !important;
    letter-spacing: -.025em;
}

.vm-forum-row {
    grid-template-columns: 70px minmax(0, 1fr) 120px 120px !important;
    gap: 18px !important;
    padding: 22px 26px !important;
    border-top: 1px solid rgba(255,255,255,.09) !important;
}

.vm-forum-row:hover {
    background:
        linear-gradient(90deg, rgba(255,122,24,.09), rgba(47,140,255,.055)),
        rgba(255,255,255,.055) !important;
    transform: translateY(-1px);
}

.vm-forum-icon {
    width: 54px !important;
    height: 54px !important;
    border-radius: 20px !important;
}

.vm-forum-icon {
    position: relative;
    overflow: hidden;
    isolation: isolate;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px !important;

    background: transparent !important;
    color: #fff;

    box-shadow:
        0 12px 28px rgba(0,0,0,.25),
        0 0 18px rgba(47,140,255,.12);

    transition: .25s;
}

.vm-forum-icon::before {
    content: "";
    position: absolute;
    inset: -45%;

    border-radius: inherit;

    background: conic-gradient(
        from 0deg,
        #ff8a18 0deg,
        #ffd35c 48deg,
        #34f5c5 104deg,
        #2f8cff 164deg,
        #c53cff 224deg,
        #ff3fb4 292deg,
        #ff8a18 360deg
    );

    animation: vmForumIconOrbit 2.2s linear infinite;
    pointer-events: none;
    z-index: 0;
}

.vm-forum-icon::after {
    content: "";
    position: absolute;
    inset: 3px;

    border-radius: 17px;

    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.13), transparent 36%),
        radial-gradient(circle at 78% 84%, rgba(47,140,255,.15), transparent 42%),
        linear-gradient(135deg, rgba(20,31,58,.985), rgba(14,20,39,.985));

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.08);

    pointer-events: none;
    z-index: 1;
}

.vm-forum-icon i {
    position: relative;
    z-index: 3;
    color: #fff;
}

.vm-forum-row:hover .vm-forum-icon {
    transform: scale(1.06);
}

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

.vm-forum-info h3 {
    font-size: 19px !important;
    margin-bottom: 6px !important;
}

.vm-forum-stats {
    padding: 6px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
}

/* FORMULARZE GLOBALNIE */

.vm-auth input,
.vm-form-card input,
.vm-form-card textarea,
.vm-form-card select,
.vm-admin-edit-row input,
.vm-admin-edit-row textarea,
.vm-admin-edit-row select,
.vm-log-filter select,
.vm-user-actions select,
.vm-members-search input {
    min-height: 48px !important;
    padding: 13px 15px !important;
    background: rgba(255,255,255,.078) !important;
    border: 1px solid rgba(255,255,255,.155) !important;
    border-radius: 18px !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.vm-form-card textarea,
.vm-admin-edit-row textarea {
    min-height: 132px !important;
    line-height: 1.58;
}

.vm-auth input:focus,
.vm-form-card input:focus,
.vm-form-card textarea:focus,
.vm-form-card select:focus,
.vm-admin-edit-row input:focus,
.vm-admin-edit-row textarea:focus,
.vm-admin-edit-row select:focus,
.vm-log-filter select:focus,
.vm-user-actions select:focus,
.vm-members-search input:focus {
    border-color: rgba(255,122,24,.78) !important;
    box-shadow:
        0 0 0 3px rgba(255,122,24,.18),
        0 0 32px rgba(255,122,24,.13),
        inset 0 1px 0 rgba(255,255,255,.075) !important;
}

.vm-form-card option,
.vm-admin-edit-row option,
.vm-user-actions option {
    background: #081329;
    color: #fff;
}

.vm-auth label,
.vm-form-card label,
.vm-admin-edit-row label {
    color: rgba(255,255,255,.86) !important;
    font-weight: 850 !important;
    letter-spacing: -.01em;
}

/* PRZYCISKI */

.vm-auth button,
.vm-form-card button,
.vm-admin-edit-row button,
.vm-log-filter button,
.vm-action-btn,
.vm-modbar button,
.vm-user-actions button,
.vm-report-actions button,
.vm-members-search button,
.vm-members-search a,
.vm-admin-alert a {
    min-height: 44px;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    background:
        linear-gradient(135deg, var(--vm-pro-orange), var(--vm-pro-orange2)) !important;
    color: #160900 !important;
    font-weight: 950 !important;
    box-shadow: 0 18px 42px rgba(255,122,24,.22);
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background .18s ease;
}

.vm-auth button:hover,
.vm-form-card button:hover,
.vm-admin-edit-row button:hover,
.vm-log-filter button:hover,
.vm-action-btn:hover,
.vm-modbar button:hover,
.vm-user-actions button:hover,
.vm-report-actions button:hover,
.vm-members-search button:hover,
.vm-members-search a:hover,
.vm-admin-alert a:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 22px 52px rgba(255,122,24,.28);
}

.vm-action-danger,
.vm-modbar button.danger,
.vm-user-actions button.danger,
.vm-report-actions button.danger {
    background: linear-gradient(135deg, #ff4b5f, #b91d35) !important;
    color: #fff !important;
    box-shadow: 0 18px 42px rgba(255,75,95,.22) !important;
}

/* ADMIN - WIĘCEJ MIEJSCA W KATEGORIACH I DZIAŁACH */
/* ADMIN - WIĘCEJ MIEJSCA W KATEGORIACH I DZIAŁACH */
/* ADMIN - WIĘCEJ MIEJSCA W KATEGORIACH I DZIAŁACH */

.vm-admin-edit-row {
    margin: 0 !important;
    padding: 22px 24px !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
}

.vm-admin-edit-row:nth-child(even) {
    background: linear-gradient(90deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}

.vm-admin-edit-row:hover {
    background:
        linear-gradient(90deg, rgba(255,122,24,.075), rgba(47,140,255,.04)),
        rgba(255,255,255,.035);
}

.vm-admin-edit-row form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
    align-items: end !important;
}

/*
   Wersja bez ścisku:
   Każdy element w formularzu admina dostaje normalną przestrzeń.
   Działa dobrze zarówno przy labelach zawierających inputy, jak i przy osobnych inputach.
*/

.vm-admin-edit-row form > label {
    grid-column: span 4 !important;
    min-width: 0;
    margin: 0 !important;
}

.vm-admin-edit-row form > input,
.vm-admin-edit-row form > select {
    grid-column: span 4 !important;
    width: 100% !important;
}

.vm-admin-edit-row form > textarea {
    grid-column: span 8 !important;
    width: 100% !important;
}

.vm-admin-edit-row form > button,
.vm-admin-edit-row form > a,
.vm-admin-edit-row form > .vm-action-btn {
    grid-column: span 2 !important;
    justify-self: start;
    white-space: nowrap;
}

/* Checkboxy niech nie latają jak sieroty */
.vm-admin-edit-row .vm-check,
.vm-admin-edit-row label.vm-check {
    grid-column: span 2 !important;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.vm-admin-edit-row .vm-check input,
.vm-admin-edit-row input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    accent-color: var(--vm-pro-orange);
}

/* KATEGORIE: mniej kolumn, więcej powietrza */
.vm-admin-edit-row:not(.vm-forum-edit-row) form > label,
.vm-admin-edit-row:not(.vm-forum-edit-row) form > input,
.vm-admin-edit-row:not(.vm-forum-edit-row) form > select {
    grid-column: span 4 !important;
}

.vm-admin-edit-row:not(.vm-forum-edit-row) form > textarea {
    grid-column: span 6 !important;
}

/* DZIAŁY: zamiast jednej chorej linijki — czytelny układ */
.vm-forum-edit-row form {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

.vm-forum-edit-row form > label,
.vm-forum-edit-row form > input,
.vm-forum-edit-row form > select {
    grid-column: span 3 !important;
}

.vm-forum-edit-row form > textarea {
    grid-column: span 6 !important;
    min-height: 118px !important;
}

.vm-forum-edit-row form > button,
.vm-forum-edit-row form > a,
.vm-forum-edit-row form > .vm-action-btn {
    grid-column: span 2 !important;
}

/* Jeżeli w HTML label zawiera input/select/textarea, to label zachowuje się jak pełne pole */
.vm-admin-edit-row label:has(input),
.vm-admin-edit-row label:has(select),
.vm-admin-edit-row label:has(textarea) {
    display: grid !important;
    gap: 7px;
    align-content: start;
}

.vm-admin-edit-row label:has(textarea) {
    grid-column: span 6 !important;
}

/* Jeżeli przeglądarka wspiera has — przyciski na końcu są eleganckim paskiem */
.vm-admin-edit-row form:has(button) {
    align-items: stretch !important;
}

.vm-admin-edit-row form:has(button) button {
    align-self: end;
}

/* Nagłówki/karty admina */
.vm-admin-grid {
    gap: 18px !important;
}

.vm-admin-tile {
    padding: 26px 22px !important;
}

.vm-admin-tile strong {
    font-size: clamp(30px, 4vw, 42px) !important;
}

.vm-admin-actions {
    gap: 16px !important;
    padding: 22px !important;
}

.vm-admin-actions a {
    min-height: 116px;
    border-radius: 24px !important;
    padding: 22px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045)) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
}

.vm-admin-actions a:hover {
    background:
        linear-gradient(135deg, rgba(255,122,24,.14), rgba(47,140,255,.08)),
        rgba(255,255,255,.07) !important;
}

/* USERS / REPORTS / LOGS */

.vm-user-row,
.vm-report-row,
.vm-log-entry,
.vm-log-row,
.vm-profile-list-row {
    padding: 19px 24px !important;
}

.vm-user-row,
.vm-report-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 22px !important;
}

.vm-user-actions,
.vm-report-actions {
    gap: 12px !important;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.vm-user-actions form,
.vm-report-actions form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* POSTY */

.vm-post {
    grid-template-columns: 245px minmax(0, 1fr) !important;
    gap: 0 !important;
    margin-bottom: 22px !important;
}

.vm-post-author {
    padding: 26px 22px !important;
}

.vm-post-content {
    padding: 26px !important;
}

.vm-post-avatar {
    width: 124px !important;
    height: 124px !important;
    border-radius: 30px !important;
}

.vm-post-text {
    font-size: 15.5px !important;
    line-height: 1.82 !important;
}

/* SIDEBAR INDEX */

.vm-index-layout {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 26px !important;
}

.vm-index-sidebar {
    gap: 24px !important;
    top: 106px !important;
}

.vm-radio-player {
    padding: 22px !important;
}

.vm-side-buttons {
    gap: 12px !important;
    padding: 20px !important;
}

.vm-side-link-btn,
.vm-side-buttons button {
    min-height: 78px;
    border-radius: 22px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.052)) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
}

.vm-side-link-btn:hover,
.vm-side-buttons button:hover {
    background:
        linear-gradient(135deg, rgba(255,122,24,.28), rgba(47,140,255,.14)) !important;
    border-color: rgba(255,122,24,.38) !important;
}

/* CZYSTE SCROLLBARY */

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,122,24,.65) rgba(255,255,255,.08);
}

::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}

::-webkit-scrollbar-track {
    background: rgba(255,255,255,.06);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--vm-pro-orange), var(--vm-pro-blue));
    border-radius: 999px;
    border: 3px solid rgba(5,8,22,.95);
}

/* RESPONSYWNOŚĆ */

@media (max-width: 1180px) {
    .vm-index-layout {
        grid-template-columns: 1fr !important;
    }

    .vm-index-sidebar {
        position: static !important;
    }

    .vm-forum-edit-row form > label,
    .vm-forum-edit-row form > input,
    .vm-forum-edit-row form > select,
    .vm-admin-edit-row form > label,
    .vm-admin-edit-row form > input,
    .vm-admin-edit-row form > select {
        grid-column: span 6 !important;
    }

    .vm-forum-edit-row form > textarea,
    .vm-admin-edit-row form > textarea,
    .vm-admin-edit-row label:has(textarea) {
        grid-column: span 12 !important;
    }

    .vm-admin-edit-row form > button,
    .vm-admin-edit-row form > a,
    .vm-admin-edit-row form > .vm-action-btn {
        grid-column: span 3 !important;
    }
}

@media (max-width: 900px) {
    .vm-main,
    .vm-footer {
        width: min(100% - 22px, 1360px) !important;
    }

    .vm-forum-row {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        padding: 20px !important;
    }

    .vm-forum-stats {
        display: none !important;
    }

    .vm-post {
        grid-template-columns: 1fr !important;
    }

    .vm-post-author {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }

    .vm-user-row,
    .vm-report-row {
        grid-template-columns: 1fr !important;
    }

    .vm-user-actions,
    .vm-report-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .vm-topbar {
        height: auto !important;
        min-height: 78px !important;
        padding: 14px !important;
    }

    .vm-topbar nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .vm-hero,
    .vm-form-card,
    .vm-card {
        padding: 22px !important;
    }

    .vm-category-head,
    .vm-side-head,
    .vm-embed-head {
        padding: 18px !important;
    }

    .vm-admin-edit-row {
        padding: 18px !important;
    }

    .vm-admin-edit-row form,
    .vm-forum-edit-row form {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .vm-admin-edit-row form > *,
    .vm-forum-edit-row form > *,
    .vm-admin-edit-row label:has(input),
    .vm-admin-edit-row label:has(select),
    .vm-admin-edit-row label:has(textarea),
    .vm-admin-edit-row label:has(textarea) {
        grid-column: 1 / -1 !important;
    }

    .vm-admin-edit-row form > button,
    .vm-admin-edit-row form > a,
    .vm-admin-edit-row form > .vm-action-btn {
        width: 100%;
        justify-self: stretch;
    }

    .vm-post-content,
    .vm-post-author {
        padding: 22px !important;
    }

    .vm-post-avatar {
        width: 112px !important;
        height: 112px !important;
    }
}

@media (max-width: 520px) {
    .vm-main,
    .vm-footer {
        width: calc(100% - 16px) !important;
    }

    .vm-hero h1 {
        font-size: 30px !important;
    }

    .vm-side-buttons {
        grid-template-columns: 1fr !important;
    }

    .vm-admin-actions,
    .vm-admin-grid,
    .vm-profile-grid,
    .vm-members-grid {
        grid-template-columns: 1fr !important;
    }
}

/* KONIEC FINALNEGO OVERRIDE */
/* KONIEC FINALNEGO OVERRIDE */
/* KONIEC FINALNEGO OVERRIDE */

.vm-topic-closed{
    color:#ff6b6b;
    margin-right:8px;
    font-size:.85em;
}

.vm-topic-pinned{
    color:#ffb347;
    margin-right:8px;
    font-size:.85em;
}

/* INDEX.PHP - FULL WIDTH LIVE HERO */
/* INDEX.PHP - FULL WIDTH LIVE HERO */
/* INDEX.PHP - FULL WIDTH LIVE HERO */

.vm-main {
    width: 100%;
    margin-top: 0;
}

.vm-livebar {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;

    min-height: 390px;
    margin-top: 0;
    margin-bottom: 28px;
    padding: 72px max(24px, calc((100vw - 1280px) / 2)) 58px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 70px;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        radial-gradient(circle at 82% 35%, rgba(52,245,197,.23), transparent 34%),
        radial-gradient(circle at 38% 32%, rgba(255,122,24,.18), transparent 34%),
        linear-gradient(115deg, #07152f 0%, #0a1734 45%, #082d35 100%);
    background-size:
        70px 70px,
        70px 70px,
        auto,
        auto,
        auto;

    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: inset 0 -80px 120px rgba(5,8,22,.42);
}

.vm-livebar::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5,8,22,.72), transparent 52%, rgba(5,8,22,.16)),
        radial-gradient(circle at 70% 50%, rgba(47,140,255,.16), transparent 35%);
    pointer-events: none;
}

.vm-livebar-bg {
    position: absolute;
    inset: -140px;
    background: conic-gradient(
        from 180deg,
        rgba(255,122,24,.20),
        rgba(47,140,255,.18),
        rgba(52,245,197,.12),
        rgba(255,63,180,.10),
        rgba(255,122,24,.20)
    );
    filter: blur(90px);
    opacity: .45;
    animation: vmLiveSpin 28s linear infinite;
    pointer-events: none;
}

@keyframes vmLiveSpin {
    to { transform: rotate(360deg); }
}

.vm-livebar-left,
.vm-livebar-player {
    position: relative;
    z-index: 2;
}

.vm-livebar-left {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    max-width: 760px;
}

.vm-live-orb {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;

    border-radius: 18px;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.35), transparent 35%),
        linear-gradient(135deg, #ff7a18, #2f8cff);

    color: #fff;
    font-size: 24px;

    box-shadow:
        0 18px 46px rgba(255,122,24,.30),
        0 0 34px rgba(47,140,255,.18);
}

.vm-live-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 12px;
    padding: 7px 13px;

    border-radius: 999px;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.16);

    color: rgba(255,255,255,.82);
    font-size: 12px;
    font-weight: 900;
}

.vm-live-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #48ff9d;
    box-shadow: 0 0 16px rgba(72,255,157,.9);
}

.vm-livebar h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(34px, 4.4vw, 62px);
    line-height: .95;
    letter-spacing: -.06em;
    font-weight: 950;
    text-shadow: 0 8px 30px rgba(0,0,0,.40);
}

.vm-livebar p {
    max-width: 640px;
    margin: 0;
    color: rgba(255,255,255,.76);
    font-size: 16px;
    line-height: 1.7;
    font-weight: 650;
}

.vm-livebar-player {
    min-height: 235px;
    padding: 24px;
    border-radius: 28px;

    background:
        radial-gradient(circle at 85% 12%, rgba(47,140,255,.20), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
        rgba(7,13,34,.78);

    border: 1px solid rgba(255,255,255,.16);

    box-shadow:
        0 30px 80px rgba(0,0,0,.42),
        0 0 50px rgba(47,140,255,.16),
        inset 0 1px 0 rgba(255,255,255,.10);

    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);

    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 16px;
    align-items: center;
}

.vm-live-play {
    width: 58px;
    height: 58px;

    border: 0;
    border-radius: 50%;

    background: #fff;
    color: #07152f;

    font-size: 21px;
    cursor: pointer;

    box-shadow:
        0 18px 36px rgba(0,0,0,.32),
        0 0 0 10px rgba(255,255,255,.08);

    transition: .18s ease;
}

.vm-live-play:hover {
    transform: scale(1.05);
}

.vm-live-play.is-playing {
    background: linear-gradient(135deg, #ff7a18, #ffb347);
    color: #1b0900;
}

.vm-live-track {
    min-width: 0;
}

.vm-live-track strong {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 950;
}

.vm-live-track span {
    display: block;
    margin-top: 5px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    font-weight: 700;
}

.vm-live-wave {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 30px;
    margin-top: 8px;
    padding-left: 68px;
}

.vm-live-wave i {
    width: 18px;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2f8cff, #ff7a18);
    opacity: .75;
    animation: vmLivePulse 1.2s ease-in-out infinite;
}

.vm-live-wave i:nth-child(2) { animation-delay: .12s; }
.vm-live-wave i:nth-child(3) { animation-delay: .24s; }
.vm-live-wave i:nth-child(4) { animation-delay: .36s; }
.vm-live-wave i:nth-child(5) { animation-delay: .48s; }
.vm-live-wave i:nth-child(6) { animation-delay: .60s; }
.vm-live-wave i:nth-child(7) { animation-delay: .72s; }

@keyframes vmLivePulse {
    0%, 100% {
        transform: scaleY(.75);
        opacity: .45;
    }

    50% {
        transform: scaleY(1.45);
        opacity: 1;
    }
}

.vm-live-volume {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-left: 68px;
    color: rgba(255,255,255,.80);
}

.vm-live-volume input {
    width: 100%;
    accent-color: #ff7a18;
}

/* stara osobna belka hero znika, bo tekst jest już w livebar */
.vm-livebar + .vm-hero {
    display: none;
}

.vm-index-layout,
.vm-footer,
.vm-breadcrumb {
    width: min(1280px, calc(100% - 28px));
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 980px) {
    .vm-livebar {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 46px;
    }

    .vm-livebar-player {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .vm-livebar {
        min-height: auto;
        padding: 34px 16px;
    }

    .vm-livebar-left {
        flex-direction: column;
    }

    .vm-livebar-player {
        grid-template-columns: 54px 1fr;
        padding: 18px;
        border-radius: 24px;
    }

    .vm-live-play {
        width: 54px;
        height: 54px;
    }

    .vm-live-wave,
    .vm-live-volume {
        padding-left: 0;
    }
}

/* INDEX.PHP - LIVEBAR PLAYER FINAL */
/* INDEX.PHP - LIVEBAR PLAYER FINAL */
/* INDEX.PHP - LIVEBAR PLAYER FINAL */

.vm-livebar-player {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;

    min-height: 245px;
    padding: 22px 24px;

    border-radius: 28px;

    background:
        radial-gradient(circle at 86% 18%, rgba(47,140,255,.24), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.045)),
        rgba(7,13,34,.84);

    border: 1px solid rgba(255,255,255,.16);

    box-shadow:
        0 30px 80px rgba(0,0,0,.45),
        0 0 50px rgba(47,140,255,.17),
        inset 0 1px 0 rgba(255,255,255,.10);

    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

.vm-live-presenter {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 18px;
    align-items: center;

    padding-bottom: 18px;

    border-bottom: 1px solid rgba(255,255,255,.10);
}

.vm-live-presenter::after {
    content: "";

    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,122,24,.75),
        rgba(255,63,180,.45),
        rgba(47,140,255,.55),
        transparent
    );

    box-shadow:
        0 0 18px rgba(255,122,24,.22),
        0 0 24px rgba(47,140,255,.14);
}

.vm-live-presenter-text span {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 9px;
    padding: 6px 11px;

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            rgba(255,122,24,.16),
            rgba(255,63,180,.10),
            rgba(47,140,255,.10)
        );

    border: 1px solid rgba(255,255,255,.11);

    color: rgba(255,255,255,.78);

    font-size: 11px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 22px rgba(0,0,0,.18);
}

.vm-live-presenter-text span::before {
    content: "";

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #34f5c5;

    box-shadow:
        0 0 10px rgba(52,245,197,.75),
        0 0 20px rgba(52,245,197,.35);
}

.vm-live-presenter-text strong {
    display: block;

    max-width: 100%;

    font-size: clamp(22px, 2.4vw, 31px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: .035em;
    text-transform: uppercase;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    background: linear-gradient(
        90deg,
        #ff0000,
        #ff7a00,
        #ffff00,
        #00ff7f,
        #00c6ff,
        #0066ff,
        #8a2be2,
        #ff00cc,
        #ff0000
    );

    background-size: 400% 100%;

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;

    filter:
        drop-shadow(0 0 14px rgba(255,255,255,.18))
        drop-shadow(0 10px 24px rgba(0,0,0,.32));

    animation: vmPresenterNameFlow 30s linear infinite;
}

@keyframes vmPresenterNameFlow {
    from {
        background-position: 400% 50%;
    }

    to {
        background-position: 0% 50%;
    }
}

.vm-live-presenter-text{
    min-width: 0;
}

.vm-live-presenter-art {
    width: 92px;
    height: 92px;

    display: grid;
    place-items: center;

    border-radius: 26px;
    overflow: hidden;

    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), transparent 38%),
        linear-gradient(135deg, rgba(255,122,24,.24), rgba(47,140,255,.22)),
        rgba(255,255,255,.08);

    border: 1px solid rgba(255,255,255,.16);

    box-shadow:
        0 18px 42px rgba(0,0,0,.34),
        0 0 34px rgba(47,140,255,.18);
}

.vm-live-presenter-art img {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vm-live-presenter-art.has-image img {
    display: block;
}

.vm-live-controls {
    display: flex;
    align-items: center;
    gap: 18px;
}

.vm-live-play {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    border: 0;
    border-radius: 50%;

    background: #fff;
    color: #07152f;

    font-size: 22px;
    cursor: pointer;

    box-shadow:
        0 18px 38px rgba(0,0,0,.35),
        0 0 0 10px rgba(255,255,255,.08);

    transition: .18s ease;
}

.vm-live-play:hover {
    transform: scale(1.06);
}

.vm-live-play.is-playing {
    background: linear-gradient(135deg, #ff7a18, #ffb347);
    color: #1a0900;
}

.vm-live-volume {
    flex: 1;
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 12px;

    color: rgba(255,255,255,.80);
}

.vm-live-volume input {
    flex: 1;
    width: 100%;
    accent-color: #ff7a18;
}

.vm-live-wave {
    display: flex;
    align-items: center;
    gap: 8px;

    height: 30px;
    margin-top: 2px;
}

.vm-live-wave i {
    width: 18px;
    height: 5px;

    border-radius: 999px;

    background: linear-gradient(90deg, #2f8cff, #ff7a18);
    opacity: .75;

    animation: vmLivePulse 1.2s ease-in-out infinite;
}

.vm-live-wave i:nth-child(2) { animation-delay: .12s; }
.vm-live-wave i:nth-child(3) { animation-delay: .24s; }
.vm-live-wave i:nth-child(4) { animation-delay: .36s; }
.vm-live-wave i:nth-child(5) { animation-delay: .48s; }
.vm-live-wave i:nth-child(6) { animation-delay: .60s; }
.vm-live-wave i:nth-child(7) { animation-delay: .72s; }

@keyframes vmLivePulse {
    0%, 100% {
        transform: scaleY(.75);
        opacity: .45;
    }

    50% {
        transform: scaleY(1.45);
        opacity: 1;
    }
}

@media (max-width: 640px) {
    .vm-livebar-player {
        padding: 18px;
        border-radius: 24px;
    }

    .vm-live-presenter {
        grid-template-columns: 1fr 76px;
    }

    .vm-live-presenter-art {
        width: 76px;
        height: 76px;
        border-radius: 22px;
    }

    .vm-live-presenter-text strong {
        font-size: 22px;
    }

    .vm-live-controls {
        gap: 14px;
    }

    .vm-live-play {
        flex-basis: 58px;
        width: 58px;
        height: 58px;
    }
}

/* PARTNERS STRIP */
/* PARTNERS STRIP */
/* PARTNERS STRIP */

.vm-partners-strip {
    width: min(1280px, calc(100% - 32px));
    margin: 24px auto 14px;
    padding: 14px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 12% 20%, rgba(255,123,0,.14), transparent 34%),
        radial-gradient(circle at 88% 80%, rgba(1,111,222,.14), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        rgba(6,18,42,.88);
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 16px 44px rgba(0,0,0,.25);
    backdrop-filter: blur(16px);
    overflow: hidden;
}

.vm-partners-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.vm-partners-head span{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 18px;

    border-radius:999px;

    background:
        linear-gradient(
            135deg,
            rgba(255,122,24,.20),
            rgba(255,63,180,.14),
            rgba(47,140,255,.12)
        );

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    font-size:13px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;

    box-shadow:
        0 8px 24px rgba(0,0,0,.22),
        0 0 22px rgba(255,122,24,.16);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.vm-partners-head h2 {
    margin: 0;
    font-size: 15px;
    font-weight: 900;
    color: rgba(255,255,255,.94);
}

.vm-partners-marquee {
    position: relative;
    overflow: hidden;
    padding: 4px 0;

    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.vm-partners-track {
    display: flex;
    align-items: center;
    gap: 12px;

    width: max-content;

    animation: vmPartnersMove 60s linear infinite;
    will-change: transform;
}

.vm-partners-marquee:hover .vm-partners-track {
    animation-play-state: paused;
}

.vm-partner-banner {
    flex: 0 0 360px;

    width: 360px;
    height: 66px;
    padding: 10px 14px;

    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 12px;

    box-sizing: border-box;
    overflow: hidden;
    text-decoration: none;
    border-radius: 16px;

    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
        rgba(8,25,55,.88);

    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 8px 20px rgba(0,0,0,.20);

    color: #fff;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}

.vm-partner-banner:hover {
    transform: translateY(-1px);
    border-color: rgba(255,123,0,.38);
    background:
        linear-gradient(135deg, rgba(255,123,0,.13), rgba(1,111,222,.10)),
        rgba(8,25,55,.94);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.14),
        0 10px 24px rgba(0,0,0,.26);
}

.vm-partner-banner i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, #ff7b00, #016fde);
    color: #fff;
    font-size: 16px;
    box-shadow: 0 8px 18px rgba(1,111,222,.18);
    flex-shrink: 0;
}

.vm-partner-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
}

.vm-partner-text strong {
    display: block;
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.05;
    color: rgba(255,255,255,.96);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vm-partner-text em {
    display: block;
    margin: 0;
    font-style: normal;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    color: rgba(255,255,255,.66);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* IMAGE BANNERS */

.vm-partner-banner.vm-partner-banner-img {
    display: block;
    padding: 0;
}

.vm-partner-banner.vm-partner-banner-img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* LOOP */

@keyframes vmPartnersMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 6px));
    }
}

@media (max-width: 700px) {
    .vm-partners-strip {
        width: calc(100% - 22px);
        margin-top: 20px;
        padding: 12px;
        border-radius: 20px;
    }

    .vm-partners-head {
        display: block;
        margin-bottom: 9px;
    }

    .vm-partners-head h2 {
        margin-top: 6px;
        font-size: 14px;
    }

    .vm-partners-marquee {
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 11%, #000 89%, transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 11%, #000 89%, transparent 100%);
    }

    .vm-partners-track {
        gap: 10px;
        animation-duration: 18s;
    }

    .vm-partner-banner {
        flex-basis: 285px;

        width: 285px;
        height: 64px;
        padding: 9px 12px;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 10px;
        border-radius: 15px;
    }

    .vm-partner-banner i {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        font-size: 14px;
    }

    .vm-partner-text strong {
        font-size: 14px;
    }

    .vm-partner-text em {
        font-size: 10.5px;
    }

    .vm-partner-banner.vm-partner-banner-img {
        padding: 0;
    }
}

/* INDEX.PHP - COMPACT FORUM ROWS */
/* INDEX.PHP - COMPACT FORUM ROWS */
/* INDEX.PHP - COMPACT FORUM ROWS */

.vm-forum-row {
    padding-top: 10px;
    padding-bottom: 10px;
    gap: 12px;
}

.vm-forum-icon {
    width: 42px;
    height: 42px;
}

.vm-forum-info h3 {
    margin-bottom: 2px;
}

.vm-forum-info p {
    line-height: 1.25;
}

.vm-forum-stats {
    align-self: center;
}

/* INDEX.PHP - REAL COMPACT FORUM ROWS */
/* INDEX.PHP - REAL COMPACT FORUM ROWS */
/* INDEX.PHP - REAL COMPACT FORUM ROWS */

.vm-index-content .vm-category .vm-forum-row {
    padding: 8px 14px !important;
    gap: 8px !important;
    min-height: 0 !important;
}

.vm-index-content .vm-category .vm-forum-info {
    min-height: 0 !important;
}

.vm-index-content .vm-category .vm-forum-info h3 {
    margin: 0 0 2px !important;
}

.vm-index-content .vm-category .vm-forum-info p {
    margin: 0 !important;
    line-height: 1.2 !important;
}



/* FACEBOOK CARD */
/* FACEBOOK CARD */
/* FACEBOOK CARD */

.vm-fb-card{
    display:flex;
    align-items:center;
    gap:14px;

    padding:16px 18px;

    border-radius:0 0 18px 18px;

    text-decoration:none;
    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(24,119,242,.25),
            rgba(24,119,242,.08)
        );

    border:1px solid rgba(24,119,242,.35);

    transition:.25s;
}

.vm-fb-card .fa-facebook-f{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    background:#1877f2;

    font-size:22px;
    color:#fff;

    flex-shrink:0;
}

.vm-fb-card div{
    flex:1;
}

.vm-fb-card strong{
    display:block;
    font-size:15px;
}

.vm-fb-card span{
    display:block;
    margin-top:3px;

    font-size:12px;
    opacity:.75;
}

.vm-fb-card .fa-arrow-up-right-from-square{
    opacity:.6;
}

.vm-discord-card{
    display:flex;
    align-items:center;
    gap:14px;

    padding:16px 18px;

    border-radius:18px;

    text-decoration:none;
    color:#fff;

    transition:.25s;
}

.vm-discord-card{
    margin-top:12px;

    background:
        linear-gradient(
            135deg,
            rgba(88,101,242,.25),
            rgba(88,101,242,.08)
        );

    border:1px solid rgba(88,101,242,.35);
}

.vm-discord-card .fa-discord{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius: 14px;

    background:#5865f2;

    font-size:22px;
    color:#fff;

    flex-shrink:0;
}

.vm-discord-card div{
    flex:1;
}

.vm-discord-card strong{
    display:block;
}

.vm-discord-card span{
    display:block;
    margin-top:3px;

    font-size:12px;
    opacity:.75;
}

.vm-discord-card .fa-arrow-up-right-from-square{
    opacity:.6;
}

.vm-fb-card i,
.vm-fb-card div,
.vm-discord-card i,
.vm-discord-card div{
    transition:.25s ease;
}

.vm-fb-card:hover .fa-facebook-f,
.vm-discord-card:hover .fa-discord{
    transform:scale(1.12);
}

.vm-fb-card:hover div,
.vm-discord-card:hover div{
    transform:translateX(4px);
}

.vm-fb-card:hover .fa-arrow-up-right-from-square,
.vm-discord-card:hover .fa-arrow-up-right-from-square{
    transform:translateX(4px);
}

.vm-chat-card{
    display:flex;
    align-items:center;
    gap:14px;

    margin-top:12px;

    padding:16px 18px;

    border-radius:18px;

    text-decoration:none;
    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(26,160,130,.20),
            rgba(26,160,130,.05)
        );

    border:1px solid rgba(26,160,130,.25);

    transition:.25s;
}

.vm-chat-card .fa-comments{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:14px;

    background:#1aa082;

    font-size:20px;
    color:#fff;

    flex-shrink:0;

    box-shadow:
        0 8px 20px rgba(26,160,130,.18);
}

.vm-chat-card div{
    flex:1;
}

.vm-chat-card strong{
    display:block;
}

.vm-chat-card span{
    display:block;
    margin-top:3px;

    font-size:12px;
    opacity:.75;
}

.vm-chat-card .fa-arrow-up-right-from-square{
    opacity:.6;
}

/* Hover */

.vm-chat-card i,
.vm-chat-card div{
    transition:.25s ease;
}

.vm-chat-card:hover .fa-comments{
    transform:scale(1.12);
}

.vm-chat-card:hover div{
    transform:translateX(4px);
}

.vm-chat-card:hover .fa-arrow-up-right-from-square{
    transform:translateX(4px);
}

/* LOGIN.PHP */
/* LOGIN.PHP */
/* LOGIN.PHP */

.vm-remember{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;

    margin:14px 0 18px !important;

    color:rgba(255,255,255,.82) !important;
    font-size:14px !important;

    cursor:pointer !important;
}

.vm-remember input{
    width:18px !important;
    height:18px !important;
    margin:0 !important;

    accent-color:var(--vm-orange,#ff7b00) !important;

    flex-shrink:0 !important;
    vertical-align:middle !important;
}

.vm-remember span{
    display:flex !important;
    align-items:center !important;

    line-height:18px !important;
    min-height:18px !important;

    position:relative !important;
    top:-1px !important;
}

.vm-cookie-note{
    margin-top:20px !important;
    padding-top:15px !important;

    border-top:1px solid rgba(255,255,255,.10) !important;

    color:rgba(255,255,255,.58) !important;
    font-size:12.5px !important;
    line-height:1.5 !important;
    text-align:center !important;
}

/* FORUM.PHP - ADD TOPIC */
/* FORUM.PHP - ADD TOPIC */
/* FORUM.PHP - ADD TOPIC */

.vm-topics-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.vm-new-topic-btn{
    position:relative;

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 14px;

    border-radius:14px;

    text-decoration:none;
    color:#fff;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.03)
        );

    border:1px solid rgba(255,255,255,.10);

    backdrop-filter:blur(10px);

    box-shadow:
        0 8px 18px rgba(0,0,0,.18);

    font-size:13px;
    font-weight:700;

    transition:.25s ease;
}

.vm-new-topic-btn::before{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(47,140,255,.16),
            rgba(192,76,255,.12),
            rgba(255,122,24,.12)
        );

    opacity:.9;
}

.vm-new-topic-btn::after{
    content:"";

    position:absolute;

    top:-80%;
    left:-60%;

    width:40px;
    height:250%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.14),
            transparent
        );

    transform:rotate(22deg);

    transition:.6s;
}

.vm-new-topic-btn,
.vm-new-topic-btn i{
    z-index:2;
}

.vm-new-topic-btn i{
    width:24px;
    height:24px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:8px;

    background:
        linear-gradient(
            135deg,
            #ff7a18,
            #ff9b43
        );

    box-shadow:
        0 4px 12px rgba(255,122,24,.28);

    font-size:10px;
}

.vm-new-topic-btn:hover{
    transform:translateY(-2px);

    border-color:rgba(255,255,255,.16);

    box-shadow:
        0 12px 24px rgba(0,0,0,.24),
        0 0 18px rgba(47,140,255,.10);
}

.vm-new-topic-btn:hover::after{
    left:150%;
}

.vm-new-topic-btn:active{
    transform:translateY(0);
}

@media (max-width:768px){

    .vm-topics-head{
        flex-direction:column;
        align-items:stretch;
    }

    .vm-new-topic-btn{
        justify-content:center;
        width:100%;
    }

}

/* NEW-TOPIC.PHP - STAFF OPTIONS */
/* NEW-TOPIC.PHP - STAFF OPTIONS */
/* NEW-TOPIC.PHP - STAFF OPTIONS */

.vm-topic-options{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;

    margin:18px 0 !important;
}

.vm-check-option{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;

    padding:14px 16px !important;

    border-radius:16px !important;

    cursor:pointer !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.09),
            rgba(255,255,255,.035)
        ) !important;

    border:1px solid rgba(255,255,255,.11) !important;

    transition:.25s !important;
}

.vm-check-option:hover{
    transform:translateY(-2px) !important;
    border-color:rgba(255,255,255,.18) !important;
}

.vm-check-option input[type="checkbox"]{
    width:16px !important;
    height:16px !important;
    min-width:16px !important;
    max-width:16px !important;

    margin:3px 0 0 0 !important;
    padding:0 !important;

    flex:0 0 16px !important;

    appearance:auto !important;
    accent-color:#ff7a18 !important;

    border-radius:4px !important;
    cursor:pointer !important;

    box-shadow:none !important;
}

.vm-check-option span{
    display:block !important;
    flex:1 !important;
    min-width:0 !important;
}

.vm-check-option strong{
    display:block !important;

    color:#fff !important;

    font-size:14px !important;
    line-height:1.25 !important;
}

.vm-check-option em{
    display:block !important;

    margin-top:3px !important;

    color:rgba(255,255,255,.62) !important;

    font-size:12px !important;
    line-height:1.35 !important;
    font-style:normal !important;
}

@media (max-width:768px){
    .vm-topic-options{
        grid-template-columns:1fr !important;
    }
}

/* ADMIN-CATEGORIES.PHP FINAL */
/* ADMIN-CATEGORIES.PHP FINAL */
/* ADMIN-CATEGORIES.PHP FINAL */

.vm-admin-edit-row{
    width:100% !important;

    padding:22px !important;
    margin:0 0 18px !important;

    border-radius:24px !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.07),
            rgba(255,255,255,.03)
        ),
        rgba(7,13,34,.78) !important;

    border:1px solid rgba(255,255,255,.12) !important;

    box-shadow:
        0 14px 34px rgba(0,0,0,.22) !important;

    overflow:hidden !important;
}

.vm-admin-edit-row form{
    display:grid !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr) !important;

    gap:16px !important;

    width:100% !important;
    max-width:100% !important;
}

.vm-admin-edit-row label{
    display:block !important;

    margin:0 0 8px !important;

    color:rgba(255,255,255,.72) !important;

    font-size:11px !important;
    font-weight:800 !important;

    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

.vm-admin-edit-row input[type="text"],
.vm-admin-edit-row input[type="number"],
.vm-admin-edit-row textarea{
    width:100% !important;
    max-width:100% !important;

    margin:0 !important;

    min-width:0 !important;

    border-radius:16px !important;
}

.vm-admin-edit-row textarea{
    min-height:120px !important;

    resize:vertical !important;
}

.vm-admin-edit-row .vm-check{
    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:10px !important;

    min-height:52px !important;

    padding:0 16px !important;

    border-radius:16px !important;

    background:rgba(255,255,255,.05) !important;

    border:1px solid rgba(255,255,255,.10) !important;
}

.vm-admin-edit-row .vm-check input{
    width:18px !important;
    height:18px !important;

    min-width:18px !important;
    min-height:18px !important;

    margin:0 !important;

    flex-shrink:0 !important;
}

.vm-admin-edit-row button{
    width:100% !important;

    min-height:52px !important;

    margin:0 !important;

    white-space:nowrap !important;
}

.vm-admin-edit-row > form > label:nth-of-type(3),
.vm-admin-edit-row > form > input[name="sort_order"]{
    max-width:180px !important;
}

@media (max-width:1100px){

    .vm-admin-edit-row form{
        grid-template-columns:1fr !important;
    }

    .vm-admin-edit-row > form > label:nth-of-type(3),
    .vm-admin-edit-row > form > input[name="sort_order"]{
        max-width:100% !important;
    }
}

/* ADMIN-USERS.PHP FINAL */
/* ADMIN-USERS.PHP FINAL */
/* ADMIN-USERS.PHP FINAL */

.vm-admin-user-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 230px !important;
    gap:18px !important;

    padding:22px !important;
    margin:0 0 16px !important;

    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:24px !important;

    background:
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
        rgba(7,13,34,.78) !important;

    box-shadow:0 14px 34px rgba(0,0,0,.22) !important;

    overflow:hidden !important;
}

.vm-admin-user-main{
    min-width:0 !important;
}

.vm-admin-user-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;

    margin-bottom:14px !important;
}

.vm-admin-user-title h3{
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;

    color:#fff !important;

    font-size:20px !important;
    font-weight:950 !important;
}

.vm-admin-user-meta{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 14px !important;
}

.vm-admin-user-meta span{
    display:block !important;

    min-width:0 !important;

    padding:10px 12px !important;

    border-radius:14px !important;

    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.08) !important;

    color:rgba(255,255,255,.72) !important;

    font-size:13px !important;
    line-height:1.35 !important;

    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.vm-admin-user-meta strong{
    color:#fff !important;
    font-weight:900 !important;
}

.vm-admin-user-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;

    gap:10px !important;
}

.vm-admin-user-actions form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;

    width:100% !important;
    margin:0 !important;
}

.vm-admin-user-actions select{
    width:100% !important;
    min-height:46px !important;

    border-radius:16px !important;

    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.13) !important;

    color:#fff !important;

    font-weight:900 !important;
}

.vm-admin-user-actions button{
    width:100% !important;
    min-height:46px !important;

    margin:0 !important;

    border-radius:999px !important;

    white-space:nowrap !important;
}

.vm-admin-user-actions .vm-muted-line{
    display:block !important;

    padding:12px 14px !important;

    border-radius:16px !important;

    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.09) !important;

    color:rgba(255,255,255,.66) !important;

    font-size:13px !important;
    font-weight:800 !important;
    line-height:1.45 !important;
}

@media (max-width:1100px){
    .vm-admin-user-row{
        grid-template-columns:1fr !important;
    }

    .vm-admin-user-actions{
        flex-direction:row !important;
        flex-wrap:wrap !important;
    }

    .vm-admin-user-actions form{
        flex:1 1 220px !important;
    }
}

@media (max-width:700px){
    .vm-admin-user-title{
        align-items:flex-start !important;
        flex-direction:column !important;
    }

    .vm-admin-user-meta{
        grid-template-columns:1fr !important;
    }

    .vm-admin-user-actions{
        flex-direction:column !important;
    }
}

/* ADMIN-LOGS.PHP FINAL */
/* ADMIN-LOGS.PHP FINAL */
/* ADMIN-LOGS.PHP FINAL */

.vm-log-filter-final{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;

    padding:22px !important;
}

.vm-log-filter-final select{
    flex:1 !important;
    min-height:48px !important;

    border-radius:16px !important;

    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.13) !important;

    color:#fff !important;

    font-weight:900 !important;
}

.vm-log-filter-final button{
    min-height:48px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;

    padding:0 22px !important;

    white-space:nowrap !important;
}

.vm-log-entry-final{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 220px !important;
    gap:18px !important;

    padding:18px 22px !important;
    margin:0 0 12px !important;

    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:22px !important;

    background:
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
        rgba(7,13,34,.78) !important;

    box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
}

.vm-log-main-final{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:10px !important;

    min-width:0 !important;
}

.vm-log-main-final strong{
    display:inline-flex !important;
    align-items:center !important;

    padding:8px 12px !important;

    border-radius:999px !important;

    background:rgba(255,122,24,.16) !important;
    border:1px solid rgba(255,122,24,.28) !important;

    color:#fff !important;

    font-size:13px !important;
    font-weight:950 !important;
}

.vm-log-main-final span,
.vm-log-main-final small{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;

    padding:8px 12px !important;

    border-radius:999px !important;

    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.08) !important;

    color:rgba(255,255,255,.72) !important;

    font-size:13px !important;
    font-weight:800 !important;
}

.vm-log-meta-final{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;

    gap:8px !important;
}

.vm-log-meta-final span,
.vm-log-meta-final small{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;

    color:rgba(255,255,255,.68) !important;

    font-size:12px !important;
    font-weight:800 !important;
}

@media (max-width:900px){
    .vm-log-entry-final{
        grid-template-columns:1fr !important;
    }

    .vm-log-meta-final{
        align-items:flex-start !important;
    }

    .vm-log-filter-final{
        flex-direction:column !important;
        align-items:stretch !important;
    }
}

/* PROFILE.PHP - EDIT BUTTON TOP RIGHT */
/* PROFILE.PHP - EDIT BUTTON TOP RIGHT */
/* PROFILE.PHP - EDIT BUTTON TOP RIGHT */

.vm-profile-hero{
    position:relative !important;
}

.vm-profile-edit-btn{
    position:absolute !important;

    top:24px !important;
    right:24px !important;

    margin:0 !important;

    z-index:20 !important;
}

.vm-post-signature{
    margin-top:18px;
    padding-top:14px;

    border-top:1px solid rgba(255,255,255,.15);

    color:rgba(255,255,255,.85);
    font-size:.95rem;
}

/* BBCODE IMAGES */
/* BBCODE IMAGES */
/* BBCODE IMAGES */

.vm-bbcode-image {
    display: block;

    max-width: 100%;
    max-height: 750px;

    margin: 10px 0;

    border-radius: 14px;

    object-fit: contain;
}

.vm-post-signature .vm-bbcode-image {
    max-height: 120px;
}

.vm-bbcode-center {
    text-align: center;
}

/* SIGNATURE BBCODE TOOLBAR */
/* SIGNATURE BBCODE TOOLBAR */
/* SIGNATURE BBCODE TOOLBAR */

.vm-bbcode-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px !important;

    margin: 2px 0 10px;
}

.vm-bbcode-toolbar button {
    min-width: 38px;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 12px !important;

    padding: 2px 11px !important;

    background: rgba(255,255,255,.09) !important;
    color: #fff !important;

    font: inherit;
    font-weight: 900;

    cursor: pointer;

    box-shadow: none !important;
}

.vm-bbcode-toolbar button:hover {
    background: linear-gradient(135deg, #ff7a18, #ffb347) !important;
    color: #160900 !important;
    transform: translateY(-1px);
}

/* SIGNATURE BBCODE TOOLBAR */
/* SIGNATURE BBCODE TOOLBAR */
/* SIGNATURE BBCODE TOOLBAR */

.vm-form-card label + .vm-bbcode-toolbar {
    margin-top: -18px !important;
}

.vm-bbcode-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px !important;

    margin-bottom: 10px;
}


/* BBCODE CENTER BR FIX */
/* BBCODE CENTER BR FIX */
/* BBCODE CENTER BR FIX */

.vm-post-text strong:has(.vm-bbcode-center) + br {
    display: none !important;
}

.vm-post-text .vm-bbcode-center {
    display: block !important;
    text-align: center !important;


}

/* POST TEXT LINE HEIGHT */
/* POST TEXT LINE HEIGHT */
/* POST TEXT LINE HEIGHT */

.vm-post-text {
    line-height: 1.45 !important;
}

.vm-post-text br {
    line-height: 1.2 !important;
}

/* PARTNERS SETTINGS MODAL */
/* PARTNERS SETTINGS MODAL */
/* PARTNERS SETTINGS MODAL */

.vm-partners-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.vm-banner-settings-btn{
    height:40px;
    padding:0 16px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);

    cursor:pointer;

    color:#fff;
    font-weight:950;
    font-size:13px;
    letter-spacing:.01em;

    background:
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055)),
        rgba(8,18,44,.72);

    box-shadow:
        0 14px 34px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.10),
        0 0 24px rgba(47,140,255,.10);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    transition:.18s ease;
}

.vm-banner-settings-btn i{
    color:var(--vm-pro-orange, #ff7a18);
    font-size:14px;
}

.vm-banner-settings-btn:hover{
    transform:translateY(-2px);
    border-color:rgba(255,122,24,.34);

    background:
        linear-gradient(135deg, rgba(255,122,24,.18), rgba(47,140,255,.12)),
        rgba(8,18,44,.82);

    box-shadow:
        0 18px 42px rgba(0,0,0,.34),
        0 0 24px rgba(255,122,24,.16),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.vm-banner-settings-btn:active{
    transform:translateY(0);
}

.vm-banner-pass-modal{
    position:fixed;
    inset:0;

    display:none;
    align-items:center;
    justify-content:center;

    padding:18px;

    background:rgba(3,7,18,.76);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    z-index:99999;
}

.vm-banner-pass-modal.is-open {
    display: flex;
}

.vm-banner-pass-box {
    position: relative;

    width: min(430px, 100%);
    padding: 30px 28px 26px;

    border-radius: 26px;

    text-align: center;

    background:
        radial-gradient(circle at 20% 0%, rgba(255,122,24,.22), transparent 34%),
        radial-gradient(circle at 90% 100%, rgba(47,140,255,.24), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.055)),
        rgba(7,13,34,.96);

    border: 1px solid rgba(255,255,255,.14);

    box-shadow:
        0 24px 70px rgba(0,0,0,.46),
        inset 0 0 0 1px rgba(255,255,255,.06);
}

.vm-banner-pass-close {
    position: absolute;
    top: 14px;
    right: 14px;

    width: 36px;
    height: 36px;

    border: 0;
    border-radius: 999px;

    cursor: pointer;

    color: #fff;
    background: rgba(255,255,255,.09);
}

.vm-banner-pass-icon {
    width: 58px;
    height: 58px;

    margin: 0 auto 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 20px;

    color: #fff;

    background: linear-gradient(135deg, #ff7a18, #2f8cff);

    box-shadow: 0 14px 30px rgba(0,0,0,.28);
}

.vm-banner-pass-box h3 {
    margin: 0 0 8px;

    color: #fff;
    font-size: 22px;
}

.vm-banner-pass-box p {
    margin: 0 0 18px;

    color: rgba(255,255,255,.72);
    line-height: 1.5;
}

.vm-banner-pass-box form {
    display: grid;
    gap: 10px;
}

.vm-banner-pass-box input {
    height: 46px;
    padding: 0 16px;

    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.16);

    outline: none;

    color: #fff;
    background: rgba(255,255,255,.08);
}

.vm-banner-pass-box input::placeholder {
    color: rgba(255,255,255,.48);
}

.vm-banner-pass-box button[type="submit"] {
    height: 46px;

    border: 0;
    border-radius: 999px;

    cursor: pointer;

    color: #fff;
    font-weight: 900;

    background: linear-gradient(135deg, #ff7a18, #2f8cff);
}

.vm-banner-pass-error {
    display: none;

    margin-top: 12px;

    color: #ffb3b3;
    font-weight: 800;
}

.vm-banner-pass-error.is-visible {
    display: block;
}

@media (max-width: 700px) {
    .vm-partners-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* PARTNERS HEADER */
/* PARTNERS HEADER */
/* PARTNERS HEADER */

.vm-partners-title-wrap{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.vm-partners-brand{
    font-size:28px;
    font-weight:900;
    line-height:1;
}

.vm-partners-subtitle{
    margin:0 !important;
    font-size:14px;
    font-weight:700;
    opacity:.75;
    line-height:1;
}

@media (max-width:700px){

    .vm-partners-title-wrap{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    .vm-partners-subtitle{
        line-height:1.4;
    }
}

/* PARTNERS IMAGE BANNERS FIX */
/* PARTNERS IMAGE BANNERS FIX */
/* PARTNERS IMAGE BANNERS FIX */

.vm-partners-track .vm-partner-banner.vm-partner-banner-img {
    display: block !important;

    grid-template-columns: none !important;
    gap: 0 !important;

    padding: 0 !important;
    overflow: hidden !important;
}

.vm-partners-track .vm-partner-banner.vm-partner-banner-img img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: inherit !important;
}

/* REPORT-POST.PHP - POST PREVIEW */
/* REPORT-POST.PHP - POST PREVIEW */
/* REPORT-POST.PHP - POST PREVIEW */

.vm-report-preview {
    margin: 0 0 22px;
    padding: 18px;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.10),
            rgba(255,255,255,.035)
        );

    border: 1px solid rgba(255,255,255,.13);

    box-shadow:
        0 18px 38px rgba(0,0,0,.20);
}

.vm-report-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;

    margin-bottom: 14px;
    padding-bottom: 14px;

    border-bottom: 1px solid rgba(255,255,255,.12);
}

.vm-report-preview-head span {
    display: block;

    margin-bottom: 4px;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;

    color: rgba(255,255,255,.62);
}

.vm-report-preview-head strong {
    display: block;

    color: #fff;
    font-size: 16px;
    font-weight: 900;
}

.vm-report-preview-head a {
    flex-shrink: 0;

    padding: 9px 13px;

    border-radius: 999px;

    text-decoration: none;
    font-size: 13px;
    font-weight: 900;

    color: #fff;

    background:
        linear-gradient(135deg, rgba(255,122,24,.95), rgba(47,140,255,.85));

    box-shadow:
        0 10px 24px rgba(0,0,0,.25);

    transition: .25s;
}

.vm-report-preview-head a:hover {
    transform: translateY(-2px);
}

.vm-report-preview-body {
    max-height: 260px;
    overflow: auto;

    padding: 16px;

    border-radius: 16px;

    background: rgba(0,0,0,.18);

    color: rgba(255,255,255,.88);
    line-height: 1.65;
}

.vm-report-preview-body img {
    max-width: 100%;
    border-radius: 14px;
}

@media (max-width: 700px) {
    .vm-report-preview-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ADMIN-LOGS.PHP SELECT FIX */
/* ADMIN-LOGS.PHP SELECT FIX */
/* ADMIN-LOGS.PHP SELECT FIX */

.vm-log-filter select,
.vm-log-filter-final select,
form.vm-log-filter select,
form.vm-log-filter-final select {
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;

    color: #111 !important;
    -webkit-text-fill-color: #111 !important;

    background-color: #ffffff !important;
    background-image: none !important;

    border: 1px solid rgba(0,0,0,.25) !important;
}

.vm-log-filter select *,
.vm-log-filter-final select *,
.vm-log-filter select option,
.vm-log-filter-final select option,
form.vm-log-filter select option,
form.vm-log-filter-final select option {
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
    background-color: #ffffff !important;
}

/* SEARCH.PHP */
/* SEARCH.PHP */
/* SEARCH.PHP */

.vm-search-box{
    border-radius:999px;
    overflow:hidden;
}

.vm-search-box input{
    border-radius:999px;
}

.vm-search-box button{
    border-radius:999px;
}

.vm-search-box{
    display:flex;
    align-items:center;
    gap:10px;

    width:min(420px, 100%);

    padding:5px;

    border-radius:999px;

    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    box-shadow:
        0 12px 30px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.06);

    transition:.2s ease;
}

.vm-search-box:focus-within{
    border-color:rgba(47,140,255,.32);

    box-shadow:
        0 0 0 4px rgba(47,140,255,.08),
        0 14px 34px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.vm-search-box input{
    flex:1;

    width:100%;
    height:42px;

    border:0;
    outline:none;

    padding:0 16px;

    background:transparent;

    color:#fff;

    font-weight:700;
}

.vm-search-box input::placeholder{
    color:rgba(255,255,255,.52);
}

.vm-search-box button{
    flex:0 0 auto;

    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.12);

    background:rgba(255,255,255,.08);

    color:var(--vm-pro-blue);

    cursor:pointer;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 18px rgba(0,0,0,.18);

    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.vm-search-box button:hover{
    transform:translateY(-1px);

    background:rgba(47,140,255,.14);
    border-color:rgba(47,140,255,.28);

    color:#fff;

    box-shadow:
        0 0 20px rgba(47,140,255,.18),
        0 10px 22px rgba(0,0,0,.24);
}

.vm-search-box button:active{
    transform:translateY(0);
}

.vm-search-page{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.vm-search-summary{
    font-weight:800;
    color:rgba(255,255,255,.82);
}

.vm-search-results{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.vm-search-result{
    padding:16px 18px;
    border-radius:18px;

    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
}

.vm-search-result-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.vm-search-result-top a{
    color:#fff;
    font-weight:900;
    text-decoration:none;
}

.vm-search-result-top span{
    color:rgba(255,255,255,.65);
    font-size:13px;
    font-weight:800;
}

.vm-search-result p{
    margin:10px 0;

    color:rgba(255,255,255,.78);
    line-height:1.55;
}

.vm-search-meta{
    font-size:12px;
    color:rgba(255,255,255,.55);
    font-weight:800;
}

@media(max-width:700px){

    .vm-search-box{
        width:100%;
    }

}

/* SEARCH RESULTS */
/* SEARCH RESULTS */
/* SEARCH RESULTS */

.vm-search-summary{
    padding:12px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.11);
    font-weight:900;
}

.vm-search-results{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}

.vm-search-result{
    position:relative;
    overflow:hidden;
    padding:18px 20px 16px 22px;
    border-radius:22px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 14px 34px rgba(0,0,0,.18);
    transition:.25s;
}

.vm-search-result::before{
    content:"";
    position:absolute;
    left:0;
    top:14px;
    bottom:14px;
    width:4px;
    border-radius:999px;
    background:linear-gradient(180deg, var(--vm-orange), var(--vm-orange2));
}

.vm-search-result:hover{
    border-color:rgba(255,255,255,.22);
    background:
        linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.06));
}

.vm-search-result-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
}

.vm-search-result-top a{
    display:block;
    color:#fff;
    font-size:18px;
    line-height:1.25;
    font-weight:950;
    text-decoration:none;
}

.vm-search-result-top a:hover{
    color:var(--vm-orange2);
}

.vm-search-result-top span{
    flex:0 0 auto;
    max-width:220px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.11);
    color:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.vm-search-result p{
    margin:0 0 12px;
    color:rgba(255,255,255,.78);
    line-height:1.6;
    font-size:14px;
}

.vm-search-meta{
    display:flex;
    align-items:center;
    gap:7px;
    width:max-content;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(0,0,0,.16);
    color:rgba(255,255,255,.58);
    font-size:12px;
    font-weight:800;
}

.vm-search-meta i{
    color:var(--vm-orange2);
}

.vm-search-page .vm-empty{
    padding:18px 20px;
    border-radius:20px;
    background:rgba(255,255,255,.07);
    border:1px dashed rgba(255,255,255,.18);
    color:rgba(255,255,255,.75);
    font-weight:800;
}

@media(max-width:700px){
    .vm-search-result-top{
        flex-direction:column;
        gap:8px;
    }

    .vm-search-result-top span{
        max-width:100%;
    }

    .vm-search-result-top a{
        font-size:16px;
    }
}

/* SEARCH.PHP - CLEAN MODERN */
/* SEARCH.PHP - CLEAN MODERN */
/* SEARCH.PHP - CLEAN MODERN */

.vm-search-page{
    padding:24px !important;
    border-radius:24px !important;
    gap:16px !important;
}

.vm-search-page .vm-card-head{
    padding:0 !important;
    margin:0 0 18px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.vm-search-page .vm-card-head h1{
    margin:0 0 6px !important;
    font-size:29px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    color:#fff !important;
    letter-spacing:-.4px !important;
}

.vm-search-page .vm-card-head p{
    margin:0 !important;
    max-width:680px !important;
    font-size:14px !important;
    line-height:1.55 !important;
    color:rgba(255,255,255,.66) !important;
    font-weight:600 !important;
}

.vm-search-page > .vm-search-box{
    margin:0 0 18px !important;
    width:min(520px, 100%) !important;
}

.vm-search-page > .vm-search-box input{
    height:46px !important;
    padding:0 18px !important;

    background:rgba(255,255,255,.07) !important;
}

.vm-search-page > .vm-search-box button{
    width:46px !important;
    height:46px !important;

}

.vm-search-summary{
    margin:0 0 18px !important;
    padding:12px 16px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    color:rgba(255,255,255,.78) !important;
    font-size:14px !important;
    font-weight:850 !important;
}

.vm-search-results{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
}

.vm-search-result{
    position:relative !important;
    overflow:hidden !important;

    padding:18px 20px !important;
    border-radius:20px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.075),
            rgba(255,255,255,.04)
        ) !important;

    border:1px solid rgba(255,255,255,.105) !important;

    box-shadow:
        0 12px 28px rgba(0,0,0,.12) !important;

    transition:.22s ease !important;
}

.vm-search-result::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:18px !important;
    bottom:18px !important;
    width:3px !important;
    border-radius:999px !important;
    background:linear-gradient(180deg, var(--vm-orange), var(--vm-orange2)) !important;
    opacity:.85 !important;
}

.vm-search-result:hover{
    transform:translateY(-1px) !important;
    border-color:rgba(255,255,255,.16) !important;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.095),
            rgba(255,255,255,.05)
        ) !important;
}

.vm-search-result-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    margin-bottom:11px !important;
}

.vm-search-result-top a{
    min-width:0 !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:950 !important;
    text-decoration:none !important;
    letter-spacing:-.15px !important;
}

.vm-search-result-top a:hover{
    color:var(--vm-orange2) !important;
}

.vm-search-result-top span{
    flex:0 0 auto !important;
    max-width:230px !important;

    padding:6px 11px !important;
    border-radius:999px !important;

    background:rgba(255,255,255,.075) !important;
    border:1px solid rgba(255,255,255,.105) !important;

    color:rgba(255,255,255,.68) !important;
    font-size:11px !important;
    font-weight:900 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.vm-search-result p{
    margin:0 0 14px !important;
    max-width:880px !important;

    color:rgba(255,255,255,.66) !important;

    font-size:14px !important;
    line-height:1.6 !important;
    font-weight:500 !important;
}

.vm-search-meta{
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;

    padding:6px 10px !important;
    border-radius:999px !important;

    background:rgba(0,0,0,.16) !important;

    color:rgba(255,255,255,.58) !important;

    font-size:11px !important;
    font-weight:850 !important;
}

.vm-search-meta i{
    color:var(--vm-orange2) !important;
    font-size:11px !important;
}

.vm-search-page .vm-empty{
    padding:16px 18px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px dashed rgba(255,255,255,.16) !important;
    color:rgba(255,255,255,.68) !important;
    font-size:14px !important;
    font-weight:750 !important;
}

@media(max-width:700px){
    .vm-search-page{
        padding:20px !important;
        border-radius:22px !important;
    }

    .vm-search-page .vm-card-head h1{
        font-size:25px !important;
    }

    .vm-search-page > .vm-search-box{
        width:100% !important;
    }

    .vm-search-result{
        padding:17px 18px !important;
        border-radius:18px !important;
    }

    .vm-search-result-top{
        align-items:flex-start !important;
        flex-direction:column !important;
        gap:8px !important;
    }

    .vm-search-result-top a{
        font-size:17px !important;
    }

    .vm-search-result-top span{
        max-width:100% !important;
    }
}

/* BBCODE CODE - DŁUGIE LINIE */
/* BBCODE CODE - DŁUGIE LINIE */
/* BBCODE CODE - DŁUGIE LINIE */

.vm-bbcode-code{
    max-width:100% !important;
    min-width:0 !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    white-space:pre-wrap !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
}

.vm-bbcode-code code{
    display:block !important;
    max-width:100% !important;
    min-width:0 !important;

    white-space:pre-wrap !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
}

/* TOPBAR MOBILE FINAL LAYOUT */
/* TOPBAR MOBILE FINAL LAYOUT */
/* TOPBAR MOBILE FINAL LAYOUT */

@media screen and (max-width:980px){

    header.vm-topbar{
        display:grid !important;
        grid-template-columns:auto minmax(0, 1fr) !important;
        grid-template-areas:
            "logo nav"
            "search search"
            "user user" !important;

        height:auto !important;
        min-height:0 !important;
        padding:10px !important;
        gap:8px !important;

        overflow:hidden !important;
    }

    header.vm-topbar .vm-logo{
        grid-area:logo !important;
        min-width:0 !important;

        font-size:17px !important;
        white-space:nowrap !important;
    }

    header.vm-topbar nav{
        grid-area:nav !important;

        display:flex !important;
        justify-content:flex-end !important;
        flex-wrap:wrap !important;
        gap:6px !important;

        width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
    }

    header.vm-topbar nav a{
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;

        padding:7px 9px !important;
        font-size:11px !important;
        line-height:1.1 !important;

        white-space:nowrap !important;
        border-radius:999px !important;
    }

    header.vm-topbar > form,
    header.vm-topbar > .vm-search-box,
    header.vm-topbar > .vm-search,
    header.vm-topbar > .vm-header-search,
    header.vm-topbar > .vm-global-search{
        grid-area:search !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    header.vm-topbar input[type="search"],
    header.vm-topbar input[type="text"]{
        width:100% !important;
        min-width:0 !important;
    }

    header.vm-topbar .vm-userbox{
        grid-area:user !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        flex-wrap:wrap !important;
        gap:7px !important;

        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
    }

    header.vm-topbar .vm-userbox a,
    header.vm-topbar .vm-userbox small{
        padding:7px 10px !important;
        font-size:12px !important;
        line-height:1.1 !important;

        white-space:nowrap !important;
    }
}

@media screen and (max-width:520px){

    header.vm-topbar{
        grid-template-columns:1fr !important;
        grid-template-areas:
            "logo"
            "nav"
            "search"
            "user" !important;
    }

    header.vm-topbar .vm-logo{
        text-align:center !important;
    }

    header.vm-topbar nav{
        justify-content:center !important;
    }
}


/* FORUM.PHP - HEADER GAP FIX */
/* FORUM.PHP - HEADER GAP FIX */
/* FORUM.PHP - HEADER GAP FIX */

.vm-category > .vm-category-head.vm-topics-head + .vm-forum-row{
    margin-top: 10px !important;
}

.vm-banner-pass-modal.is-open{
    display:flex !important;
}

.vm-topic-row {
    cursor: pointer;
}

/* BBCODE YOUTUBE */
/* BBCODE YOUTUBE */
/* BBCODE YOUTUBE */

.vm-bbcode-youtube{
    width:100%;
    max-width:720px;
    aspect-ratio:16 / 9;
    margin:14px 0;
    border-radius:18px;
    overflow:hidden;
    background:#000;
    box-shadow:0 14px 34px rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.14);
}

.vm-bbcode-youtube iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

/* BUTTON FONT NORMALIZE */
/* BUTTON FONT NORMALIZE */
/* BUTTON FONT NORMALIZE */

button,
.vm-action-btn,
.vm-action-danger,
.vm-modbar button,
.vm-user-actions button,
.vm-report-actions button,
.vm-members-search button,
.vm-members-search a,
.vm-admin-alert a,
.vm-admin-edit-row button,
.vm-log-filter button,
.vm-form-card button,
.vm-auth button,
.vm-side-buttons button,
.vm-side-link-btn,
.vm-new-topic-btn {
    font-family: "Segoe UI", sans-serif !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.vm-footer{
    position: fixed !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 18px 22px !important;

    box-sizing: border-box !important;

    border-radius: 0 !important;

    background: rgba(5,8,22,.72) !important;

    color: var(--vm-muted) !important;

    border: 0 !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;

    box-shadow: 0 -18px 48px rgba(0,0,0,.38) !important;

    text-align: center !important;

    backdrop-filter: blur(26px) !important;
    -webkit-backdrop-filter: blur(26px) !important;

    z-index: 1000 !important;
}

body{
    padding-bottom: 82px !important;
}

/* =========================================================
   VM FORUM - GLASS HEADERS + SLIM SWEEP
   Wklej NA SAM DÓŁ style.css
   ========================================================= */

.vm-category-head,
.vm-side-head,
.vm-embed-head {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;

    background:
        radial-gradient(circle at 12% 20%, rgba(255, 136, 22, .16), transparent 36%),
        radial-gradient(circle at 88% 35%, rgba(47, 140, 255, .16), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,.045)),
        rgba(7, 13, 34, .78) !important;

    background-size: auto !important;
    background-position: center !important;
    animation: none !important;

    border: 1px solid rgba(255,255,255,.16) !important;
    border-bottom-color: rgba(255,255,255,.24) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -1px 0 rgba(255,255,255,.07),
        0 14px 34px rgba(0,0,0,.28),
        0 0 34px rgba(47,140,255,.08) !important;

    backdrop-filter: blur(18px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.25) !important;
}

/* statyczne szkło / poświata */
.vm-category-head::before,
.vm-side-head::before,
.vm-embed-head::before {
    content: "" !important;
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    z-index: 1 !important;
    pointer-events: none !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.20) 0%,
            rgba(255,255,255,.075) 34%,
            rgba(255,255,255,.018) 100%
        ),
        linear-gradient(
            90deg,
            rgba(255,122,24,.10),
            transparent 42%,
            rgba(52,245,197,.075),
            rgba(47,140,255,.09)
        ) !important;

    opacity: 1 !important;
}

/* ruchomy wąski błysk — tylko kategorie + embed */
.vm-category-head::after,
.vm-embed-head::after {
    content: "" !important;
    display: block !important;

    position: absolute !important;

    top: -80% !important;
    left: -90px;

    width: 46px !important;
    height: 260% !important;

    z-index: 4 !important;
    pointer-events: none !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            rgba(255,255,255,.22),
            rgba(255,255,255,.08),
            transparent
        ) !important;

    filter:
        blur(.15px)
        drop-shadow(0 0 12px rgba(255,255,255,.18)) !important;

    opacity: .95 !important;
    visibility: visible !important;

    transform: rotate(22deg);
    animation: vmHeaderSlimShine 4.8s ease-in-out infinite !important;
}

/* tekst zawsze nad warstwami */
.vm-category-head > *,
.vm-side-head > *,
.vm-embed-head > * {
    position: relative !important;
    z-index: 6 !important;
}

/* tekst */
.vm-category-head h2,
.vm-side-head h2,
.vm-embed-head h2 {
    color: #fff !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.08),
        0 10px 28px rgba(0,0,0,.38) !important;
}

.vm-category-head p,
.vm-side-head p,
.vm-embed-head p {
    color: rgba(255,255,255,.74) !important;
}

/* animacja błysku */
@keyframes vmHeaderSlimShine {
    0% {
        left: -90px;
        transform: rotate(22deg);
    }

    24% {
        left: -90px;
        transform: rotate(22deg);
    }

    58% {
        left: calc(100% + 90px);
        transform: rotate(22deg);
    }

    100% {
        left: calc(100% + 90px);
        transform: rotate(22deg);
    }
}

/* =========================================================
   VM LIVE PRESENTER - WIĘCEJ MIEJSCA NA POLSKIE ZNAKI
   Wklej NA SAM DÓŁ style.css
   ========================================================= */

.vm-live-presenter {
    min-height: 106px !important;
    padding-bottom: 24px !important;
    align-items: center !important;
}

.vm-live-presenter-text {
    min-width: 0 !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

.vm-live-presenter-text span {
    margin-bottom: 9px !important;
}

.vm-live-presenter-text strong {
    line-height: 1.22 !important;
    padding: 4px 0 6px !important;
}

/* Mobile */
@media (max-width: 640px) {
    .vm-live-presenter {
        min-height: 92px !important;
        padding-bottom: 22px !important;
    }

    .vm-live-presenter-text strong {
        line-height: 1.24 !important;
        padding: 4px 0 6px !important;
    }
}

/* =========================================================
   VM FORUM — POST REACTIONS
   ========================================================= */

.vm-post-reactions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    margin-bottom: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.vm-reaction-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .12);
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025)),
        rgba(9, 16, 38, .72);
    color: rgba(235, 242, 255, .68);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        opacity .16s ease;
}

.vm-reaction-btn i {
    font-size: 14px;
    line-height: 1;
}

.vm-reaction-count {
    min-width: 8px;
    font-size: 12px;
    font-weight: 800;
    color: rgba(235, 242, 255, .72);
}

.vm-reaction-btn:hover {
    transform: translateY(-1px);
    color: #ffffff;
    border-color: rgba(255, 255, 255, .24);
    background:
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
        rgba(12, 21, 50, .88);
}

.vm-reaction-btn:disabled {
    opacity: .55;
    cursor: wait;
    transform: none;
}

.vm-reaction-btn.is-active {
    color: #ffffff;
    border-color: rgba(255, 255, 255, .32);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.06) inset,
        0 10px 28px rgba(0,0,0,.22);
}

.vm-reaction-btn.is-active .vm-reaction-count {
    color: #ffffff;
}

/* Kolory konkretnych reakcji po kliknięciu */

.vm-reaction-heart.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.25), transparent 34%),
        linear-gradient(135deg, rgba(255, 70, 130, .95), rgba(190, 35, 90, .92));
    box-shadow: 0 0 22px rgba(255, 70, 130, .28);
}

.vm-reaction-like.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.24), transparent 34%),
        linear-gradient(135deg, rgba(55, 145, 255, .95), rgba(34, 90, 220, .92));
    box-shadow: 0 0 22px rgba(55, 145, 255, .25);
}

.vm-reaction-laugh.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.25), transparent 34%),
        linear-gradient(135deg, rgba(255, 190, 65, .96), rgba(255, 130, 35, .92));
    box-shadow: 0 0 22px rgba(255, 160, 45, .25);
}

.vm-reaction-sad.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.20), transparent 34%),
        linear-gradient(135deg, rgba(95, 150, 255, .92), rgba(88, 86, 210, .92));
    box-shadow: 0 0 22px rgba(95, 120, 255, .23);
}

.vm-reaction-angry.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), transparent 34%),
        linear-gradient(135deg, rgba(255, 88, 55, .96), rgba(180, 35, 45, .92));
    box-shadow: 0 0 22px rgba(255, 70, 45, .25);
}

@media (max-width: 700px) {
    .vm-post-reactions {
        gap: 7px;
    }

    .vm-reaction-btn {
        min-height: 32px;
        padding: 7px 10px;
    }
}

.vm-reaction-wow.is-active {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.28), transparent 34%),
        linear-gradient(135deg, rgba(230, 60, 255, .96), rgba(140, 35, 255, .94));
    box-shadow: 0 0 24px rgba(210, 55, 255, .32);
}

/* =========================================================
   VM FORUM — SHOUTBOX
   ========================================================= */

.vm-shoutbox {
    position: relative;
    overflow: hidden;
    margin-bottom: 18px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.14);
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 122, 24, .15), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(64, 145, 255, .16), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        rgba(7, 13, 34, .78);
    box-shadow:
        0 18px 45px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.vm-shoutbox-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 17px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.vm-shoutbox-head h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: 16px;
    color: #fff;
}

.vm-shoutbox-head h2 i {
    color: #ff7a18;
}

.vm-shoutbox-head p {
    margin: 4px 0 0;
    font-size: 12px;
    color: rgba(235,242,255,.62);
}

.vm-shoutbox-toggle {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.86);
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.vm-shoutbox-toggle:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.10);
    border-color: rgba(255,255,255,.24);
}

.vm-shoutbox-body {
    padding: 14px;
}

.vm-shoutbox.is-collapsed .vm-shoutbox-body {
    display: none;
}

.vm-shoutbox.is-collapsed .vm-shoutbox-toggle i {
    transform: rotate(180deg);
}

.vm-shoutbox-form {
    display: grid;
    grid-template-columns: 1fr 42px;
    gap: 9px;
    margin-bottom: 12px;
}

.vm-shoutbox-form input {
    width: 100%;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.13);
    background: rgba(3, 8, 24, .48);
    color: #fff;
    outline: none;
}

.vm-shoutbox-form input::placeholder {
    color: rgba(235,242,255,.45);
}

.vm-shoutbox-form input:focus {
    border-color: rgba(255,122,24,.55);
    box-shadow: 0 0 0 3px rgba(255,122,24,.12);
}

.vm-shoutbox-form button {
    width: 42px;
    height: 40px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, #ff7a18, #ff3d8d);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(255,90,60,.22);
}

.vm-shoutbox-login-note,
.vm-shoutbox-empty {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 13px;
    margin-bottom: 12px;
    border-radius: 16px;
    background: rgba(255,255,255,.045);
    color: rgba(235,242,255,.68);
    font-size: 13px;
}

.vm-shoutbox-list {
    display: grid;
    gap: 9px;
    max-height: var(--vm-shoutbox-list-max, 150px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scroll-behavior: smooth;
}

.vm-shoutbox-list::-webkit-scrollbar {
    width: 7px;
}

.vm-shoutbox-list::-webkit-scrollbar-track {
    background: rgba(255,255,255,.035);
    border-radius: 999px;
}

.vm-shoutbox-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.16);
    border-radius: 999px;
}

.vm-shoutbox-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,.26);
}

.vm-shout-message {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 10px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
        rgba(4, 10, 27, .46);
    border: 1px solid rgba(255,255,255,.075);
}

.vm-shout-avatar {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.14);
    flex-shrink: 0;
}

.vm-shout-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vm-shout-main {
    min-width: 0;
}

.vm-shout-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
}

.vm-shout-name {
    min-width: 0;
    max-width: 70%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.vm-shout-name:hover {
    text-decoration: underline;
}

.vm-shout-top time {
    flex-shrink: 0;
    font-size: 11px;
    color: rgba(235,242,255,.48);
}

.vm-shout-text {
    margin-top: 5px;
    color: rgba(245,248,255,.86);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.vm-shout-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
}

.vm-shout-reactions,
.vm-shout-tools {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.vm-shout-reactions form,
.vm-shout-tools form {
    margin: 0;
}

.vm-shout-react,
.vm-shout-tools button {
    min-width: 29px;
    height: 26px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.055);
    color: rgba(235,242,255,.66);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 11px;
    cursor: pointer;
    transition:
        transform .15s ease,
        background .15s ease,
        color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.vm-shout-react:hover,
.vm-shout-tools button:hover {
    transform: translateY(-1px);
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.10);
}

.vm-shout-react.is-active[data-reaction="like"] {
    color: #fff;
    border-color: rgba(70, 170, 255, .42);
    background: linear-gradient(135deg, rgba(45, 135, 255, .92), rgba(45, 95, 230, .88));
    box-shadow: 0 0 18px rgba(45, 135, 255, .22);
}

.vm-shout-react.is-active[data-reaction="dislike"] {
    color: #fff;
    border-color: rgba(255, 95, 95, .42);
    background: linear-gradient(135deg, rgba(255, 95, 70, .92), rgba(185, 40, 55, .88));
    box-shadow: 0 0 18px rgba(255, 80, 70, .20);
}

.vm-shout-react.is-disabled {
    cursor: default;
    opacity: .72;
}

.vm-shout-tools button {
    width: 26px;
    min-width: 26px;
    padding: 0;
}

.vm-shout-tools button:hover {
    color: #ffb3b3;
}

/* =========================================================
   VM SHOUTBOX — MEGA ŁADNE KOLORY NICKÓW + PREMIUM GLOW
   ========================================================= */

.vm-shout-name {
    font-weight: 900;
    letter-spacing: .2px;
}

/* OWNER — mocny czerwony neon */
.vm-shout-role-owner {
    color: #ff3b3b;
    text-shadow:
        0 0 4px rgba(255, 59, 59, .95),
        0 0 10px rgba(255, 59, 59, .70),
        0 0 20px rgba(255, 59, 59, .45),
        0 0 34px rgba(255, 0, 55, .30);
}

/* ADMIN — złoto-pomarańczowy glow */
.vm-shout-role-admin {
    color: #ff9d2e;
    text-shadow:
        0 0 4px rgba(255, 157, 46, .95),
        0 0 10px rgba(255, 122, 24, .75),
        0 0 20px rgba(255, 92, 20, .48),
        0 0 34px rgba(255, 160, 40, .30);
}

/* PREZENTER — green */
.vm-shout-role-presenter,
.vm-shout-role-prezenter {
    color: #86efac;
    text-shadow:
        0 0 4px rgba(134, 239, 172, .95),
        0 0 10px rgba(34, 197, 94, .75),
        0 0 20px rgba(22, 163, 74, .45),
        0 0 34px rgba(34, 197, 94, .28);
}

/* MODERATOR — elegancki biało-srebrny glow */
.vm-shout-role-moderator {
    color: #ffffff;
    text-shadow:
        0 0 4px rgba(255, 255, 255, .90),
        0 0 10px rgba(210, 225, 255, .60),
        0 0 20px rgba(160, 190, 255, .34),
        0 0 32px rgba(255, 255, 255, .22);
}

/* USER — delikatny jasny glow, żeby nie był płaski */
.vm-shout-role-user {
    color: rgba(232, 238, 255, .82);
    text-shadow:
        0 0 3px rgba(232, 238, 255, .35),
        0 0 9px rgba(120, 155, 255, .18);
}

@media (max-width: 700px) {
    .vm-shoutbox-head {
        padding: 13px 14px;
    }

    .vm-shoutbox-body {
        padding: 11px;
    }

    .vm-shoutbox-form {
        grid-template-columns: 1fr 40px;
    }

    .vm-shout-message {
        grid-template-columns: 34px 1fr;
        gap: 9px;
        padding: 9px;
    }

    .vm-shout-avatar {
        width: 34px;
        height: 34px;
    }

    .vm-shout-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .vm-shout-name {
        max-width: 100%;
    }

    .vm-shout-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }
}

/* =========================================================
   VM SHOUTBOX — reakcje przed datą, sama data ostatnia
   Bez zmiany HTML
   ========================================================= */

.vm-shout-message {
    position: relative;
}

.vm-shout-main {
    position: relative;
}

/* Robimy miejsce po prawej na: reakcje + data */
.vm-shout-top {
    position: relative;
    padding-right: 170px;
}

/* Nick ma nie wjeżdżać pod reakcje i datę */
.vm-shout-name {
    max-width: 100%;
}

/* Data jako ostatni element po prawej */
.vm-shout-top time {
    position: absolute;
    top: 1px;
    right: 0;
    width: 92px;
    text-align: right;
    white-space: nowrap;
}

/* Reakcje przed datą */
.vm-shout-reactions {
    position: absolute;
    top: -2px;
    right: 104px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* Dolny pasek zostaje tylko dla edycji/usuwania */
.vm-shout-bottom {
    justify-content: flex-end;
    margin-top: 7px;
}

/* Kompaktowe reakcje */
.vm-shout-react {
    min-width: 26px;
    height: 23px;
    padding: 0 7px;
    gap: 4px;
    font-size: 10px;
}

.vm-shout-react i {
    font-size: 10px;
}

.vm-shout-react span {
    font-size: 10px;
    font-weight: 800;
}

/* =========================================================
   VM SHOUTBOX — narzędzia + reakcje + data w jednej górnej linii
   Bez zmiany HTML
   ========================================================= */

.vm-shout-message {
    position: relative;
}

.vm-shout-main {
    position: relative;
}

/* Miejsce po prawej na: edycja/usuwanie + reakcje + data */
.vm-shout-top {
    position: relative;
    padding-right: 225px;
}

/* Nick nie wjeżdża pod prawą stronę */
.vm-shout-name {
    max-width: 100%;
}

/* Data jako ostatnia po prawej */
.vm-shout-top time {
    position: absolute;
    top: 2px;
    right: 0;
    width: 92px;
    text-align: right;
    white-space: nowrap;
}

/* Reakcje przed datą */
.vm-shout-reactions {
    position: absolute;
    top: -2px;
    right: 104px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* Ikonki edycji/usuwania przed reakcjami */
.vm-shout-tools {
    position: absolute;
    top: -2px;
    right: 172px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Dolny pasek nie potrzebuje już miejsca */
.vm-shout-bottom {
    height: 0;
    min-height: 0;
    margin-top: 0;
    justify-content: flex-end;
}

/* Kompaktowe reakcje */
.vm-shout-react {
    min-width: 25px;
    height: 22px;
    padding: 0 7px;
    gap: 4px;
    font-size: 10px;
}

.vm-shout-react i {
    font-size: 10px;
}

.vm-shout-react span {
    font-size: 10px;
    font-weight: 800;
}

/* Kompaktowe ikonki edycji/usuwania */
.vm-shout-tools button {
    width: 22px;
    min-width: 22px;
    height: 22px;
    padding: 0;
    border-radius: 999px;
    font-size: 10px;
    background: rgba(255,255,255,.055);
    color: rgba(235,242,255,.62);
}

.vm-shout-tools button i {
    font-size: 10px;
}

.vm-shout-tools button:hover {
    color: #fff;
    background: rgba(255,255,255,.11);
    border-color: rgba(255,255,255,.22);
}

/* =========================================================
   VM SHOUTBOX — akcje pod datą, kompaktowo, bez zmiany HTML
   ========================================================= */

.vm-shout-message {
    position: relative;
}

.vm-shout-main {
    position: relative;
}

/* W górze zostaje tylko nick + data */
.vm-shout-top {
    position: relative;
    padding-right: 112px;
}

/* Nick ma miejsce do daty */
.vm-shout-name {
    max-width: 100%;
}

/* Data w prawym górnym rogu */
.vm-shout-top time {
    position: absolute;
    top: 0;
    right: 0;
    width: 104px;
    text-align: right;
    white-space: nowrap;
}

/* Reakcje pod datą */
.vm-shout-reactions {
    position: absolute;
    top: 20px;
    right: 50px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Edycja/usuwanie obok reakcji, też pod datą */
.vm-shout-tools {
    position: absolute;
    top: 20px;
    right: 0;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Żeby treść nie właziła pod ikonki z prawej */
.vm-shout-text {
    padding-right: 132px;
}

/* Dolny pasek nie zajmuje miejsca */
.vm-shout-bottom {
    height: 0;
    min-height: 0;
    margin-top: 0;
    padding: 0;
    justify-content: flex-end;
}

/* Jeszcze bardziej kompaktowe reakcje */
.vm-shout-react {
    min-width: 23px;
    height: 20px;
    padding: 0 6px;
    gap: 3px;
    font-size: 10px;
}

.vm-shout-react i {
    font-size: 10px;
}

.vm-shout-react span {
    font-size: 10px;
    font-weight: 800;
}

/* Mini ikonki edycji/usuwania */
.vm-shout-tools button {
    width: 20px;
    min-width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 999px;
    font-size: 9px;
    background: rgba(255,255,255,.055);
    color: rgba(235,242,255,.62);
}

.vm-shout-tools button i {
    font-size: 9px;
}

.vm-shout-tools button:hover {
    color: #fff;
    background: rgba(255,255,255,.11);
    border-color: rgba(255,255,255,.22);
}

/* =========================================================
   VM SHOUTBOX — różne widoki: admin / właściciel / zwykły / gość
   ========================================================= */

/* Domyślnie: admin/moderator ma 2 ikonki po prawej, więc reakcje są przed nimi */
.vm-shout-reactions {
    right: 50px;
}

.vm-shout-tools {
    right: 0;
}

/* Jeśli są tylko jedne narzędzia, np. użytkownik usuwa swoją wiadomość,
   reakcje podchodzą bliżej prawej strony */
.vm-shout-bottom:has(.vm-shout-tools form:first-child:last-child) .vm-shout-reactions {
    right: 26px;
}

/* Jeśli nie ma żadnych ikonek edycji/usuwania,
   reakcje idą do samej prawej krawędzi */
.vm-shout-bottom:not(:has(.vm-shout-tools button)) .vm-shout-reactions {
    right: 0;
}

/* Jeśli nie ma narzędzi, ukryj pusty kontener, żeby nic nie łapał */
.vm-shout-tools:empty {
    display: none;
}

/* =========================================================
   VM SHOUTBOX — prosty pomarańczowy guzik wysyłania
   Hover: powiększa się TYLKO ikonka, nie cały guzik
   Wklej NA SAM DÓŁ CSS
   ========================================================= */

.vm-shoutbox-form button {
    width: 42px !important;
    height: 40px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 122, 24, .55) !important;

    background: linear-gradient(180deg, #ff9a2f, #ff7a18) !important;
    color: #fff !important;

    cursor: pointer !important;
    box-shadow:
        0 8px 18px rgba(255, 122, 24, .22),
        inset 0 1px 0 rgba(255,255,255,.25) !important;

    transform: none !important;
    transition:
        background .16s ease,
        box-shadow .16s ease,
        border-color .16s ease !important;
}

.vm-shoutbox-form button:hover {
    background: linear-gradient(180deg, #ffaa45, #ff811f) !important;
    border-color: rgba(255, 155, 55, .75) !important;
    box-shadow:
        0 8px 20px rgba(255, 122, 24, .30),
        inset 0 1px 0 rgba(255,255,255,.30) !important;

    transform: none !important;
}

.vm-shoutbox-form button:active {
    background: linear-gradient(180deg, #f07110, #d95f08) !important;
    box-shadow:
        0 4px 10px rgba(255, 122, 24, .18),
        inset 0 2px 4px rgba(0,0,0,.22) !important;

    transform: none !important;
}

.vm-shoutbox-form button i {
    display: inline-block !important;
    font-size: 14px !important;
    transition: transform .14s ease !important;
}

.vm-shoutbox-form button:hover i {
    transform: scale(1.22) !important;
}

.vm-shoutbox-form button:active i {
    transform: scale(1.05) !important;
}

.vm-shoutbox-form button i {
    transform: translateX(-1px) !important;
}

.vm-shoutbox-form button:hover i {
    transform: translateX(-1px) scale(1.22) !important;
}

.vm-shoutbox-form button:active i {
    transform: translateX(-1px) scale(1.05) !important;
}

/* =========================================================
   VM SHOUTBOX — KOLORY NICKÓW + ŁADNY, DELIKATNY GLOW
   ========================================================= */

.vm-shout-name {
    font-weight: 900;
    letter-spacing: .2px;
    line-height: 1.35;

    /* miejsce na delikatny glow, żeby nie był ucięty */
    padding: 1px 4px 2px 1px;
    margin: -1px -4px -2px -1px;
}

/* =========================================================
   VM SHOUTBOX — PREMIUM NICK COLORS + DEPTH GLOW
   Ładniejszy efekt bez ucinania cienia
   ========================================================= */

.vm-shout-name {
    font-weight: 900 !important;
    letter-spacing: .25px !important;
    line-height: 1.45 !important;

    /* zostaje ellipsis, ale robimy miejsce na glow */
    padding: 2px 5px 3px 1px !important;
    margin: -2px -5px -3px -1px !important;

    /* reset starego cienia */
    text-shadow: none !important;

    /* ważne: niech filtr może wyjść poza literki */
    isolation: isolate;
}

/* OWNER — czerwony tekst, ale glow ma depth: ciemny + rubin + złoto */
.vm-shout-role-owner {
    color: #ff4040 !important;
    text-shadow:
        0 1px 0 rgba(80, 0, 0, .90),
        0 2px 2px rgba(0, 0, 0, .55) !important;
    filter:
        drop-shadow(0 0 3px rgba(255, 40, 70, .55))
        drop-shadow(0 0 7px rgba(255, 122, 24, .25)) !important;
}

/* ADMIN — pomarańczowy tekst + złoty glow z głębią */
.vm-shout-role-admin {
    color: #ff9a2f !important;
    text-shadow:
        0 1px 0 rgba(90, 36, 0, .90),
        0 2px 2px rgba(0, 0, 0, .50) !important;
    filter:
        drop-shadow(0 0 3px rgba(255, 160, 45, .48))
        drop-shadow(0 0 7px rgba(255, 90, 20, .24)) !important;
}

/* PREZENTER — green + radio/electric depth */
.vm-shout-role-presenter,
.vm-shout-role-prezenter {
    color: #86efac !important;
    text-shadow:
        0 1px 0 rgba(0, 65, 25, .95),
        0 2px 2px rgba(0, 0, 0, .52) !important;
    filter:
        drop-shadow(0 0 3px rgba(134, 239, 172, .45))
        drop-shadow(0 0 7px rgba(34, 197, 94, .22)) !important;
}

/* MODERATOR — biały tekst + srebrno-niebieska poświata */
.vm-shout-role-moderator {
    color: #ffffff !important;
    text-shadow:
        0 1px 0 rgba(50, 60, 85, .90),
        0 2px 2px rgba(0, 0, 0, .55) !important;
    filter:
        drop-shadow(0 0 3px rgba(255, 255, 255, .34))
        drop-shadow(0 0 7px rgba(130, 170, 255, .18)) !important;
}

/* USER — subtelny, ale też z podwójnym drop-shadow jak reszta */
.vm-shout-role-user {
    color: rgba(226, 233, 255, .86) !important;
    text-shadow:
        0 1px 0 rgba(0, 0, 0, .65),
        0 2px 2px rgba(0, 0, 0, .42) !important;
    filter:
        drop-shadow(0 0 3px rgba(170, 190, 255, .24))
        drop-shadow(0 0 7px rgba(90, 125, 255, .14)) !important;
}

/* VM SHOUTBOX — nie ucinaj glow nicków */

.vm-shout-message,
.vm-shout-main,
.vm-shout-top {
    overflow: visible !important;
}

.vm-shoutbox-list {
    overflow-y: auto !important;
    overflow-x: visible !important;
    padding-right: 8px !important;
}

/* =========================================================
   VM FORUM — ANNOUNCEMENTS STRIP FINAL
   Dopasowane do szerokości i stylu .vm-breadcrumb
   ========================================================= */

.vm-announcements-strip {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;

    width: min(1260px, calc(100% - 44px));
    max-width: min(1260px, calc(100% - 44px));

    height: 40px;
    min-height: 40px;

    margin: -6px auto 4px;
    padding: 0;

    overflow: hidden;

    border-radius: 15px 15px 0 0;

    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
        linear-gradient(180deg, rgba(7, 21, 47, .86), rgba(5, 8, 22, .86));

    border: 1px solid rgba(255,255,255,.12);
    border-bottom: 0;

    box-shadow:
        0 12px 30px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.07);
}

.vm-announcements-strip ~ .vm-breadcrumb {
    position: relative;
    z-index: 50;
}

/* bez kolorowych pasków */
.vm-announcements-strip::before {
    display: none;
    content: none;
}

.vm-announcements-label {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    flex: 0 0 auto;

    height: 100%;
    min-width: 142px;
    padding: 0 14px 3px;

    color: rgba(255,255,255,.92);

    font-size: 14px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;

    background:
        linear-gradient(180deg, rgba(255,122,24,.18), rgba(255,122,24,.055));

    border-right: 1px solid rgba(255,255,255,.09);
}

.vm-announcements-label i {
    color: var(--vm-pro-orange, #ff7a18);
    font-size: 14px;

    filter:
        drop-shadow(0 0 5px rgba(255,122,24,.28))
        drop-shadow(0 2px 5px rgba(0,0,0,.28));
}

.vm-announcements-marquee {
    position: relative;
    z-index: 1;

    display: flex;
    align-items: center;

    flex: 1;
    min-width: 0;
    height: 100%;

    padding-bottom: 5px;

    overflow: hidden;
}

.vm-announcements-marquee::before,
.vm-announcements-marquee::after {
    content: "";

    position: absolute;
    top: 0;
    bottom: 10px;

    z-index: 3;

    width: 32px;

    pointer-events: none;
}

.vm-announcements-marquee::before {
    left: 0;
    background:
        linear-gradient(
            90deg,
            rgba(6, 13, 31, .92),
            rgba(6, 13, 31, 0)
        );
}

.vm-announcements-marquee::after {
    right: 0;
    background:
        linear-gradient(
            270deg,
            rgba(6, 13, 31, .92),
            rgba(6, 13, 31, 0)
        );
}

/*
   Stare klasyczne marquee:
   JS ustawia dystans i czas animacji,
   więc tempo jest stałe niezależnie od ilości tekstu.
*/
.vm-announcements-track {
    display: inline-flex;
    align-items: center;

    width: max-content;
    max-width: none;
    height: 100%;

    white-space: nowrap;

    animation-name: vmAnnouncementsClassicMarquee;
    animation-duration: var(--vm-announcements-duration, 90s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;

    will-change: transform;
}

.vm-announcements-marquee:hover .vm-announcements-track {
    animation-play-state: paused;
}

.vm-announcements-line {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    white-space: nowrap;
}

.vm-announcement-item {
    display: inline-flex;
    align-items: center;

    color: rgba(255,255,255,.92);

    font-size: 14px;
    font-weight: 800;
    line-height: 1;

    text-shadow: 0 2px 8px rgba(0,0,0,.24);
}

.vm-announcement-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: rgba(255,159,67,.90);

    font-size: 14px;
    line-height: 1;

    opacity: .95;

    filter:
        drop-shadow(0 0 5px rgba(255,122,24,.24))
        drop-shadow(0 2px 5px rgba(0,0,0,.24));
}

@keyframes vmAnnouncementsClassicMarquee {
    from {
        transform: translateX(var(--vm-announcements-start, 100%));
    }

    to {
        transform: translateX(calc(-1 * var(--vm-announcements-width, 100%)));
    }
}

/* TABLET */
@media (max-width: 900px) {
    .vm-announcements-strip {
        width: min(100%, calc(100% - 28px));
        max-width: min(100%, calc(100% - 28px));

        height: 38px;
        min-height: 38px;

        margin-top: -4px;
        margin-bottom: 4px;

        border-radius: 14px 14px 0 0;
        border-bottom: 0;
    }

    .vm-announcements-label {
        min-width: 126px;
        padding: 0 12px 9px;
        font-size: 9px;
    }

    .vm-announcements-marquee {
        padding-bottom: 9px;
    }

    .vm-announcements-marquee::before,
    .vm-announcements-marquee::after {
        bottom: 9px;
    }
}

/* MOBILE */
@media (max-width: 640px) {
    .vm-announcements-strip {
        width: 100%;
        max-width: 100%;

        height: 36px;
        min-height: 36px;

        margin: -2px auto 4px;

        border-radius: 14px 14px 0 0;
        border-bottom: 0;
    }

    .vm-announcements-label {
        min-width: 40px;
        padding: 0 12px 8px;
    }

    .vm-announcements-label span {
        display: none;
    }

    .vm-announcements-label i {
        font-size: 12px;
    }

    .vm-announcements-marquee {
        padding-bottom: 8px;
    }

    .vm-announcements-marquee::before,
    .vm-announcements-marquee::after {
        bottom: 8px;
    }

    .vm-announcement-item {
        font-size: 12px;
    }

    .vm-announcements-line {
        gap: 12px;
    }
}

/* MAŁE TELEFONY */
@media (max-width: 420px) {
    .vm-announcements-marquee::before,
    .vm-announcements-marquee::after {
        width: 20px;
    }
}

/* =========================================================
   VM AUTH — Turnstile / CAPTCHA
   ========================================================= */

.vm-auth .cf-turnstile {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 72px;
    margin: 18px 0 20px;
    padding: 12px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)),
        rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 12px 28px rgba(0,0,0,.18);
}

/* Cloudflare Turnstile generuje iframe — centrowanie na sztywno */
.vm-auth .cf-turnstile iframe {
    display: block !important;
    margin: 0 auto !important;
}

/* Trochę lepszy odstęp przed guzikiem */
.vm-auth .cf-turnstile + button {
    margin-top: 4px;
}

/* Mobile */
@media (max-width: 420px) {
    .vm-auth .cf-turnstile {
        padding: 10px 6px;
        margin: 16px 0 18px;
        overflow: hidden;
    }

    .vm-auth .cf-turnstile iframe {
        max-width: 100% !important;
    }
}

/* =========================================================
   VM — PASSWORD SECTION INSIDE CATEGORY
   ========================================================= */

.vm-password-section {
    overflow: hidden;
}

.vm-password-section .vm-alert,
.vm-password-section .vm-success {
    margin: 16px 20px 0;
}

.vm-password-form {
    padding: 20px;
    margin: 0;
}

.vm-password-form label {
    display: block;
    margin: 14px 0 7px;
    font-size: 13px;
    font-weight: 800;
    color: rgba(255,255,255,.88);
}

.vm-password-form input[type="password"] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.07);
    color: #fff;
    padding: 13px 15px;
    outline: none;
    font: inherit;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.vm-password-form input[type="password"]:focus {
    border-color: rgba(255,122,24,.55);
    box-shadow:
        0 0 0 3px rgba(255,122,24,.14),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.vm-password-form .vm-field-note {
    display: block;
    margin-top: 8px;
}

.vm-password-form .vm-form-actions {
    margin-top: 18px;
}

.vm-password-section .vm-form-card,
.vm-password-section .vm-password-form {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* =========================================================
   VM FORUM — PRZYPIĘTE ODPOWIEDZI
   ========================================================= */

.vm-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.vm-post-meta-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
}

.vm-post-pin-form {
    margin: 0 0 0 auto;
    padding: 0;
    flex: 0 0 auto;
}

.vm-post-pin-btn {
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
        rgba(255,255,255,.06);
    color: rgba(255,255,255,.62);
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 8px 18px rgba(0,0,0,.18);
    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.vm-post-pin-btn:hover {
    color: #ffb86c;
    border-color: rgba(255,122,24,.45);
    background:
        radial-gradient(circle at 50% 20%, rgba(255,122,24,.20), transparent 62%),
        rgba(255,255,255,.08);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 0 22px rgba(255,122,24,.18),
        0 10px 22px rgba(0,0,0,.22);
    transform: scale(1.06);
}

.vm-post-pin-btn:active {
    transform: scale(.96);
}

.vm-post-pin-btn.is-active {
    color: #ff7a18;
    border-color: rgba(255,122,24,.62);
    background:
        radial-gradient(circle at 50% 20%, rgba(255,122,24,.28), transparent 64%),
        rgba(255,122,24,.10);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12),
        0 0 26px rgba(255,122,24,.24),
        0 10px 24px rgba(0,0,0,.24);
}

.vm-post.is-pinned {
    position: relative;
    border-color: rgba(255,122,24,.42);
    background:
        radial-gradient(circle at 0% 0%, rgba(255,122,24,.16), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255,63,180,.11), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        rgba(7,13,34,.92);
    box-shadow:
        0 0 0 1px rgba(255,122,24,.12),
        0 0 34px rgba(255,122,24,.10),
        0 18px 46px rgba(0,0,0,.28);
}

.vm-post.is-pinned::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: inherit;
    background: linear-gradient(180deg, #ff7a18, #ff3fb4, #4091ff);
    box-shadow: 0 0 18px rgba(255,122,24,.35);
}

.vm-post-pinned-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(255,122,24,.30);
    background: rgba(255,122,24,.10);
    color: #ffbf86;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 0 18px rgba(255,122,24,.10);
}

.vm-post-pinned-label i {
    font-size: 10px;
}

@media (max-width: 700px) {
    .vm-post-meta {
        align-items: flex-start;
    }

    .vm-post-pin-btn {
        width: 28px;
        height: 28px;
    }

    .vm-post-pinned-label {
        font-size: 10px;
        padding: 4px 8px;
    }
}

.vm-post {
    scroll-margin-top: 120px;
}

.vm-search-highlight {
    display: inline;
    padding: 0 .16em;
    border-radius: 5px;
    background: rgba(255, 122, 24, .38);
    color: #fff;
    box-shadow: 0 0 14px rgba(255, 122, 24, .35);
}

.vm-role-bot {
    background: rgba(120, 90, 255, .18);
    color: #d9ccff;
    border-color: rgba(190, 165, 255, .28);
    box-shadow:
        0 0 22px rgba(120, 90, 255, .22),
        inset 0 1px 0 rgba(255,255,255,.10);
}

/* SHOUTBOX — większy avatar + odstęp od treści */

.vm-shout-message {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 11px;
    padding: 6px 8px;
}

.vm-shout-avatar {
    width: 46px;
    height: 46px;
}

.vm-shout-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vm-shout-avatar i {
    font-size: 18px;
}

/* BBCODE - MNIEJSZE ODSTĘPY POD CODE / QUOTE / YOUTUBE */

.vm-post-text .vm-bbcode-quote,
.vm-post-text .vm-bbcode-code,
.vm-post-text .vm-bbcode-youtube {
    margin-top: 8px;
    margin-bottom: 10px;
}

/* usuwa dodatkowe <br> generowane po blokach BBCode */
.vm-post-text .vm-bbcode-quote + br,
.vm-post-text .vm-bbcode-quote + br + br,
.vm-post-text .vm-bbcode-code + br,

.vm-post-text .vm-bbcode-youtube + br,
.vm-post-text .vm-bbcode-youtube + br + br {
    display: none;
}

/* gdy blok jest na samym początku posta */
.vm-post-text .vm-bbcode-quote:first-child,
.vm-post-text .vm-bbcode-code:first-child,
.vm-post-text .vm-bbcode-youtube:first-child {
    margin-top: 0;
}

/* MOVE TOPIC */

.vm-forum-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.vm-move-topic-btn {
    white-space: nowrap;
}

.vm-banner-pass-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
}

.vm-banner-pass-modal.is-open {
    display: flex;
}

.vm-banner-pass-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .66);
    backdrop-filter: blur(8px);
}

.vm-move-topic-box {
    position: relative;
    z-index: 2;
    width: min(620px, 100%);
    max-height: 88vh;
    overflow: auto;
}

.vm-move-topic-title {
    margin: 8px 0 16px;
    color: rgba(255, 255, 255, .72);
    text-align: center;
    font-weight: 700;
}

.vm-move-forum-list {
    display: grid;
    gap: 8px;
    margin: 18px 0;
}

.vm-move-forum-list h3 {
    margin: 14px 0 4px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}

.vm-move-forum-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .05);
    cursor: pointer;
}

.vm-move-forum-option:hover {
    background: rgba(255, 122, 24, .12);
    border-color: rgba(255, 122, 24, .28);
}

.vm-move-submit {
    width: 100%;
    justify-content: center;
}

.vm-move-topic-inline-form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.vm-move-topic-inline-form select {
    min-height: 38px;
    max-width: 240px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.vm-move-topic-inline-form option {
    color: #111;
}

/* Mały guzik przenoszenia obok daty */

.vm-topic-date-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: max-content;
}

.vm-topic-date-wrap .vm-forum-stats {
    margin: 0;
    flex: 0 0 auto;
}

.vm-topic-icon-btn {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    border: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #ff7a18, #ff3fb4);
    box-shadow:
        0 10px 22px rgba(255, 122, 24, .22),
        inset 0 1px 0 rgba(255, 255, 255, .22);
}

.vm-topic-icon-btn i {
    font-size: 13px;
}

.vm-topic-icon-btn:hover {
    transform: translateY(-1px);
    box-shadow:
        0 14px 28px rgba(255, 122, 24, .30),
        inset 0 1px 0 rgba(255, 255, 255, .28);
}

/* Mała ikonka przenoszenia tematu - bez zmiany okienka daty */

.vm-topic-row {
    position: relative;
    padding-right: 76px !important;
    overflow: visible;
}

.vm-topic-row .vm-forum-stats {
    flex-shrink: 0;
}

.vm-topic-icon-btn {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);

    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;

    border: 0;
    border-radius: 14px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    color: #fff;
    background: linear-gradient(135deg, #ff7a18, #ff3fb4);
    box-shadow:
        0 10px 22px rgba(255, 122, 24, .24),
        inset 0 1px 0 rgba(255, 255, 255, .25);

    z-index: 5;
}

.vm-topic-icon-btn i {
    font-size: 14px;
}

.vm-topic-icon-btn:hover {
    transform: translateY(-50%) scale(1.04);
}

/* wyłącz stare klasy, jeśli jeszcze zostały w CSS */
.vm-topic-date-tools,
.vm-topic-date-wrap,
.vm-topic-date-text {
    all: unset;
}

/* FIX: mała ikonka przenoszenia jako osobna kolumna */

.vm-topic-row.vm-forum-row {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) 110px 110px 44px !important;
    align-items: center !important;
    gap: 12px !important;
    padding-right: 18px !important;
    overflow: visible !important;
}



.vm-topic-icon-btn {
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;

    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;

    justify-self: center !important;
    align-self: center !important;

    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 16px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    cursor: pointer;
    color: rgba(255, 255, 255, .86);

    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .16), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .035));

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 10px 24px rgba(0, 0, 0, .18);

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.vm-topic-icon-btn i {
    font-size: 14px;
    opacity: .9;
}

.vm-topic-icon-btn:hover {
    transform: translateY(-1px) !important;
    color: #fff;

    border-color: rgba(255, 122, 24, .34) !important;

    background:
        radial-gradient(circle at 30% 20%, rgba(255, 122, 24, .22), transparent 36%),
        linear-gradient(135deg, rgba(255, 122, 24, .14), rgba(255, 63, 180, .10));

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .15),
        0 12px 26px rgba(255, 122, 24, .14),
        0 0 20px rgba(255, 63, 180, .08);
}

.vm-topic-icon-btn:active {
    transform: translateY(0) scale(.96) !important;
}

.vm-topic-icon-btn i {
    font-size: 14px;
}

.vm-topic-icon-btn:hover {
    transform: scale(1.04) !important;
}

/* wyłączenie starych kombinacji */
.vm-topic-date-tools {
    display: flex !important;
}

.vm-topic-date-text {
    display: contents !important;
}

/* DELETE ACCOUNT */

.vm-delete-account-section {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 65, 65, .35) !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at top left, rgba(255, 60, 60, .16), transparent 38%),
        radial-gradient(circle at bottom right, rgba(120, 20, 20, .22), transparent 44%),
        rgba(255, 255, 255, .035) !important;
    box-shadow:
        0 18px 45px rgba(0, 0, 0, .22),
        0 0 34px rgba(255, 60, 60, .10),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.vm-delete-account-section .vm-category-head {
    border-bottom: 1px solid rgba(255, 65, 65, .26) !important;
    background:
        radial-gradient(circle at top left, rgba(255, 65, 65, .46), transparent 44%),
        linear-gradient(135deg, rgba(210, 45, 55, .62), rgba(85, 28, 45, .50), rgba(40, 25, 45, .42)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 12px 28px rgba(255, 55, 55, .10) !important;
}

.vm-delete-account-section .vm-category-head h2 {
    color: #fff !important;
    text-shadow: 0 0 18px rgba(255, 60, 60, .32) !important;
}

.vm-delete-account-section .vm-category-head p {
    color: rgba(255, 220, 220, .82) !important;
}

.vm-delete-account-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 26px !important;
}

.vm-delete-warning {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 24px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid rgba(255, 65, 65, .34) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(135deg, rgba(180, 35, 45, .20), rgba(70, 25, 35, .22)) !important;
    color: #ffdada !important;
    box-shadow:
        0 10px 24px rgba(255, 60, 60, .09),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.vm-delete-account-form label:not(.vm-delete-confirm) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 9px 0 !important;
    color: #ffe0e0 !important;
    font-weight: 800 !important;
}

.vm-delete-account-form input[type="password"] {
    display: block !important;
    width: 100% !important;
    max-width: 460px !important;
    height: 46px !important;
    box-sizing: border-box !important;
    margin: 0 0 22px 0 !important;
    padding: 0 15px !important;
    border: 1px solid rgba(255, 65, 65, .35) !important;
    border-radius: 12px !important;
    background: rgba(0, 0, 0, .24) !important;
    color: #fff !important;
    font-size: 15px !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .06),
        0 0 0 0 rgba(255, 60, 60, 0) !important;
}

.vm-delete-account-form input[type="password"]:focus {
    border-color: rgba(255, 65, 65, .72) !important;
    box-shadow:
        0 0 0 4px rgba(255, 60, 60, .14),
        0 0 24px rgba(255, 60, 60, .12) !important;
    outline: none !important;
}

.vm-delete-confirm {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 22px 0 !important;
    padding: 16px 18px !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .045) !important;
    color: rgba(255, 235, 235, .90) !important;
    cursor: pointer !important;
    line-height: 1.45 !important;
}

.vm-delete-confirm:hover {
    border-color: rgba(255, 65, 65, .36) !important;
    background: rgba(255, 65, 65, .08) !important;
}

.vm-delete-confirm input {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #e0323f !important;
    cursor: pointer !important;
}

.vm-delete-confirm span {
    display: block !important;
}

.vm-delete-account-form .vm-form-actions {
    margin-top: 8px !important;
    padding-top: 0 !important;
}

.vm-danger-btn {
    margin-top: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background:
        linear-gradient(135deg, #d82432 0%, #f04444 55%, #b91f2d 100%) !important;
    color: #fff !important;
    font-weight: 900 !important;
    letter-spacing: .2px !important;
    box-shadow:
        0 14px 30px rgba(220, 40, 50, .32),
        0 0 28px rgba(255, 60, 60, .18),
        inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.vm-danger-btn i {
    color: #fff !important;
    margin-right: 8px !important;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, .22)) !important;
}

.vm-danger-btn:hover {
    transform: translateY(-1px) !important;
    background:
        linear-gradient(135deg, #f0343f 0%, #ff5555 55%, #c82333 100%) !important;
    box-shadow:
        0 18px 38px rgba(220, 40, 50, .38),
        0 0 34px rgba(255, 60, 60, .24),
        inset 0 1px 0 rgba(255, 255, 255, .34) !important;
}

.vm-danger-btn:active {
    transform: translateY(0) scale(.99) !important;
}

.vm-embed-frame,
.vm-embed-box iframe {
    background: #050816 !important;
}

.vm-attachment-upload {
    margin: 12px 0 18px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background:
        radial-gradient(circle at top left, rgba(255, 122, 24, .14), transparent 38%),
        rgba(255, 255, 255, .045);
}

.vm-attachment-upload input[type="file"] {
    width: 100%;
    padding: 12px;
    border: 1px dashed rgba(255, 255, 255, .22);
    border-radius: 14px;
    background: rgba(0, 0, 0, .18);
    color: #fff;
}

.vm-attachment-upload small {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
}

.vm-attachment-check {
    margin-top: 12px;
}

.vm-post-attachments {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .10);
}

.vm-post-attachments-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #ffd3ef;
    font-weight: 800;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.vm-post-attachments-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
}

.vm-post-attachment {
    min-height: 70px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 122, 24, .12), rgba(255, 63, 180, .10)),
        rgba(0, 0, 0, .18);
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.vm-post-attachment:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 122, 24, .38);
    background:
        linear-gradient(135deg, rgba(255, 122, 24, .20), rgba(255, 63, 180, .16)),
        rgba(0, 0, 0, .22);
}

.vm-post-attachment-image img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 10px;
    background: rgba(0, 0, 0, .25);
}

.vm-post-attachment-file {
    display: grid;
    grid-template-columns: 34px 1fr;
    column-gap: 10px;
    align-items: center;
}

.vm-post-attachment-file i {
    grid-row: span 2;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 122, 24, .18);
    color: #ffb36b;
}

.vm-post-attachment span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    font-size: 13px;
}

.vm-post-attachment small {
    display: block;
    margin-top: 4px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

.vm-bbcode-image {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
}

.vm-edit-attachment-item {
    position: relative;
}

.vm-edit-attachment-trash {
    position: absolute;
    right: 7px;
    bottom: 7px;

    width: 24px;
    height: 24px;
    min-width: 24px;
    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;

    color: rgba(255, 255, 255, .78);
    background: rgba(12, 10, 20, .72);
    box-shadow:
        0 4px 10px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .10);

    backdrop-filter: blur(8px);
    cursor: pointer;
    z-index: 5;

    transition:
        transform .14s ease,
        color .14s ease,
        border-color .14s ease,
        background .14s ease,
        box-shadow .14s ease;
}

.vm-edit-attachment-trash i {
    font-size: 11px;
    line-height: 1;
}

.vm-edit-attachment-trash:hover {
    color: #fff;
    border-color: rgba(255, 63, 180, .45);
    background:
        linear-gradient(135deg, rgba(255, 122, 24, .20), rgba(255, 63, 180, .18)),
        rgba(16, 12, 26, .86);
    box-shadow:
        0 5px 12px rgba(0, 0, 0, .32),
        0 0 10px rgba(255, 63, 180, .18);
    transform: translateY(-1px);
}

.vm-edit-attachment-trash:active {
    transform: translateY(0) scale(.96);
}

.vm-edit-attachment-trash.is-loading,
.vm-edit-attachment-trash:disabled {
    opacity: .5;
    pointer-events: none;
}

.vm-forum-info .vm-topic-preview {
    display: block !important;
    margin: 7px 0 8px !important;
    padding-left: 10px !important;

    border-left: 3px solid rgba(255, 122, 24, .75) !important;

    color: rgba(255, 255, 255, .66) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;

    white-space: normal !important;
    overflow: hidden !important;
}

.vm-forum-info .vm-topic-preview::before {
    content: "Treść: ";
    color: rgba(255, 122, 24, .95);
    font-weight: 900;
}

.vm-forum-info .vm-topic-preview {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;

    overflow: hidden !important;

    margin: 7px 0 8px !important;
    padding-left: 10px !important;

    border-left: 3px solid rgba(255, 122, 24, .75) !important;

    color: rgba(255, 255, 255, .66) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;

    white-space: normal !important;
}

.vm-forum-info .vm-topic-preview::before {
    content: "Treść: ";
    color: rgba(255, 122, 24, .95);
    font-weight: 900;
}

.vm-subforums-section {
    margin-bottom: 22px;
}

.vm-subforums-head h2 {
    display: flex;
    align-items: center;
    gap: 8px;
}

.vm-subforum-row {
    cursor: pointer;
}

.vm-subforum-row:hover {
    transform: translateY(-1px);
}

.vm-subforum-icon {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, .24), transparent 42%),
        linear-gradient(135deg, rgba(255, 122, 24, .95), rgba(255, 63, 180, .9)) !important;
    box-shadow:
        0 10px 24px rgba(255, 122, 24, .22),
        inset 0 1px 0 rgba(255, 255, 255, .28);
}

.vm-subforum-row .vm-forum-info h3 {
    display: flex;
    align-items: center;
    gap: 7px;
}

.vm-subforum-row .vm-forum-stats strong i {
    font-size: 16px;
}

.vm-subforum-delete-form {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.vm-subforum-delete-btn {
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, .22), transparent 42%),
        linear-gradient(135deg, rgba(255, 70, 70, .95), rgba(180, 20, 45, .95)) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow:
        0 10px 22px rgba(255, 70, 70, .22),
        inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

.vm-subforum-delete-btn:hover {
    transform: translateY(-1px) scale(1.03) !important;
    filter: brightness(1.08);
}

.vm-subforum-delete-btn:active {
    transform: translateY(0) scale(.98) !important;
}

.vm-forum-row[data-forum-url] {
    cursor: pointer;
}

.vm-forum-row[data-forum-url] button,
.vm-forum-row[data-forum-url] form {
    cursor: default;
}

.vm-forum-row[data-forum-url] button {
    cursor: pointer;
}