:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172b3b;background:#f3f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#102a43;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:0 2px 8px #102a4322}.brand{color:white;text-decoration:none;font-weight:750;font-size:19px;letter-spacing:.2px}.brand span{color:#62d5c8}.account{display:flex;align-items:center;gap:18px;color:#d6e2ea;font-size:13px}.account form{margin:0}main{max-width:1480px;margin:34px auto;padding:0 28px}.heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}h1{font-size:30px;letter-spacing:-.6px;margin:4px 0 6px}.eyebrow{text-transform:uppercase;letter-spacing:1.3px;color:#168c83;font-weight:700;font-size:11px}.muted{color:#728394;margin:0;font-size:14px}.small{font-size:12px}.filters{background:white;border:1px solid #dce5ea;border-radius:12px;padding:18px;margin-bottom:18px;box-shadow:0 4px 16px #17334b08}.selector-row{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}label{font-size:12px;font-weight:650;color:#425669;display:flex;flex-direction:column;gap:6px}input,select{width:100%;border:1px solid #cad6de;border-radius:7px;padding:9px 10px;font:inherit;color:#172b3b;background:#fff;outline:none}input:focus,select:focus{border-color:#168c83;box-shadow:0 0 0 3px #168c831c}.filter-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.primary{background:#087f78;color:white;border:0;border-radius:7px;padding:10px 17px;font-weight:700;cursor:pointer}.primary:hover{background:#056c67}.quiet,.quiet-link{background:none;border:0;color:#b9d2df;cursor:pointer;font:inherit;text-decoration:none}.quiet-link{color:#087f78;font-size:13px}.table-wrap{overflow:auto;background:white;border:1px solid #dce5ea;border-radius:12px;box-shadow:0 4px 16px #17334b08}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th{position:sticky;top:0;background:#eaf1f4;text-align:left;color:#334f61;font-size:11px;text-transform:uppercase;letter-spacing:.45px}th,td{padding:11px 13px;border-bottom:1px solid #edf1f3}tbody tr:hover{background:#f5faf9}td a{color:#087f78;font-weight:650;text-decoration:none}td a:hover{text-decoration:underline}.empty{text-align:center;color:#82919c;padding:36px}.back-link{color:#087f78;text-decoration:none;font-weight:650}.login-card,.error-card{max-width:440px;margin:8vh auto;background:white;padding:34px;border:1px solid #dce5ea;border-radius:14px;box-shadow:0 12px 38px #17334b12}.error-card{max-width:680px}.stack{display:flex;flex-direction:column;gap:9px;margin-top:24px}.stack label:not(:first-child){margin-top:10px}.stack .primary{margin-top:12px;padding:12px}.notice{padding:12px 14px;margin-bottom:16px;border-radius:8px;background:#fff2ef;color:#923829}.notice.error{background:#fff2ef;color:#923829}@media(max-width:700px){.topbar{padding:0 16px}main{padding:0 14px;margin-top:22px}.heading-row{align-items:start;gap:14px;flex-direction:column}.selector-row{grid-template-columns:1fr}.filters{padding:14px}h1{font-size:25px}}

/* Keep the app within the viewport; the filter card and result grid scroll independently. */
main{height:calc(100vh - 98px);margin-top:16px;margin-bottom:18px;display:flex;flex-direction:column;overflow:hidden}
.heading-row{flex:0 0 auto;margin-bottom:14px}
.filters{flex:0 0 auto;max-height:48vh;overflow-y:auto;margin-bottom:12px}
.grid-controls{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:0 0 16px}
.date-filter{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.date-filter legend{grid-column:1/-1;font-size:12px;font-weight:650;color:#425669;margin-bottom:6px}
.date-filter label{font-size:11px}
.date-filter input{padding:8px 6px;font-size:12px;min-width:0}
.table-wrap{flex:1 1 auto;min-height:80px;overflow:auto;overscroll-behavior:contain}
th{position:sticky;top:0;z-index:1}
@media(max-width:700px){main{height:calc(100vh - 82px);margin-top:12px}.filters{max-height:48vh}.grid-controls{grid-template-columns:1fr}.date-filter{grid-template-columns:1fr 1fr}}

/* Refined filter layout and a tall, self-scrolling results area. */
.brand .brand-ist{color:#fff}
main{height:auto;min-height:calc(100vh - 98px);margin:20px auto;display:block;overflow:visible}
.filters{max-height:none;overflow:visible;padding:20px 22px;margin-bottom:18px}
.selector-row,.grid-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.selector-row{margin-bottom:20px}
.grid-controls{margin-bottom:20px}
.selector-row label,.grid-controls label,.filter-grid>label{min-width:0}
.selector-row select,.grid-controls select,.filter-grid input{min-width:0;height:42px}
.filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;gap:16px}
.date-filter{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;min-width:0;gap:10px;padding:0}
.date-filter legend{padding:0;margin:0 0 7px}
.date-filter label{min-width:0}
.date-filter input{width:100%;min-width:0;height:42px;padding:8px;font-size:12px}
.filter-actions{padding-top:14px;border-top:1px solid #edf1f3}
.table-wrap{height:calc(100vh - 190px);min-height:420px;max-height:calc(100vh - 150px);flex:none;overflow:auto}
@media(max-width:760px){
  main{min-height:calc(100vh - 82px);margin:14px auto}
  .selector-row,.grid-controls{grid-template-columns:1fr;gap:12px}
  .date-filter{grid-column:1/-1}
  .table-wrap{height:72vh;min-height:320px;max-height:78vh}
}
