/* ===== Routes list view ===== */
.routes-page-body{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start;padding:32px 24px 80px}

.routes-filter-card{background:#fff;border-radius:var(--radius,12px);box-shadow:var(--shadow,0 4px 16px rgba(15,23,42,.08));padding:22px}
.routes-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.routes-filter-head h3{font-size:15px;font-weight:700;color:var(--primary-dark)}
.routes-filter-head button{background:none;border:none;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer}
.routes-filter-head button:hover{text-decoration:underline}
.routes-filter-group{margin-bottom:16px}
.routes-filter-group label{display:block;font-size:12px;font-weight:700;color:var(--text-light);text-transform:uppercase;margin-bottom:6px}
.routes-filter-group select,
.routes-filter-group input[type="text"]{width:100%;padding:11px 14px;border:1px solid var(--border,#E2E8F0);border-radius:8px;font-family:inherit;font-size:14px;color:var(--text);background:#fff;cursor:pointer}
.routes-filter-group input[type="text"]{cursor:text}
.routes-filter-group input[type="text"]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,58,138,.15)}
.routes-filter-group input[type="text"]::placeholder{color:var(--text-light)}
.routes-apply-btn{width:100%;justify-content:center;padding:13px;border-radius:8px}

.routes-list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.routes-list-toolbar #routesShowingCount{font-size:14px;color:var(--text-light)}

.routes-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;align-items:stretch}
.route-page-card{background:#fff;border-radius:var(--radius,12px);box-shadow:var(--shadow,0 4px 16px rgba(15,23,42,.08));overflow:hidden;display:flex;flex-direction:column;height:100%}
.route-page-card-img{height:120px;flex-shrink:0;background:var(--bg-alt)}
.route-page-card-img img{width:100%;height:100%;object-fit:cover}
.route-page-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.route-page-card-top{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--primary-dark);min-height:40px}
.route-page-card-top i{color:var(--text-light);font-size:11px;flex-shrink:0}
.route-page-card-meta,.route-page-card-sched{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-light)}
.route-page-card-meta i,.route-page-card-sched i{color:var(--primary);width:12px}
.route-page-card-btn{margin-top:auto;width:100%;justify-content:center;padding:11px;border-radius:8px;font-size:13px}

.routes-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:32px}
.routes-page-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border,#E2E8F0);background:#fff;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}
.routes-page-btn:hover:not(:disabled){background:var(--bg-alt)}
.routes-page-btn.active{background:var(--primary-dark);color:#fff;border-color:var(--primary-dark)}
.routes-page-btn:disabled{opacity:.4;cursor:not-allowed}
.routes-page-ellipsis{color:var(--text-light);padding:0 4px}

.route-page-card{text-decoration:none;color:inherit}

@media(max-width:900px){
  .routes-page-body{grid-template-columns:1fr;padding:24px 16px 60px}
  .routes-cards-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){.routes-cards-grid{grid-template-columns:1fr}}
