/* =========================================================
   BRILL VAULT — ADMIN CENTER
   ========================================================= */

#view-admin {
    --admin-bg: #090e15;
    --admin-panel: #0e151f;
    --admin-panel-2: #111a26;
    --admin-border: rgba(178,194,216,.11);
    --admin-border-strong: rgba(178,194,216,.18);
    --admin-text: #f1f4f8;
    --admin-muted: #758398;
    --admin-soft: #aab5c5;
    --admin-blue: #4c86ec;
    --admin-green: #4bd5a0;
    --admin-red: #ef6d75;
    --admin-gold: #d9b45e;
}

#adminNavItem {
    position: relative;
}

#adminNavItem::after {
    content: "OWNER";
    margin-left: auto;

    padding: 3px 6px;

    border: 1px solid rgba(216,180,94,.24);
    border-radius: 5px;

    color: #d9b45e;

    font-size: 7px;
    font-weight: 800;
    letter-spacing: .08em;
}

.bv-admin-shell {
    display: flex;
    flex-direction: column;

    gap: 18px;
}

.bv-admin-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;
}

.bv-admin-eyebrow {
    margin: 0 0 7px;

    color: #688dcc;

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

    letter-spacing: .18em;
    text-transform: uppercase;
}

.bv-admin-header h2 {
    margin: 0;

    color: var(--admin-text);

    font-size: 29px;
    font-weight: 650;

    letter-spacing: -.04em;
}

.bv-admin-header p {
    margin: 8px 0 0;

    color: var(--admin-muted);

    font-size: 10px;
}

.bv-admin-owner-badge {
    padding: 8px 11px;

    border: 1px solid rgba(216,180,94,.19);
    border-radius: 8px;

    background: rgba(216,180,94,.045);

    color: var(--admin-gold);

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

    letter-spacing: .12em;
}

.bv-admin-stats {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(140px,1fr));

    gap: 10px;
}

.bv-admin-stat {
    min-height: 93px;

    padding: 17px;

    border: 1px solid var(--admin-border);
    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(18,27,40,.96),
            rgba(10,16,24,.96)
        );
}

.bv-admin-stat span {
    display: block;

    color: var(--admin-muted);

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

    letter-spacing: .09em;
    text-transform: uppercase;
}

.bv-admin-stat strong {
    display: block;

    margin-top: 9px;

    color: var(--admin-text);

    font-size: 23px;
    font-weight: 620;

    letter-spacing: -.035em;
}

.bv-admin-toolbar {
    padding: 13px;

    display: flex;
    align-items: center;

    gap: 9px;

    border: 1px solid var(--admin-border);
    border-radius: 13px;

    background: var(--admin-panel);
}

.bv-admin-search {
    min-width: 0;

    flex: 1;
}

.bv-admin-search input {
    width: 100%;

    min-height: 42px;

    padding: 0 13px;

    border: 1px solid var(--admin-border);
    border-radius: 8px;

    outline: 0;

    background: #080d13;

    color: #e9edf3;

    font: inherit;
    font-size: 10px;
}

.bv-admin-search input:focus {
    border-color: rgba(76,134,236,.42);
}

.bv-admin-search input::placeholder {
    color: #576478;
}

.bv-admin-button {
    min-height: 42px;

    padding: 0 15px;

    border: 1px solid var(--admin-border);
    border-radius: 8px;

    background: #111925;

    color: #dbe2eb;

    cursor: pointer;

    font-size: 9px;
    font-weight: 700;
}

.bv-admin-button:hover {
    border-color: var(--admin-border-strong);

    background: #151f2c;
}

.bv-admin-button.primary {
    border-color: rgba(76,134,236,.35);

    background:
        linear-gradient(
            180deg,
            #3978e2,
            #2860b9
        );

    color: white;
}

.bv-admin-button.danger {
    border-color: rgba(239,109,117,.23);

    background: rgba(121,39,47,.12);

    color: #f39399;
}

