.mps-candidate-directory{--mps-border:#dedede;--mps-muted:#656565;--mps-bg:#f7f7f7}.mps-directory-freshness{border-left:4px solid currentColor;padding:12px 14px;margin:0 0 12px;background:var(--mps-bg);font-size:.95rem}.mps-directory-freshness span{display:block;color:var(--mps-muted);margin-top:3px}.mps-directory-note{font-size:.94rem;color:var(--mps-muted);max-width:900px}.mps-directory-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:24px 0}.mps-directory-filters label{display:grid;gap:5px;font-size:.9rem;font-weight:600}.mps-directory-filters input,.mps-directory-filters select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--mps-border);border-radius:5px;background:#fff;color:inherit}.mps-province-group>h2{margin-top:28px;padding-bottom:7px;border-bottom:2px solid var(--mps-border)}.mps-municipality-block{border:1px solid var(--mps-border);border-radius:7px;margin:10px 0;overflow:hidden}.mps-municipality-block>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;background:var(--mps-bg)}.mps-municipality-block h3{margin:0;font-size:1rem;line-height:1.25}.mps-municipality-block header div>span,.mps-candidate-count{font-size:.72rem;color:var(--mps-muted);text-transform:uppercase;letter-spacing:.03em}.mps-empty{padding:11px 13px;margin:0;color:var(--mps-muted);font-size:.9rem}.mps-candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:8px;padding:9px 11px 11px}.mps-candidate-card{min-width:0}.mps-candidate-card-compact{padding:9px 10px;border:1px solid var(--mps-border);border-radius:6px;background:#fff}.mps-candidate-card-compact .mps-candidate-body{width:100%}.mps-candidate-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mps-candidate-card-compact h4{margin:0;font-size:.96rem;line-height:1.3}.mps-candidate-card-compact h4 a{text-decoration:none}.mps-candidate-card-compact .mps-party{margin:3px 0 0;font-size:.88rem;font-weight:600;line-height:1.3}.mps-candidate-card-detailed{display:flex;gap:14px;padding:14px;border:1px solid var(--mps-border);border-radius:6px;background:#fff}.mps-candidate-photo{flex:0 0 60px}.mps-candidate-photo img{width:60px;height:60px;object-fit:cover;border-radius:50%}.mps-candidate-body{min-width:0}.mps-candidate-card-detailed .mps-candidate-body h4{margin:5px 0 3px;font-size:1.02rem}.mps-candidate-card-detailed .mps-candidate-body h4 a{text-decoration:none}.mps-candidate-card-detailed .mps-party{font-weight:600;margin:0 0 4px}.mps-current,.mps-verified,.mps-source{font-size:.86rem;color:var(--mps-muted);margin:3px 0}.mps-status{display:inline-block;flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:2px 6px;font-size:.66rem;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.025em}.mps-status-withdrawn,.mps-status-replaced{opacity:.72}.mps-profile-intro{margin:0 0 24px}.mps-profile-intro-has-image{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:22px;align-items:start}.mps-profile-portrait{margin:0}.mps-profile-portrait img{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:8px}.mps-profile-portrait figcaption{margin-top:7px;font-size:.78rem;line-height:1.35;color:var(--mps-muted,#656565)}.mps-profile-summary{border:1px solid var(--mps-border,#dedede);border-radius:8px;padding:16px;margin:0}.mps-profile-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0}.mps-profile-summary dl div{display:grid;grid-template-columns:120px 1fr;gap:10px}.mps-profile-summary dt{font-weight:700}.mps-profile-summary dd{margin:0}.mps-profile-source{margin-top:24px;padding-top:14px;border-top:1px solid #dedede}.mps-no-results{padding:18px;background:var(--mps-bg)}@media(max-width:720px){.mps-directory-filters,.mps-profile-summary dl,.mps-profile-intro-has-image{grid-template-columns:1fr}.mps-profile-portrait{max-width:320px}.mps-candidate-grid{grid-template-columns:1fr}.mps-municipality-block>header{align-items:flex-start;flex-direction:column}.mps-profile-summary dl div{grid-template-columns:1fr}.mps-profile-summary dt{margin-bottom:-8px}}
