/* =========================================================
   KRUZIFIX UI v0.29 — INVITES / MEMBER PULSE / SUPPORT
   ========================================================= */

/* ---------- FORUM MEMBER PULSE ---------- */

.forum-member-pulse {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(190px, .7fr);
    gap: 7px;
    margin: 0 0 9px;
}

.forum-latest-members,
.forum-online-members {
    box-sizing: border-box;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid #292929;
    background: #010101;
}

.forum-latest-members {
    border-left: 3px solid #6d2b8f;
    box-shadow:
        inset 0 0 14px rgba(151, 72, 196, .035),
        0 0 8px rgba(151, 72, 196, .045);
}

.forum-online-members {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 2px 9px;
    align-items: center;

    border-left: 3px solid #2d8d47;

    color: #777 !important;
    text-decoration: none !important;

    box-shadow:
        inset 0 0 14px rgba(76, 200, 104, .035),
        0 0 8px rgba(76, 200, 104, .045);
}

.forum-pulse-title {
    color: #777;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .85px;
}

.forum-latest-members .forum-pulse-title {
    color: #b06bd4;
    text-shadow:
        0 0 5px rgba(176, 107, 212, .32);
}

.forum-online-members .forum-pulse-title {
    color: #61c979;
    text-shadow:
        0 0 5px rgba(97, 201, 121, .32);
}

.forum-online-members strong {
    grid-row: 1 / 3;
    grid-column: 2;
    color: #7fe494;
    font-size: 22px;
    line-height: 1;
    text-shadow:
        0 0 7px rgba(94, 221, 122, .28);
}

.forum-online-members small {
    color: #4f7859;
    font-size: 8px;
    letter-spacing: .45px;
}

.forum-online-members:hover {
    border-color: #356441;
    background: #010402;
}

.forum-latest-member-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 11px;
    margin-top: 5px;
}

.forum-latest-member-list > a {
    color: #999;
    font-size: 10px;
    text-decoration: none;
}

.forum-latest-member-list > a:hover {
    text-decoration: underline;
}

.forum-pulse-empty {
    display: block;
    margin-top: 5px;
    color: #444;
    font-size: 9px;
}

/* ---------- MEMBER DIRECTORY METADATA ---------- */

.members-online-filter-label {
    margin-left: 7px;
    color: #65c879;
    font-size: 9px;
    letter-spacing: .55px;
    text-shadow:
        0 0 5px rgba(101, 200, 121, .22);
}

.member-grid-registration,
.member-grid-inviter {
    color: #525252;
    font-size: 8px;
    line-height: 1.2;
}

.member-inviter-link {
    color: #858585 !important;
}

.member-inviter-none {
    color: #484848;
}

/* ---------- SUPPORT SIDEBAR ---------- */

.kruzifix-global-sidebar .support-sidebar-link {
    font-weight: 900;
    letter-spacing: .45px;
}

.kruzifix-global-sidebar .support-sidebar-link:hover {
    color: #d0d0d0 !important;
}

/* ---------- SUPPORT PAGE ---------- */

.support-page {
    min-width: 0;
}

.support-status-strip {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(135px, 1fr)
        );
    gap: 5px;
    margin: 0 0 8px;
}

.support-status-strip > span {
    padding: 6px 7px;
    border: 1px solid #252525;
    border-left: 2px solid #573128;
    background: #010101;
    color: #8a8a8a;
    font-size: 9px;
    line-height: 1.35;
}

.support-status-strip strong {
    display: block;
    color: #525252;
    font-size: 7px;
    letter-spacing: .7px;
}

.support-intro {
    margin: 0 0 9px !important;
    padding: 7px 8px;
    border: 1px solid #242424;
    background: #010101;
    color: #666;
    font-size: 10px;
    line-height: 1.45;
}

.support-panel {
    margin: 0 0 7px;
    border: 1px solid #282828;
    border-left: 3px solid #47312c;
    background: #010101;
}