.bv-admin-button.success {
    border-color: rgba(75,213,160,.20);

    background: rgba(40,122,90,.10);

    color: #69ddb0;
}

.bv-admin-button:disabled {
    opacity: .42;

    cursor: default;
}

.bv-admin-grid {
    display: grid;

    grid-template-columns:
        minmax(0,1.45fr)
        minmax(310px,.65fr);

    gap: 14px;

    align-items: start;
}

.bv-admin-panel {
    overflow: hidden;

    border: 1px solid var(--admin-border);
    border-radius: 14px;

    background: var(--admin-panel);
}

.bv-admin-panel-head {
    min-height: 61px;

    padding: 0 18px;

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

    gap: 15px;

    border-bottom: 1px solid var(--admin-border);
}

.bv-admin-panel-head h3 {
    margin: 0;

    color: #e9edf3;

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

.bv-admin-panel-head small {
    color: var(--admin-muted);

    font-size: 8px;
}

.bv-admin-table-wrap {
    overflow-x: auto;
}

.bv-admin-table {
    width: 100%;

    border-collapse: collapse;
}

.bv-admin-table th {
    height: 42px;

    padding: 0 13px;

    border-bottom: 1px solid var(--admin-border);

    color: #667389;

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

    letter-spacing: .09em;

    text-align: left;
    text-transform: uppercase;

    white-space: nowrap;
}

.bv-admin-table td {
    min-height: 55px;

    padding: 13px;

    border-bottom:
        1px solid rgba(178,194,216,.065);

    color: #cbd3de;

    font-size: 9px;

    white-space: nowrap;
}

.bv-admin-table tr:last-child td {
    border-bottom: 0;
}

.bv-admin-table tbody tr {
    cursor: pointer;

    transition:
        background .15s ease;
}

.bv-admin-table tbody tr:hover {
    background: rgba(255,255,255,.018);
}

.bv-admin-table tbody tr.selected {
    background: rgba(76,134,236,.055);
}

.bv-admin-user {
    display: flex;
    flex-direction: column;

    gap: 3px;
}

.bv-admin-user strong {
    color: #edf1f6;

    font-size: 10px;
    font-weight: 670;
}

.bv-admin-user small {
    color: #687589;

    font-size: 8px;
}

.bv-admin-tag {
    display: inline-flex;
    align-items: center;

    min-height: 22px;

    padding: 0 7px;

    border: 1px solid var(--admin-border);
    border-radius: 5px;

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

    color: #9ba7b8;

    font-size: 7px;
    font-weight: 750;
}

.bv-admin-tag.gold {
    border-color: rgba(216,180,94,.20);

    color: var(--admin-gold);
}

.bv-admin-tag.platinum {
    border-color: rgba(205,218,232,.19);

    color: #dae3ed;
}

.bv-admin-tag.standard {
    border-color: rgba(88,137,220,.19);

    color: #8db1ee;
}

.bv-admin-tag.owner {
    border-color: rgba(216,180,94,.20);

    background: rgba(216,180,94,.045);

    color: var(--admin-gold);
}

.bv-admin-tag.blocked {
    border-color: rgba(239,109,117,.20);

    background: rgba(239,109,117,.045);

    color: #ef858c;
}

.bv-admin-tag.active {
    border-color: rgba(75,213,160,.17);

    color: #70dcb2;
}

.bv-admin-empty {
    min-height: 220px;

    padding: 30px;

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

    color: #617085;

    font-size: 9px;

    text-align: center;
}

.bv-admin-client {
    padding: 19px;
}

.bv-admin-client-header {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 19px;
}

.bv-admin-avatar {
    width: 45px;
    height: 45px;

    flex: 0 0 45px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(76,134,236,.25);
    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #284d83,
            #162940
        );

    color: white;

    font-size: 15px;
    font-weight: 750;
}

.bv-admin-client-title {
    min-width: 0;

    flex: 1;
}

.bv-admin-client-title h3 {
    margin: 0;

    color: white;

    font-size: 15px;
    font-weight: 660;
}

