/* Demand overview and links to matching registrations. */
.demand-page{min-width:0}
.demand-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:24px 0 18px}
.demand-intro h2{margin:0 0 7px}
.demand-intro p{margin:0;font-size:13px;color:var(--muted);max-width:70ch}
.demand-source{border:1px solid #ecd0d0;border-radius:7px;background:#fff7f7;color:#9f1717;font-size:12px;font-weight:600;padding:8px 12px;white-space:nowrap}
.demand-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 18px;margin-bottom:16px}
.demand-filters label{margin:0;min-width:160px;flex:1}
.demand-filters label:first-child{flex:1.6}
.demand-filters button{font-size:12px;min-height:43px}
.demand-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.demand-metric{background:white;border:1px solid var(--line);border-radius:10px;padding:15px 18px}
.demand-metric>span{display:block;font-size:12px;color:var(--muted)}
.demand-metric>strong{display:block;font-size:28px;line-height:1.3;margin-top:5px;font-variant-numeric:tabular-nums}
.demand-metric-active{border-top:3px solid var(--red);padding-top:13px}
.demand-metric-approved>strong{color:#175b44}
.demand-metric-pending>strong,.demand-metric-waitlist>strong{color:#795d00}
.demand-help{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 16px;max-width:120ch}
.demand-history-toggle{font-size:12px;margin:16px 0 22px}
.demand-event.card{padding:0;margin-bottom:18px;overflow:hidden}
.demand-event-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}
.demand-event-heading h3{font-size:17px;margin:0;overflow-wrap:anywhere}
.demand-event-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}
.demand-event-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}
.demand-table{table-layout:fixed;font-size:13px}
.demand-table th{font-size:10px;padding:11px 12px;white-space:normal;vertical-align:middle}
.demand-table th:first-child{width:16%;padding-left:20px}
.demand-table th:nth-child(2){width:22%}
.demand-table th:nth-child(3){width:14%}
.demand-table th:nth-child(n+4){text-align:center}
.demand-table td{padding:6px 12px;overflow-wrap:anywhere}
.demand-table td:first-child{padding-left:20px}
.demand-table tr:last-child td{border:0}
.demand-table tbody tr:nth-child(even){background:#fafafb}
.demand-table .demand-count{text-align:center}
.demand-number,.demand-zero{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:6px;border-radius:7px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.demand-number{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.demand-number:hover{background:#f0f1f4}
.demand-approved{color:#175b44;background:#edf7f2}
.demand-pending,.demand-waitlist{color:#795d00;background:#fff7dd}
.demand-active{color:var(--red)}
.demand-zero{color:#9da0aa;font-weight:400}
.demand-cell-label{display:none}
.demand-history-heading{padding:15px 20px;border-top:1px solid var(--line);background:#f5f5f7}
.demand-history-heading h4{font-size:14px;margin:0}
.demand-history-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}
.demand-empty-section{font-size:13px;color:var(--muted);padding:4px 20px}
.demand-empty{font-size:14px;color:var(--muted)}
.demand-scope{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:8px;margin:18px 0}
.demand-scope>div{min-width:0}
.demand-scope strong{font-size:14px}
.demand-scope p{font-size:13px;margin:4px 0 0}
.demand-scope p.demand-help{font-size:12px;max-width:90ch}
.demand-scope>div:last-child{display:flex;align-items:center;flex-direction:column;gap:7px;flex-shrink:0}
.demand-scope .button,.demand-scope button{font-size:12px}
.review-table .demand-matched-entry{background:#fff9ef}
.review-table .demand-matched-entry>.review-discipline{box-shadow:inset 3px 0 0 var(--red);padding-left:16px}
.review-table .demand-match-label{display:block;font-size:10px;font-weight:600;color:var(--red);margin:0 0 5px}
@media(max-width:1000px){
 .demand-intro{flex-wrap:wrap}
 .demand-source{white-space:normal}
 .demand-scope{align-items:flex-start;flex-direction:column;gap:12px}
 .demand-scope>div:last-child{flex-direction:row;flex-wrap:wrap}
}
@media(max-width:750px){
 .demand-table,.demand-table tbody{display:block}
 .demand-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .demand-table tbody>tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 16px;gap:8px 6px;border-top:1px solid var(--line)}
 .demand-table tbody>tr>td{display:block;min-width:0;padding:0;border:0}
 .demand-table td.demand-age{grid-column:1/3;font-size:14px}
 .demand-table td.demand-discipline{grid-column:1/4;grid-row:2;font-weight:600}
 .demand-table td.demand-gender{grid-column:3/5;grid-row:1;text-align:right;font-size:12px;color:var(--muted)}
 .demand-table .demand-count{grid-row:3}
 .demand-count .demand-cell-label{display:block;font-size:10px;color:var(--muted);margin-bottom:4px;white-space:normal}
 .demand-inactive-table .demand-count{grid-column:span 1}
 .demand-number,.demand-zero{min-height:44px;min-width:44px}
 .demand-event-heading{padding:16px;align-items:flex-start;flex-direction:column;gap:8px}
 .demand-history-heading{padding:14px 16px}
 .demand-filters label{flex-basis:100%;min-width:0}
 .demand-filters label:first-child{flex-basis:100%}
 .demand-filters>button{flex:1}
 .demand-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .demand-metric{padding:12px 14px}
 .demand-metric-active{padding-top:10px}
 .demand-metric>strong{font-size:25px}
 .demand-source{font-size:11px}
 .demand-intro{margin-top:18px}
 .demand-scope{padding:14px}
 .demand-scope>div:last-child{width:100%}
}
