/* Brains over Bots partner portal: admin extras. Only what app.css does not have (it supplies .btn, .card, .field,
   .lbl, .badge, .muted, .page-title, .controls, .tablewrap, .tbl). Every class here starts with adm- . */

/* the Partners table: 14 columns, so it scrolls sideways inside .tablewrap */
.adm-partners .tbl { min-width: 1500px; }
.adm-summary { margin: 0; font: 500 13px/1.4 var(--mono, "Roboto Mono", ui-monospace, Consolas, monospace); }
.adm-note { margin: 0; font-size: 13.5px; }
.adm-filter { min-width: 260px; }
.adm-pending > td { background: rgba(191, 34, 62, .06); }
.adm-code { font: 600 13px/1.3 var(--mono, "Roboto Mono", ui-monospace, Consolas, monospace); }
.badge.adm-new { margin-left: 6px; background: var(--human, #BF223E); color: #fff; }
.adm-codecell .badge { margin-left: 6px; }
.adm-name { min-width: 190px; }
.adm-sub { font-size: 12.5px; color: var(--graphite, #5C5470); overflow-wrap: anywhere; }
.adm-wrap { overflow-wrap: anywhere; }
.adm-more { min-width: 160px; max-width: 280px; }
.adm-more summary { cursor: pointer; overflow-wrap: anywhere; }
.adm-full { margin-top: 6px; font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }

/* inputs inside the table (compact); app.css only styles the text-like ones and select */
.adm-in {
  width: auto; max-width: 100%; min-height: 34px; padding: 5px 8px; font: inherit; font-size: 14px; line-height: 1.3;
  color: var(--ink, #2C1751); background: var(--field, #F5F3EF); border: 1px solid rgba(44, 23, 81, .35); border-radius: 0;
}
.adm-num { width: 5.5rem; font-family: var(--mono, "Roboto Mono", ui-monospace, Consolas, monospace); text-align: right; }
.adm-in:focus-visible, .adm-filter:focus-visible { outline: 2px solid var(--ink, #2C1751); outline-offset: 1px; }

/* buttons: app.css gives .btn / .btn.small / .btn.secondary; these two are ours */
.btn.adm-danger { background: var(--human, #BF223E); border-color: var(--human, #BF223E); color: #fff; }
.btn.adm-danger:hover { background: #A21C34; color: #fff; }
.btn.adm-dirty { box-shadow: 0 0 0 2px var(--stone, #EEEBE6), 0 0 0 4px var(--human, #BF223E); }  /* unsaved edits in this row */
.adm-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.adm-actions { min-width: 230px; }

/* the Pay row, inside the Actions cell */
.adm-pay { display: none; margin-top: 10px; padding: 10px; gap: 10px; background: var(--field, #F5F3EF); border: 1px solid var(--hair, rgba(44, 23, 81, .16)); }
.adm-pay.adm-open { display: grid; }
.adm-pay .adm-in { width: 100%; }

/* the Admin tools cards */
.adm-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; align-items: end; }
.adm-form .adm-in { width: 100%; min-height: 42px; padding: 9px 10px; font-size: 15px; }
.adm-form .adm-num { text-align: left; }
.adm-result { grid-column: 1 / -1; min-height: 1.4em; margin: 0; font: 500 14px/1.4 var(--mono, "Roboto Mono", ui-monospace, Consolas, monospace); }
.adm-list { margin: 0; padding-left: 20px; }
.adm-list li + li { margin-top: 6px; }

/* the new password, over the page */
.adm-modal { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 16px; background: rgba(44, 23, 81, .55); }
.adm-modal .card { width: 100%; max-width: 460px; }
.adm-row { display: flex; gap: 10px; }
.adm-row .adm-in { flex: 1 1 auto; min-width: 0; min-height: 42px; }
.adm-temp { font-family: var(--mono, "Roboto Mono", ui-monospace, Consolas, monospace); font-size: 16px; letter-spacing: .04em; }

@media (max-width: 640px) {
  .adm-filter { min-width: 0; }
  .adm-row { flex-direction: column; }
}
