:root {
    color-scheme: light;
    --wallet-ink: #132235;
    --wallet-muted: #5f6d7d;
    --wallet-surface: #ffffff;
    --wallet-canvas: #f4f7fa;
    --wallet-accent: #0b6b58;
    --wallet-border: #dbe3ea;
}

* { box-sizing: border-box; }
body.wallet-admin-shell {
    margin: 0;
    min-height: 100vh;
    color: var(--wallet-ink);
    background: var(--wallet-canvas);
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
}
.wallet-admin-header {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem clamp(1rem, 4vw, 3rem);
    background: #102f3a;
    color: white;
}
.wallet-admin-brand { color: inherit; font-weight: 700; text-decoration: none; }
.wallet-admin-main { width: min(960px, calc(100% - 2rem)); margin: 2rem auto; }
.wallet-admin-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-block-end: 1rem; }
.wallet-admin-nav a { color: inherit; padding: .5rem .75rem; border: 1px solid var(--wallet-border); border-radius: .5rem; text-decoration: none; }
.wallet-admin-card {
    background: var(--wallet-surface);
    border: 1px solid var(--wallet-border);
    border-radius: 14px;
    padding: clamp(1rem, 4vw, 2rem);
    box-shadow: 0 8px 28px rgb(15 31 46 / 6%);
}
.wallet-admin-auth-card { max-width: 520px; margin-inline: auto; }
.wallet-admin-card form:not(.wallet-admin-target) { display: grid; gap: .75rem; }
.wallet-admin-card input[type="text"],
.wallet-admin-card input[type="password"] {
    min-height: 44px; border: 1px solid var(--wallet-border); border-radius: 8px; padding: .6rem .75rem;
}
.wallet-admin-muted, .wallet-admin-target span, .wallet-admin-target small { color: var(--wallet-muted); }
.wallet-admin-alert { border-inline-start: 4px solid #b42318; background: #fff3f2; padding: .8rem; margin-block: 1rem; }
.wallet-admin-empty { background: #edf4f7; padding: 1rem; border-radius: 8px; }
.wallet-admin-targets { display: grid; gap: .75rem; }
.wallet-admin-target { display: grid; grid-template-columns: 1fr auto; gap: .25rem .7rem; align-items: center; border: 1px solid var(--wallet-border); padding: .9rem; border-radius: 10px; }
.wallet-admin-target span, .wallet-admin-target small { grid-column: 1; }
.wallet-admin-target button { grid-column: 2; grid-row: 1 / span 3; }
.wallet-admin-kicker { color: var(--wallet-accent); font-weight: 700; letter-spacing: .05em; }
.wallet-admin-context { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .65rem 1rem; }
.wallet-admin-context dt { font-weight: 700; }
.wallet-admin-context dd { margin: 0; overflow-wrap: anywhere; }
.btn { min-height: 40px; border: 0; border-radius: 8px; padding: .55rem 1rem; cursor: pointer; text-decoration: none; }
.btn-primary { color: white; background: var(--wallet-accent); }
.btn-secondary { color: var(--wallet-ink); background: white; }

.wallet-security { display: grid; place-items: start center; }
.wallet-security-card {
    width: min(100%, 42rem);
    display: grid;
    gap: 1rem;
    background: var(--wallet-surface);
    border: 1px solid var(--wallet-border);
    border-radius: 14px;
    padding: clamp(1rem, 4vw, 2rem);
}
.wallet-security-qr { display: grid; justify-items: center; gap: .75rem; text-align: center; }
.wallet-security-qr img {
    width: min(18rem, 78vw);
    height: auto;
    background: #fff;
    border: 1px solid var(--wallet-border);
    border-radius: .75rem;
    padding: .75rem;
}
.wallet-security-reference { color: var(--wallet-muted); font-variant-numeric: tabular-nums; }

@media (max-width: 520px) {
    .wallet-admin-main { margin-block: 1rem; }
    .wallet-admin-context { grid-template-columns: 1fr; }
    .wallet-admin-context dd { margin-block-end: .5rem; }
}
