/* Admin area (Officer+) and shared rank badges. */

.admin-panel {
    margin-top: 36px;
}
.admin-panel .panel-heading h1 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.35rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.admin-panel .panel-heading h1 .icon {
    color: #d8763f;
}
.admin-filter {
    display: flex;
    gap: 6px;
}
.admin-filter a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 6px 14px;
    border: 1px solid #6b4b3155;
    border-radius: 2px;
    font: 500 .74rem/1.2 var(--heading-font);
    text-transform: uppercase;
    letter-spacing: .05em;
}
.admin-filter a:hover {
    text-decoration: none;
    background: #3a1a1255;
}
.admin-filter a[aria-current='page'] {
    color: #ffe3b0;
    background: linear-gradient(#8a1a12, #4a0a07);
    border-color: #b2583c;
}
.count-badge {
    display: inline-grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 4px;
    border-radius: 10px;
    background: #c2331f;
    color: #fff;
    font: 700 .7rem/1 var(--body-font);
    box-shadow: 0 0 8px #e0401f88;
}

/* ---------- table ---------- */
.admin-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
    font-size: 1rem;
}
.admin-table th {
    padding: 12px 14px;
    text-align: left;
    color: var(--gold);
    font: 600 .7rem/1.2 var(--heading-font);
    text-transform: uppercase;
    letter-spacing: .08em;
    border-bottom: 1px solid #6b4b3188;
}
.admin-table td {
    padding: 12px 14px;
    vertical-align: middle;
    border-bottom: 1px solid #5a473233;
}
.admin-table tbody tr:hover {
    background: #7a24140f;
}
.admin-table tr.is-pending {
    background: linear-gradient(90deg, #8a3a1422, transparent 60%);
}
.admin-table tr.is-pending td:first-child {
    box-shadow: inset 3px 0 0 #d8763f;
}
.admin-table tr.is-inactive {
    opacity: .55;
}
.member-name {
    display: block;
    color: #f3e6cf;
    font-size: 1.08rem;
}
.member-email {
    display: block;
    color: var(--muted);
    font-size: .9rem;
}
.muted {
    color: var(--muted);
}
.admin-actions {
    text-align: right;
    white-space: nowrap;
}
.admin-actions form {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 8px;
    vertical-align: middle;
}
.admin-actions select {
    min-height: 34px;
    padding: 4px 8px;
    background: linear-gradient(125deg, #151817, #080a0a);
    color: var(--text);
    border: 1px solid #625b4e;
    border-radius: 3px;
    font: inherit;
    font-size: .95rem;
}
.admin-actions .button--small {
    min-height: 34px;
}
.link-button--danger {
    min-height: 34px;
    padding: 4px 6px;
    color: #f08a74;
    font: 500 .72rem/1.2 var(--heading-font);
    text-transform: uppercase;
    letter-spacing: .05em;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.link-button--danger:hover {
    color: #ffb4a2;
    text-decoration: underline;
}

/* ---------- rank badges (placeholder styling until Codex delivers badge art) ---------- */
.rank {
    display: inline-block;
    padding: 3px 10px;
    border: 1px solid #6b5a45;
    border-radius: 2px;
    background: linear-gradient(#2a241e, #15120f);
    color: #e3d3b8;
    font: 600 .66rem/1.3 var(--heading-font);
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 #ffffff14, 0 1px 2px #000;
}
.rank--guild-master {
    border-color: #e0b35c;
    background: linear-gradient(#7a5418, #3d2808);
    color: #ffe7b0;
    box-shadow: inset 0 1px 0 #ffffff33, 0 0 10px #e0b35c55;
}
.rank--officer {
    border-color: #c0573f;
    background: linear-gradient(#8e1d14, #4a0906);
    color: #ffe2cc;
}
.rank--raid-leader {
    border-color: #c8763c;
    background: linear-gradient(#7a3a12, #3b1a07);
    color: #ffdcbc;
}
.rank--raider {
    border-color: #a0603c;
    background: linear-gradient(#55251a, #2a110b);
}
.rank--member, .rank--alt {
    border-color: #7d6a52;
}
.rank--initiate {
    border-color: #5f7d62;
    background: linear-gradient(#233323, #111a11);
    color: #d6ead3;
}
.rank--guest {
    border-color: #d8763f;
    background: linear-gradient(#4a2410, #241006);
    color: #ffd2b0;
}
.rank--inactive {
    margin-left: 6px;
    border-color: #555;
    color: #aaa;
}

/* ---------- rename ---------- */
.member-previous {
    display: block;
    color: #c99b62;
    font-size: .88rem;
    font-style: italic;
}
.rename {
    display: inline-block;
    position: relative;
    margin-left: 8px;
    vertical-align: middle;
}
.rename summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 4px 6px;
    color: var(--gold);
    font: 500 .72rem/1.2 var(--heading-font);
    text-transform: uppercase;
    letter-spacing: .05em;
    cursor: pointer;
}
.rename summary::-webkit-details-marker {
    display: none;
}
.rename[open] summary {
    color: #ffe3b0;
}
.rename-form {
    position: absolute;
    z-index: 5;
    right: 0;
    top: calc(100% + 6px);
    display: flex !important;
    gap: 6px;
    margin: 0 !important;
    padding: 12px;
    background: #121110;
    border: 1px solid #7d5c3d;
    box-shadow: 0 10px 24px #000c;
}
.rename-form input {
    width: 130px;
    min-height: 34px;
}

.member-discord {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #a3adff;
    font-size: .9rem;
}
.member-discord .discord-warning {
    color: #e8c070;
}

.admin-filter form {
    margin: 0 0 0 10px;
}
.member-sync-error {
    display: block;
    font-size: .85rem;
}
