:root{
  --navy:#071a2f;
  --navy2:#0b2949;
  --blue:#1769aa;
  --ink:#172033;
  --muted:#667085;
  --line:#dbe2ea;
  --bg:#f4f7fa;
  --white:#ffffff;
  --gold:#d1a23b;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--ink);
}
.wrap{
  width:min(1220px,calc(100% - 32px));
  margin:auto;
}
.masthead{
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  color:#fff;
  border-bottom:4px solid var(--gold);
}
.hero{padding:56px 0 48px}
.eyebrow{
  margin:0 0 10px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#bad8f6;
}
.eyebrow.dark{color:var(--blue)}
h1{
  font-size:clamp(2.2rem,5vw,4.5rem);
  line-height:1;
  max-width:900px;
  margin:0 0 18px;
}
.lede{
  font-size:1.15rem;
  line-height:1.6;
  max-width:820px;
  color:#dfeaf5;
}
.snapshot{
  display:inline-block;
  margin-top:18px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  color:#e6edf5;
}
main{padding:28px 0 60px}
.kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:-54px;
  margin-bottom:24px;
}
.kpi,.search-panel,.table-card,.notes{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(7,26,47,.06);
}
.kpi{padding:20px}
.kpi span{
  display:block;
  color:var(--muted);
  font-size:.82rem;
  margin-bottom:6px;
}
.kpi strong{font-size:1.55rem}
.search-panel{
  padding:24px;
  margin-bottom:18px;
}
.search-panel h2,.notes h2{
  margin:0 0 6px;
  font-size:1.55rem;
}
.muted{color:var(--muted);margin-top:0}
.controls{
  display:grid;
  grid-template-columns:2fr 1.2fr .8fr 1fr;
  gap:12px;
  margin-top:20px;
}
label span{
  display:block;
  font-size:.76rem;
  font-weight:700;
  margin-bottom:6px;
  color:#475467;
}
input,select,button{font:inherit}
input,select{
  width:100%;
  height:44px;
  border:1px solid #cfd8e3;
  border-radius:9px;
  background:#fff;
  padding:0 12px;
}
button{
  border:0;
  border-radius:9px;
  background:var(--blue);
  color:#fff;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
}
button.secondary{
  background:#eef2f6;
  color:#25364a;
}
button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.resultbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:16px;
  color:var(--muted);
}
.actions{display:flex;gap:8px}
.table-card{overflow:hidden}
.table-scroll{
  overflow:auto;
  max-height:67vh;
}
table{
  width:100%;
  border-collapse:collapse;
  min-width:850px;
}
thead th{
  position:sticky;
  top:0;
  background:#eef3f8;
  border-bottom:1px solid #cfd8e3;
  text-align:left;
  z-index:1;
}
th,td{
  padding:13px 15px;
  border-bottom:1px solid #edf0f4;
  vertical-align:top;
}
td{font-size:.91rem}
td:first-child{font-weight:700}
.num{text-align:right;white-space:nowrap}
.thbtn{
  background:transparent;
  color:#344054;
  padding:0;
  border-radius:0;
  font-size:.78rem;
  text-transform:uppercase;
}
tbody tr:hover{background:#f8fbfd}
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:15px;
}
.notes{
  padding:24px;
  margin-top:18px;
}
.notes p{
  color:var(--muted);
  line-height:1.65;
  max-width:940px;
}
footer{
  background:var(--navy);
  color:#dce8f3;
  padding:28px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.9rem;
}
.empty{
  padding:38px;
  text-align:center;
  color:var(--muted);
}
@media(max-width:900px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .controls{grid-template-columns:1fr 1fr}
  .resultbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .wrap{width:min(100% - 20px,1220px)}
  .hero{padding:40px 0 60px}
  .kpis{grid-template-columns:1fr 1fr;gap:8px}
  .kpi{padding:14px}
  .kpi strong{font-size:1.2rem}
  .controls{grid-template-columns:1fr}
  .actions{width:100%}
  .actions button{flex:1}
  .footer-inner{flex-direction:column}
}