/*
 * File: services/pbx/web/pbx-admin/admin.css
 * Purpose: The pbx-admin console's own styles (tabs, filters, tables, the hand-over link), on top of ../portal.css.
 * Invariants & gotchas:
 *   - Served from /pbx-admin/ with no-store, unlike /portal.css (cached an hour), so a deploy's layout is never stale.
 *   - style-src 'self': no inline styles anywhere in the console; every style lives here or in portal.css.
 * Last updated: Sprint 9 (2026-10-19) -- the Catalogue tab's tables scroll; .early-badge
 */
.tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; border-bottom: 1px solid #d8dde6; }
.tab-btn { background: none; border: none; border-bottom: 3px solid transparent; padding: 8px 14px; cursor: pointer;
           font: inherit; color: #44506a; }
.tab-btn.active { border-bottom-color: #2a5bd7; color: #1b2a4a; font-weight: 600; }
.tab-btn:focus-visible { outline: 2px solid #2a5bd7; outline-offset: 2px; }
.filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 8px 0 12px; }
.filters input[type="text"] { min-width: 200px; }
#ten-table, #ten-connections, #ten-holders, #sq-table, #nu-table, #cat-capabilities, #cat-types, #cat-templates {
  overflow-x: auto; }
.early-badge { display: inline-block; padding: 1px 8px; border-radius: 10px; background: #fff4d6; color: #6b4e00;
               font-size: 0.85em; white-space: nowrap; }
#pv-claim { width: 100%; font-family: ui-monospace, Menlo, monospace; margin-bottom: 8px; }
#pv-form.busy { opacity: 0.6; }
#confirm-body p { margin: 6px 0; overflow-wrap: anywhere; }
.page-header-row h2 { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .tab-btn { padding: 8px 8px; }
  .filters input[type="text"] { min-width: 0; width: 100%; }
}
