@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');

body { font-family: 'Inter', Arial, sans-serif; background: #fff; margin: 0; color: #16162b; }
header { background: #fff; padding: 28px 0 0 0; }

.navbar { max-width: 1200px; margin: 0 auto; padding: 0 30px; display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 2rem; font-weight: 700; color: #a2a2fc; letter-spacing: 2px; }
nav a { color: #a2a2fc; font-weight: 600; text-decoration: none; margin: 0 20px; font-size: 1.12rem; }

.main-title { text-align: center; font-size: 2.4rem; margin: 36px 0 8px 0; font-weight: 800; letter-spacing: -1px; }

.filters { max-width: 1200px; margin: 0 auto 12px auto; display: flex; flex-direction: column; align-items: center; }
.filter-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 18px; width: 100%; }
.filter-group { display: flex; flex-direction: column; min-width: 140px; max-width: 170px; }
.filter-group label { font-size: 1rem; font-weight: bold; margin-bottom: 2px; }
.filters input[type="text"], .filters input[type="number"] { display: block; margin: 2px 0 6px 0; width: 100%; padding: 8px 10px; border-radius: 8px; border: none; background: #f6f7fa; font-size: 1rem; }


.reset-and-count { display:flex; align-items:center; gap:10px; }
.results-inline { color:#444; font-weight:600; opacity:.85; }




.second-row { align-items: flex-start; }
.restrictions-group { display: flex; flex-direction: row; align-items: center; min-width: 520px; gap: 8px; margin-right: 12px; }
.restrictions-group label { font-weight: bold; margin-right: 6px; margin-bottom: 0; }
.checkbox-label { font-weight: normal; font-size: 1rem; margin-left: 8px; display: flex; align-items: center; gap: 4px; }

.apply-reset { display:flex; flex-direction: column; align-items:flex-start; gap:8px; }
.apply-btn { background: #7f7ffe; color: #fff; border: none; border-radius: 9px; font-weight: 700; font-size: 1.06rem; padding: 11px 26px; cursor: pointer; box-shadow: 0 4px 18px #e5e4fc40; margin-top: 6px; }
.apply-btn:hover { background: #8d82ef; }

.reset-btn { background: #d4d2d2; color: #444; padding: 6px 12px; border-radius: 7px; font-size: .92rem; display:inline-block; text-decoration:none; }
.reset-btn:hover { background:#c8c7c7; }

.results-summary { max-width:1200px; margin: 6px auto 0 auto; display:flex; justify-content:flex-end; padding: 0 30px; }
.no-results { margin: 10px auto 0 auto; padding: 12px 16px; border-radius: 10px; background:#fff4f4; color:#7a2a2a; font-weight:600; }



.summary-cards { display:flex; flex-wrap:wrap; justify-content:center; gap:26px; margin: 20px 0 12px 0;}

/* force a wrap in the cards row */
.summary-cards .break { flex: 0 0 100%; height: 0; }

.card { background: #f8f8fd; border-radius: 22px; box-shadow: 0 6px 32px #dad6ff3b; min-width:160px; min-height:110px; font-size:2.1rem; color:#967aff; text-align:center; font-weight:700; padding:20px 10px 12px 10px; }
.card div { font-size:1.05rem; font-weight:500; color:#6c67a2; margin-top:7px; }


.listing-actions { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:18px; }
.nav-btn { background:#fff; color:#9d8ee9; border:2px solid #bfb9f7; border-radius:7px; font-size:1.05rem; padding:10px 26px; font-weight:700; }
.nav-btn:hover { background:#ebeafe; color:#4536ad; }
.view-btn { background:#a9a4f9; color:#fff; border:none; border-radius:9px; padding:10px 30px; font-size:1.08rem; font-weight:700; text-decoration:underline; }
.view-btn.disabled { opacity:.6; pointer-events:none; }

.table-section { max-width: 1200px; margin: 22px auto 0 auto; }
table { border-collapse: collapse; width: 98%; max-width: 1180px; background: #fef5f7; border-radius: 18px; box-shadow: 0 2px 10px #e1e1f6; }
th, td { padding: 12px 7px; text-align: left; font-size: 1.02rem; }
th { background: #f4e2e7; color:#54457a; font-weight:700; border-bottom: 1.5px solid #e2c2e4; }
td { border-bottom: 1px solid #f2d7ec; color: #614b68; font-weight:500; }

.sort-row { max-width:1200px; margin: 16px auto 34px auto; padding: 0 30px; display:flex; justify-content:center; align-items:center; gap: 10px; white-space: nowrap; }
.sort-btn, .download-btn { background: #f8f8fd; color: #555; border: none; border-radius: 5px; padding: 7px 16px; font-size: 1rem; cursor: pointer; font-weight:600; text-decoration:underline; }
.sort-btn:hover, .download-btn:hover { background: #ebeafe; color: #222; }
.download-btn { background: #a9a4f9; color: #fff; margin-left: 8px; text-decoration:none; border-radius:6px; }

@media (max-width: 980px) {
  .filter-row {flex-direction:column; gap:10px;}
  .restrictions-group {min-width: unset;}
  .summary-cards{gap:16px;}
  .table-section{width:99%;}
  .sort-row{flex-wrap:wrap; white-space: normal;}
}
