/* AOP uses the existing site's container, typography, cards and controls. */
.aop-shell {display:grid;gap:24px;min-width:0;padding-bottom:40px}
.aop-shell .ui-card,.aop-shell .ui-card-body{min-width:0}
.aop-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 16px;border-bottom:1px solid var(--line,#ddd)}
.aop-nav a{padding:8px 12px;border-radius:6px;font-size:13px;background:var(--surface,#fff)}
.aop-nav a[aria-current=page]{background:var(--info-soft,#e8edf7);font-weight:600}
.aop-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.aop-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-width:0}
.aop-scroll{max-width:100%;overflow-x:auto}
.aop-scroll table{width:100%;min-width:560px}
.aop-scroll td{overflow-wrap:anywhere;vertical-align:top}
.aop-scroll td:first-child{min-width:180px;max-width:430px}
.aop-columns .aop-scroll table{min-width:400px}
.aop-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end}
.aop-filters label{display:grid;gap:6px;font-size:13px;min-width:150px}
.aop-filters label:first-child{flex:1;min-width:220px}
.aop-filters input,.aop-filters select{border:1px solid var(--line,#ccc);border-radius:6px;min-height:44px;padding:10px 12px;background:var(--surface,#fff);color:var(--ink,#111);max-width:100%}
.aop-details{display:grid;grid-template-columns:minmax(170px,28%) minmax(0,1fr);margin:0 0 20px}
.aop-details dt,.aop-details dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line,#ddd);overflow-wrap:anywhere}
.aop-details dt{font-size:13px;color:var(--muted,#666);padding-right:16px}
.aop-raw dd{white-space:pre-wrap}
.aop-note{font-size:13px;color:#75520b;background:#fff6df;border-radius:6px;padding:8px 12px;margin-top:8px}
.aop-party{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 0;border-bottom:1px solid var(--line,#ddd)}
.aop-party>strong{min-width:110px}.aop-party>span{color:var(--muted,#666)}
.aop-pagination{padding:20px}.aop-prose{display:grid;gap:16px}.aop-results{list-style:none;padding:0;margin:0}
.aop-results li{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line,#ddd)}.aop-results span{font-size:12px;color:var(--muted,#666)}
@media(max-width:800px){.aop-columns{grid-template-columns:1fr}.aop-metrics{grid-template-columns:1fr}.aop-filters label{flex:1}.aop-details{grid-template-columns:1fr}.aop-details dt{padding-bottom:0;border:0}.aop-details dd{padding-top:6px}.aop-nav{gap:4px}.aop-nav a{padding:8px}}

/* Procurement preview on company profiles. */
.company-aop { border-top: 3px solid var(--link); }
.company-aop .ui-card-heading { padding: 16px 20px; }
.company-aop .ui-card-heading h2 { font-size: 16px; }
.company-aop .ui-card-body { min-width: 0; padding: 18px 20px; }
.company-aop-role + .company-aop-role { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.company-aop-stats { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 12px; margin: 0 0 18px; }
.company-aop-stat { min-width: 0; padding: 14px 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.company-aop-stat-value { background: var(--info-soft); border-color: color-mix(in srgb, var(--link) 18%, var(--surface)); }
.company-aop-stat dt { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; font-weight: 550; }
.company-aop-stat dt .icon { color: var(--link); flex-shrink: 0; }
.company-aop-stat dd { margin: 8px 0 5px; color: var(--link); font-size: clamp(24px, 2.6vw, 30px); font-weight: 700; letter-spacing: -.04em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.company-aop-stat dd span { font-size: 12px; font-weight: 600; letter-spacing: 0; }
.company-aop .company-aop-stat-note { margin: 0; color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.4; }
.company-aop-recent-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin-bottom: 10px; }
.company-aop-recent-heading h3 { margin: 0; font-size: 13px; }
.company-aop-recent-heading > span { color: var(--muted); font-size: 12px; }
.company-aop-table-wrap { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.company-aop-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; line-height: 1.5; }
.company-aop-table th { padding: 10px 12px; background: var(--paper); text-align: left; font-size: 11px; color: var(--muted); font-weight: 600; }
.company-aop-table th:first-child { width: 42%; }
.company-aop-table th:nth-child(2) { width: 25%; }
.company-aop-table th:nth-child(3) { width: 13%; }
.company-aop-table th:last-child { width: 20%; text-align: right; }
.company-aop-table td { padding: 12px; vertical-align: top; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.company-aop-table tbody tr:hover { background: var(--info-soft); }
.company-aop-contract { font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.company-aop-table td:nth-child(2) a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.company-aop-meta { display: block; color: var(--muted); font-size: 11px; font-weight: 400; margin-top: 6px; }
.company-aop-date { font-variant-numeric: tabular-nums; white-space: nowrap; }
.company-aop-amount { text-align: right; font-variant-numeric: tabular-nums; font-weight: 650; }
.company-aop-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding-top: 14px; }
.site-layout .company-aop-cta { min-height: 44px; padding: 11px 18px; gap: 16px; font-size: 13px; flex-shrink: 0; }
@media (max-width: 700px) {
    .company-aop-stats { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 8px; margin-bottom: 18px; }
    .company-aop-stat { padding: 12px; }
    .company-aop-stat dt { font-size: 11px; }
    .company-aop-stat dt .icon { display: none; }
    .company-aop .company-aop-stat-note { display: none; }
    .company-aop-stat dd { font-size: clamp(18px, 5vw, 25px); }
    .company-aop-stat dd span { display: inline-block; }
    .company-aop-table, .company-aop-table tbody { display: block; }
    .company-aop-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .company-aop-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; border-top: 1px solid var(--line); }
    .company-aop-table tr:first-child { border-top: 0; }
    .company-aop-table td { display: block; padding: 0; border: 0; text-align: left; }
    .company-aop-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; font-size: 10px; color: var(--muted); font-weight: 500; }
    .company-aop-table td:nth-child(-n+2) { grid-column: 1 / -1; }
    .company-aop-table td:first-child::before { display: none; }
    .company-aop-contract { -webkit-line-clamp: 3; }
    .company-aop-footer { align-items: stretch; flex-direction: column; gap: 14px; }
    .site-layout .company-aop-cta { justify-content: space-between; width: 100%; padding: 11px 16px; }
    .company-aop .ui-card-heading { flex-wrap: wrap; }
}
