.admin { padding-bottom: 64px; }
.spread { justify-content: space-between; }
.table-scroll { overflow-x: auto; margin-top: 14px; }
table { width: 100%; border-collapse: collapse; font-size: var(--step--1); }
th { text-align: left; font-weight: 600; color: var(--muted); padding: 8px 10px; border-bottom: 1.5px solid var(--ink); }
td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
td .flag { font-size: 1.3rem; margin-right: 6px; }
td small { display: block; color: var(--muted); }
td select { min-width: 150px; padding: 7px 10px; font-size: var(--step--1); }
.probe { display: block; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.add-node { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.add-node summary { font-weight: 600; margin-bottom: 14px; }
.token-box { margin-top: 16px; padding: 14px; border: 1.5px dashed var(--route); border-radius: 10px; }
.token-box code { display: block; word-break: break-all; font-size: 0.85rem; }
.grant { display: flex; flex-wrap: wrap; gap: 6px; }
.grant select { width: auto; min-width: 0; padding: 6px 8px; font-size: var(--step--1); }
@media (max-width: 760px) { .grid3 { grid-template-columns: 1fr; } }
.edit-transports { margin-top: 8px; }
dialog { border: 1.5px solid var(--ink); border-radius: 16px; background: var(--paper); color: var(--ink); width: min(640px, calc(100% - 32px)); padding: 24px; }
dialog::backdrop { background: rgb(14 42 51 / 0.45); }
dialog h2 { font: 700 var(--step-1)/1.2 var(--display); margin: 0; }
.alert { margin: 0; padding: 14px 16px; border: 1.5px solid var(--bad); border-radius: 12px; color: var(--bad); font-weight: 600; background: var(--paper); }
