/* Admin status page (templates/admin/dashboard.html.twig), ETHER tokens: design_handoff_hamqth_redesign */
.ops { max-width: 1100px; margin: 0 auto; }
.ops-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .75rem; margin-bottom: 1rem; }
.ops-head h1 { font-size: 1.5rem; margin: 0; }
.ops-legacy { margin-left: auto; }
.ops-muted { color: #6b7280; font-size: .875rem; }
.ops-strip { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.ops-pill { border: 1px solid #e6e8eb; border-radius: 999px; padding: .25rem .75rem; text-decoration: none; background: #fff; color: inherit; }
.ops-card { background: #fff; border: 1px solid #e6e8eb; border-radius: 6px; padding: 1rem; margin-bottom: 1rem; }
.ops-card h2 { font-size: 1.1rem; display: flex; align-items: center; gap: .5rem; }
.ops-sub { font-size: 1rem; margin-top: 1rem; display: flex; gap: .5rem; align-items: center; }
.ops-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.ops-table th, .ops-table td { border-top: 1px solid #eef0f2; padding: .4rem .5rem; vertical-align: top; text-align: left; }
.ops-table tbody tr:hover { background: #f4f7fb; }
.ops-table pre { white-space: pre-wrap; font-size: .8rem; margin: .25rem 0 0; }
.ops-table tr.ops-desc td { border-top: 0; padding-top: 0; }
.ops .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.ops-badge { display: inline-block; border-radius: 4px; padding: 0 .4rem; font-size: .75rem; font-weight: 600; }
.ops-ok { background: #e7f3e3; color: #2f6a1f; border-color: #bcdcb1; }
.ops-warn { background: #fff4d6; color: #7a5600; border-color: #f0d68a; }
.ops-fail { background: #fde7e7; color: #a11b1b; border-color: #f2b8b8; }
.ops-disabled { background: #f1f2f4; color: #6b7280; border-color: #e6e8eb; }
.ops-actions { display: flex; gap: .25rem; flex-wrap: wrap; }
.ops-actions form { margin: 0; }
.ops-chip { display: inline-block; border: 1px solid #e6e8eb; border-radius: 4px; padding: 0 .4rem; margin-right: .25rem; font-size: .8rem; }
.ops-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem; margin: 0; }
.ops-stats dt { font-weight: 400; color: #6b7280; font-size: .8rem; }
.ops-stats dd { font-size: 1.25rem; margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ops-stats .ops-wide { grid-column: span 2; }
@media (max-width: 420px) { .ops-stats .ops-wide { grid-column: auto; } }
@media (max-width: 720px) { .ops-table { display: block; overflow-x: auto; } }

/* Admin sub-menu and the ported legacy admin pages */
.ops-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; border-bottom: 1px solid #e6e8eb; padding-bottom: .5rem; margin-bottom: 1rem; }
.ops-nav a { text-decoration: none; }
.ops-nav a[aria-current="page"] { font-weight: 600; text-decoration: underline; }
.ops-nav-search { margin-left: auto; }
.ops-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.ops-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-bottom: .75rem; }
.ops-inline .form-check { margin: 0; }
.ops-inline .ops-callsign { width: 12rem; text-transform: uppercase; }
.ops-inline .ops-email { width: 22rem; max-width: 100%; }
.ops-pill[aria-current="page"] { border-color: #2563eb; color: #2563eb; }
.ops-table tr.looks-real { background: #fff8db; }
.ops-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .5rem 1rem; }
.ops-diff td.changed { background: #fff4d6; }
.ops-danger { border-color: #f2b8b8; }
