.candidate-directory-page{min-height:100vh}.candidate-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.candidate-directory-head>div:first-child{max-width:880px}.candidate-directory-head h1{margin:7px 0 7px}.candidate-directory-head p{margin:0;color:#607b9b;font-size:12px;line-height:1.55}.candidate-directory-stat{flex:0 0 auto;min-width:180px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(23,72,128,.045)}.candidate-directory-stat strong{display:block;color:var(--blue-dark);font-size:27px;line-height:1}.candidate-directory-stat span{display:block;margin-top:5px;color:#7286a0;font-size:9px}.candidate-directory-filters{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:end;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 9px 24px rgba(23,72,128,.045)}.candidate-directory-filters .field{min-width:0}.candidate-directory-filter-actions{display:flex;align-items:center;gap:7px}.candidate-directory-filter-actions button,.candidate-directory-filter-actions a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:9px;font-size:10px;font-weight:850;white-space:nowrap}.candidate-directory-filter-actions button{border:1px solid #0b58aa;background:#0b58aa;color:#fff;cursor:pointer}.candidate-directory-filter-actions a{border:1px solid #d7e3ed;background:#fff;color:#55718f}.candidate-directory-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:13px 1px 0;color:#7186a2;font-size:9.5px}.candidate-directory-summary strong{color:var(--blue-dark)}.candidate-directory-panel{margin-top:13px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(23,72,128,.045)}.candidate-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.candidate-directory-item{display:grid;grid-template-columns:58px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:88px;padding:10px 12px;border:1px solid #dce8f1;border-radius:12px;background:#fcfeff;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.candidate-directory-item:hover{transform:translateY(-1px);border-color:#afd0e5;box-shadow:0 7px 18px rgba(24,75,130,.07)}.candidate-directory-item:focus-visible{outline:3px solid rgba(11,88,170,.18);outline-offset:2px}.candidate-directory-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#eaf3fa,#f8fbfd);color:#0b4d99;font-size:13px;font-weight:900}.candidate-directory-avatar img{width:100%;height:100%;display:block;object-fit:cover}.candidate-directory-copy{min-width:0;display:grid;gap:3px}.candidate-directory-copy strong,.candidate-directory-copy small,.candidate-directory-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-directory-copy strong{color:var(--blue-dark);font-size:11px;line-height:1.2}.candidate-directory-copy small{color:#7389a5;font-size:8.6px;line-height:1.2}.candidate-directory-copy em{color:#05867c;font-size:8.6px;font-style:normal;line-height:1.2}.candidate-directory-item>b{color:#0d62b6;font-size:21px;line-height:1;text-align:right}.candidate-directory-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px}.candidate-directory-pagination a,.candidate-directory-pagination span{min-height:37px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid #d8e4ee;border-radius:9px;background:#fff;color:#4f6c8c;font-size:9.5px;font-weight:800}.candidate-directory-pagination a:hover{border-color:#b5d1e5;color:#0b58aa}.candidate-directory-pagination .current{border-color:#0b58aa;background:#0b58aa;color:#fff}.candidate-directory-pagination .disabled{opacity:.45}.candidate-directory-page .state-panel{margin:0}.party-candidates-section .candidate-directory-grid{margin-top:0}@media(max-width:1320px){.candidate-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-directory-filters{grid-template-columns:minmax(250px,1.5fr) repeat(2,minmax(150px,1fr));}.candidate-directory-filter-actions{grid-column:span 3}.candidate-directory-filters .field:nth-of-type(4){grid-column:auto}}@media(max-width:940px){.candidate-directory-head{align-items:flex-start;flex-direction:column}.candidate-directory-stat{min-width:0}.candidate-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-directory-filter-actions{grid-column:span 2}}@media(max-width:620px){.candidate-directory-head{gap:14px}.candidate-directory-stat{width:100%}.candidate-directory-filters{grid-template-columns:1fr;padding:12px}.candidate-directory-filter-actions{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.candidate-directory-grid{grid-template-columns:1fr}.candidate-directory-panel{padding:9px}.candidate-directory-item{grid-template-columns:55px minmax(0,1fr) 14px;min-height:82px;padding:9px}.candidate-directory-avatar{width:50px;height:50px}.candidate-directory-summary{align-items:flex-start;flex-direction:column;gap:4px}.candidate-directory-pagination{flex-wrap:wrap}}