/* ==========================================================
   JPB FOOD REVIEW - ADMIN USER MANAGEMENT
   ========================================================== */

.admin-user-summary {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}

.admin-user-summary article {
    padding:17px;
    border:1px solid #343c3c;
    border-radius:9px;
    background:linear-gradient(145deg,#1b2020,#101414);
}

.admin-user-summary span,
.admin-user-summary small {
    display:block;
    color:#7e8987;
    font-size:9px;
}

.admin-user-summary strong {
    display:block;
    margin:5px 0;
    color:#eee9d3;
    font:700 22px Georgia,serif;
}

.admin-user-search {
    margin-bottom:18px;
    padding:18px;
    border:1px solid #353d3d;
    border-radius:10px;
    background:#121717;
}

.admin-user-search label {
    display:block;
    margin-bottom:8px;
    color:#aaa;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.admin-user-search form > div {
    display:flex;
    gap:8px;
}

.admin-user-search input {
    flex:1;
    min-width:0;
    padding:12px 14px;
    border:1px solid #465050;
    border-radius:7px;
    background:#090d0d;
    color:#eee;
    font-size:14px;
}

.admin-user-search button,
.admin-user-search a,
.admin-user-panel button {
    padding:11px 15px;
    border:0;
    border-radius:7px;
    background:#d85c25;
    color:#fff;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
}

.admin-user-search a {
    display:flex;
    align-items:center;
    background:#303738;
}

.admin-user-message {
    margin-bottom:18px;
    padding:13px 16px;
    border:1px solid #536b60;
    border-radius:8px;
    background:#16241f;
    color:#9fe2bd;
}

.admin-user-card {
    margin-bottom:22px;
    overflow:hidden;
    border:1px solid #384040;
    border-radius:12px;
    background:#101515;
    box-shadow:0 12px 30px #0005;
}

.admin-user-card-head {
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 20px;
    border-bottom:1px solid #303838;
    background:linear-gradient(#1d2323,#151a1a);
}

.admin-user-avatar {
    width:58px;
    height:58px;
    border:2px solid #d85c25;
    border-radius:50%;
    object-fit:cover;
    background:#fff;
}

.admin-user-identity {
    min-width:0;
    flex:1;
}

.admin-user-identity small {
    color:#d85c25;
    font-size:8px;
    font-weight:900;
    letter-spacing:.14em;
}

.admin-user-identity h2 {
    margin:3px 0;
    color:#f0ebd7;
    font-size:20px;
}

.admin-user-identity p {
    margin:0;
    color:#84908d;
    overflow-wrap:anywhere;
}

.admin-user-badges {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}

.admin-user-badges span {
    padding:5px 8px;
    border-radius:999px;
    background:#2b3333;
    color:#bbb;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.admin-user-badges .admin-badge {
    background:#803d1c;
    color:#ffd9c5;
}

.admin-user-badges .premium-premium {
    background:#765e12;
    color:#fff3ae;
}

.admin-user-badges .status-active {
    background:#184c31;
    color:#9ae7b9;
}

.admin-user-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.admin-user-panel {
    padding:20px;
    border-right:1px solid #293131;
    border-bottom:1px solid #293131;
}

.admin-user-panel h3 {
    margin:0 0 13px;
    color:#eee8d2;
    font-size:13px;
}

.admin-subheading {
    margin-top:25px !important;
}

.admin-user-panel dl {
    margin:0;
}

.admin-user-panel dl > div {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:8px 0;
    border-bottom:1px solid #252c2c;
}

.admin-user-panel dt {
    color:#7e8987;
}

.admin-user-panel dd {
    margin:0;
    color:#e5e0cf;
    text-align:right;
}

.admin-help {
    color:#788482;
    font-size:10px;
    line-height:1.5;
}

.admin-inline-form,
.admin-membership-form,
.admin-note-form {
    display:grid;
    gap:9px;
}

.admin-inline-form {
    grid-template-columns:1fr auto;
}

.admin-user-panel select,
.admin-user-panel input,
.admin-user-panel textarea {
    width:100%;
    box-sizing:border-box;
    padding:10px 11px;
    border:1px solid #414a4a;
    border-radius:6px;
    background:#090d0d;
    color:#e9e4d3;
    font:inherit;
}

.admin-membership-form label {
    display:grid;
    gap:5px;
    color:#84908d;
    font-size:9px;
    font-weight:700;
}

.current-membership {
    display:grid;
    gap:3px;
    margin-bottom:14px;
    padding:12px;
    border:1px solid #645928;
    border-radius:7px;
    background:#27220f;
}

.current-membership strong {
    color:#fff0a8;
}

.current-membership span,
.current-membership small {
    color:#a99f72;
}

.free-membership {
    border-color:#384242;
    background:#181e1e;
}

.free-membership strong {
    color:#ddd8c7;
}

.admin-success {
    background:#217148 !important;
}

.admin-danger {
    background:#862f2b !important;
}

button:disabled {
    opacity:.55;
    cursor:not-allowed;
}

.admin-note-list {
    display:grid;
    gap:8px;
    margin-bottom:14px;
}

.admin-note-list article {
    padding:10px;
    border:1px solid #303838;
    border-radius:6px;
    background:#0c1010;
}

.admin-note-list header {
    color:#d85c25;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}

.admin-note-list p {
    margin:6px 0;
    color:#d7d2c4;
    line-height:1.4;
}

.admin-note-list small {
    color:#687471;
}

.admin-user-empty {
    padding:40px;
    border:1px solid #343c3c;
    border-radius:10px;
    text-align:center;
    background:#121717;
}

@media(max-width:900px) {

    .admin-user-summary {
        grid-template-columns:repeat(2,1fr);
    }

    .admin-user-grid {
        grid-template-columns:1fr;
    }

    .admin-user-panel {
        border-right:0;
    }
}

@media(max-width:600px) {

    .admin-user-card-head {
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .admin-user-badges {
        width:100%;
        justify-content:flex-start;
    }

    .admin-user-search form > div {
        flex-wrap:wrap;
    }

    .admin-user-search input {
        flex-basis:100%;
    }

    .admin-user-summary {
        grid-template-columns:repeat(2,1fr);
    }

    .admin-inline-form {
        grid-template-columns:1fr;
    }
}