.bv-admin-client-title p {
    margin: 4px 0 0;

    color: #69768a;

    font-size: 8px;

    word-break: break-all;
}

.bv-admin-balance {
    margin-bottom: 15px;

    padding: 15px;

    border: 1px solid var(--admin-border);
    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #101925,
            #0a1018
        );
}

.bv-admin-balance span {
    color: #6b788b;

    font-size: 8px;
}

.bv-admin-balance strong {
    display: block;

    margin-top: 6px;

    color: white;

    font-size: 22px;
    font-weight: 620;

    letter-spacing: -.035em;
}

.bv-admin-detail-row {
    min-height: 42px;

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

    gap: 18px;

    border-bottom:
        1px solid rgba(178,194,216,.065);
}

.bv-admin-detail-row span {
    color: #69768a;

    font-size: 8px;
}

.bv-admin-detail-row strong {
    max-width: 65%;

    color: #cbd3dd;

    font-size: 9px;
    font-weight: 620;

    text-align: right;
    word-break: break-word;
}

.bv-admin-subtitle {
    margin: 21px 0 10px;

    color: #69768a;

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

    letter-spacing: .11em;

    text-transform: uppercase;
}

.bv-admin-tier-buttons {
    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 6px;
}

.bv-admin-tier-button {
    min-height: 36px;

    border: 1px solid var(--admin-border);
    border-radius: 7px;

    background: #0a1018;

    color: #8693a5;

    cursor: pointer;

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

    letter-spacing: .06em;
}

.bv-admin-tier-button.active {
    border-color: rgba(76,134,236,.35);

    background: rgba(76,134,236,.10);

    color: #a9c4f1;
}

.bv-admin-client-actions {
    margin-top: 13px;

    display: grid;

    grid-template-columns: 1fr;

    gap: 7px;
}

/* transactions */

.bv-admin-transactions {
    max-height: 390px;

    overflow-y: auto;
}

.bv-admin-tx {
    padding: 13px 17px;

    display: grid;

    grid-template-columns:
        1fr auto;

    gap: 8px 18px;

    border-bottom:
        1px solid rgba(178,194,216,.065);
}

.bv-admin-tx:last-child {
    border-bottom: 0;
}

.bv-admin-tx strong {
    color: #dfe5ed;

    font-size: 9px;
}

.bv-admin-tx small {
    color: #687589;

    font-size: 7px;
}

.bv-admin-tx-amount {
    grid-row: 1 / span 2;
    grid-column: 2;

    align-self: center;

    font-size: 10px;
    font-weight: 700;
}

.bv-admin-tx-amount.credit {
    color: var(--admin-green);
}

.bv-admin-tx-amount.debit {
    color: #e3e7ed;
}

/* audit */

.bv-admin-audit {
    display: none;
}

.bv-admin-audit.open {
    display: block;
}

.bv-admin-audit-row {
    padding: 13px 17px;

    display: grid;

    grid-template-columns:
        145px 1fr 150px;

    gap: 15px;

    border-bottom:
        1px solid rgba(178,194,216,.065);

    font-size: 8px;
}

.bv-admin-audit-row:last-child {
    border-bottom: 0;
}

.bv-admin-audit-row strong {
    color: #cad3de;

    font-weight: 650;
}

.bv-admin-audit-row span {
    color: #718095;
}

.bv-admin-error {
    padding: 12px 15px;

    border: 1px solid rgba(239,109,117,.16);
    border-radius: 9px;

    background: rgba(120,42,50,.08);

    color: #e98c92;

    font-size: 9px;
}

.bv-admin-loading {
    padding: 22px;

    color: #657489;

    font-size: 9px;

    text-align: center;
}

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

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

@media (max-width: 650px) {
    .bv-admin-header {
        align-items: flex-start;
        flex-direction: column;
    }

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

    .bv-admin-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .bv-admin-audit-row {
        grid-template-columns: 1fr;
    }
}
