/*
 * The opportunity finder and the record pages, in English and Vietnamese. Loads after the Last Table tokens and
 * components; uses only Last Table variables. Glow stays on the one main action (the search, or the official page on a
 * record); the report button is a plain one. Every control and link is at least 44px tall (WCAG 2.2, 2.5.8).
 */
.lt-page .op-last { padding-bottom: var(--lt-space-8); }

.op-lang { margin: 0 0 var(--lt-space-4); font-size: var(--lt-step--1); }
.op-lang a { display: inline-flex; align-items: center; min-height: 44px; }

.op-form { max-width: 52rem; }
.op-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--lt-space-3); }
.op-wide { grid-column: 1 / -1; }
.op-field { display: flex; flex-direction: column; gap: var(--lt-space-1); min-width: 0; }
.op-field .lt-input { min-height: 44px; width: 100%; flex: none; margin-top: auto; }
.op-check { display: inline-flex; align-items: center; gap: var(--lt-space-2); min-height: 44px; margin-top: var(--lt-space-3); cursor: pointer; }
.op-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--lt-glow-ink); }
.op-check input:focus-visible { outline: 2px solid var(--lt-glow-ink); outline-offset: 2px; }
.op-actions { margin: var(--lt-space-4) 0 0; }
.op-totals { margin: var(--lt-space-4) 0 0; max-width: var(--lt-measure); color: var(--lt-text-2); font-size: var(--lt-step--1); }

.op-list { list-style: none; margin: var(--lt-space-5) 0 0; padding: 0; display: grid; gap: var(--lt-space-4); max-width: 52rem; }
.op-hit { padding: var(--lt-space-4) var(--lt-space-5); min-width: 0; }
.op-hit .lt-h3 { margin: 0; overflow-wrap: anywhere; }
.op-title { overflow-wrap: anywhere; margin: 0; }
.op-meta { margin: var(--lt-space-2) 0 0; color: var(--lt-text-2); font-size: var(--lt-step--1); overflow-wrap: anywhere; }
.op-deadline { margin: var(--lt-space-2) 0 0; font-weight: 600; }
.op-left { margin-left: var(--lt-space-2); color: var(--lt-text-2); font-weight: 400; }
.op-desc { margin: var(--lt-space-2) 0 0; max-width: var(--lt-measure); overflow-wrap: anywhere; }
.op-links { margin: var(--lt-space-3) 0 0; display: flex; flex-wrap: wrap; gap: 0 var(--lt-space-5); }
.op-links a { display: inline-flex; align-items: center; min-height: 44px; }

.op-about { max-width: var(--lt-measure); padding-left: var(--lt-space-5); }
.op-about li + li { margin-top: var(--lt-space-2); }
.op-text { max-width: var(--lt-measure); }

.op-facts { margin: 0; max-width: 52rem; border-top: 1px solid var(--lt-line); }
.op-facts > div { display: grid; grid-template-columns: minmax(8rem, 14rem) 1fr; gap: var(--lt-space-1) var(--lt-space-4); padding: var(--lt-space-3) 0; border-bottom: 1px solid var(--lt-line); }
.op-facts dd.op-sub { grid-column: 2; color: var(--lt-text-2); font-size: var(--lt-step--1); }
.op-facts dt { color: var(--lt-text-2); font-size: var(--lt-step--1); }
.op-facts dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .op-facts > div { grid-template-columns: 1fr; }
  .op-facts dd.op-sub { grid-column: 1; }
}

.op-report { max-width: 36rem; }
.op-done { max-width: var(--lt-measure); font-weight: 600; }