.support-staff-queue {
    border-left-color: #7a315c;
}

.support-panel > summary {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 7px 31px 7px 9px;
    list-style: none;
    cursor: pointer;
    background: #020202;
}

.support-panel > summary::-webkit-details-marker {
    display: none;
}

.support-panel > summary::after {
    content: "+";
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    color: #7c2d2d;
    font-size: 14px;
    font-weight: 900;
}

.support-panel[open] > summary::after {
    content: "−";
}

.support-panel > summary > span {
    color: #aaa;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .7px;
}

.support-panel > summary > small {
    color: #515151;
    font-size: 8px;
    text-align: right;
}

.support-panel-body {
    padding: 8px;
    border-top: 1px solid #232323;
}

.support-ticket-form,
.support-reply-form {
    max-width: 880px !important;
}

.support-ticket-list {
    display: grid;
    gap: 5px;
}

.support-ticket-row {
    display: grid;
    grid-template-columns: minmax(110px, .65fr) minmax(0, 1.8fr) auto;
    gap: 8px;
    align-items: center;
    padding: 6px 7px;
    border: 1px solid #222;
    background: #000;
    color: #777 !important;
    text-decoration: none !important;
}

.support-ticket-row:hover {
    border-color: #5d2c2c;
    background: #030101;
}

.support-ticket-row span,
.support-ticket-row b {
    min-width: 0;
    overflow-wrap: anywhere;
}

.support-ticket-row b {
    color: #a0a0a0;
    font-size: 10px;
}

.support-ticket-row small {
    color: #474747;
    font-size: 8px;
    text-align: right;
}

.support-open-ticket {
    margin-top: 11px;
    padding: 9px;
    border: 1px solid #303030;
    border-left: 3px solid #7a315c;
    background: #010101;
}

.support-ticket-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 8px;
    padding-bottom: 7px;
    border-bottom: 1px dotted #292929;
}

.support-ticket-head h2 {
    margin: 0 0 3px !important;
    font-size: 13px !important;
}

.support-ticket-head p {
    margin: 0 !important;
    color: #606060;
    font-size: 9px;
}

.support-ticket-head > a {
    color: #666 !important;
    font-size: 9px;
    text-decoration: none !important;
}

.support-ticket-owner {
    margin: 0 0 7px !important;
    padding: 5px 6px;
    border: 1px solid #222;
    background: #000;
    font-size: 9px;
}

.support-message-thread {
    display: grid;
    gap: 6px;
    max-height: 64vh;
    overflow: auto;
    padding-right: 3px;
    margin-bottom: 8px;
}

.support-message {
    padding: 7px 8px;
    border: 1px solid #242424;
    border-left: 3px solid #3b3b3b;
    background: #000;
}

.support-role-moderator {
    border-left-color: #a04c78;
}

.support-role-admin {
    border-left-color: #a68427;
}

.support-message header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px dotted #242424;
}

.support-message header small {
    color: #4d4d4d;
    font-size: 8px;
}

.support-message > div {
    color: #aaa;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.support-staff-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.support-staff-actions form {
    margin: 0;
}

.support-staff-actions input[type="submit"] {
    cursor: pointer;
}

/* ---------- ADMIN ACCOUNT ATTRIBUTION / RENAME ---------- */

.admin-account-credit-tools {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 6px 0;
    padding: 6px;
    border: 1px dotted #292929;
    background: #010101;
}

/* ---------- LONG INVITES ---------- */

.invite-code,
.invite-code-value,
.generated-invite-area .invite-code {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

/* ---------- RESPONSIVE ---------- */

@media (max-width: 760px) {
    .forum-member-pulse {
        grid-template-columns: 1fr;
    }

    .support-ticket-row {
        grid-template-columns: 1fr;
    }

    .support-ticket-row small {
        text-align: left;
    }

    .support-ticket-head,
    .support-message header {
        flex-direction: column;
    }
}
