.ppu-pp-notice{padding:12px 16px;margin-bottom:16px;border-radius:8px;font-size:14px;line-height:1.4}
.ppu-pp-notice.success{background:#e6ffed;border:1px solid #28a745;color:#155724}
.ppu-pp-notice.error{background:#ffecec;border:1px solid #dc3545;color:#721c24}

.ppu-pp-signup-form{max-width:680px;margin:0 auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.ppu-pp-field{margin-bottom:16px}
.ppu-pp-field label{display:block;font-weight:600;margin-bottom:6px}
.ppu-pp-field input[type="text"],.ppu-pp-field input[type="email"],.ppu-pp-field input[type="url"],.ppu-pp-field select,.ppu-pp-field textarea,.ppu-pp-field input[type="file"]{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;box-sizing:border-box}
.ppu-pp-field textarea{min-height:110px}
.ppu-pp-help{margin-top:6px;color:#6b7280;font-size:12.5px}
.ppu-pp-consent label{font-weight:400}
.ppu-pp-consent input{margin-right:8px}
.ppu-pp-submit button{display:inline-block;padding:11px 22px;border-radius:10px;border:none;cursor:pointer;font-weight:700;font-size:14px;background:#0d47a1;color:#fff}
.ppu-pp-submit button:hover{opacity:.92}

.ppu-pp-directory-filters{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 22px;align-items:flex-end}
.ppu-pp-directory-filters .ppu-pp-filter{min-width:220px}
.ppu-pp-directory-filters .ppu-pp-filter label{display:block;font-weight:700;margin-bottom:6px}
.ppu-pp-directory-filters input,.ppu-pp-directory-filters select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;font-size:14px;box-sizing:border-box}
.ppu-pp-directory-filters button{padding:10px 20px;border-radius:10px;border:none;cursor:pointer;font-weight:700;background:#0d47a1;color:#fff}
.ppu-pp-directory-filters button:hover{opacity:.92}

.ppu-pp-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.ppu-pp-card{background:#fff;border-radius:14px;box-shadow:0 2px 14px rgba(0,0,0,.06);overflow:hidden}
.ppu-pp-card-inner{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}

/* Square thumbs */
.ppu-pp-card-photo.ppu-pp-square{aspect-ratio:1/1; width:100%; overflow:hidden; background:#f3f4f6}
.ppu-pp-card-photo.ppu-pp-square img.ppu-pp-img{width:100%;height:100%;object-fit:cover;display:block}

.ppu-pp-card-content{padding:14px 16px 18px;text-align:center}
.ppu-pp-card-name{margin:0 0 6px;font-size:16px;font-weight:800}
.ppu-pp-card-year{font-size:13px;color:#4b5563}

.ppu-pp-pagination{margin-top:22px;text-align:center}
.ppu-pp-pagination a{display:inline-block;margin:0 4px;padding:7px 11px;border-radius:10px;border:1px solid #d1d5db;text-decoration:none;font-size:13px}
.ppu-pp-pagination a.active{background:#0d47a1;color:#fff;border-color:#0d47a1}
.ppu-pp-no-results{text-align:center;margin-top:14px}

.ppu-pp-profile{max-width:900px;margin:0 auto;background:#fff;padding:24px;border-radius:14px;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.ppu-pp-profile-header{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:10px}
.ppu-pp-profile-photo img,.ppu-pp-profile-photo img.ppu-pp-profile-default{width:190px;height:190px;object-fit:cover;border-radius:14px}
.ppu-pp-profile-name{margin:0 0 6px;font-size:28px;font-weight:900}
.ppu-pp-profile-year{font-size:15px;color:#4b5563;margin-bottom:10px}
.ppu-pp-profile-links a{display:inline-block;padding:7px 12px;border-radius:10px;border:1px solid #0d47a1;text-decoration:none;font-size:13px}
.ppu-pp-profile-bio{margin-top:10px}
.ppu-pp-profile-back{margin-top:22px}
.ppu-pp-profile-back a{text-decoration:none}

@media (max-width:640px){
  .ppu-pp-signup-form{padding:16px}
  .ppu-pp-profile-header{flex-direction:column;align-items:flex-start}
  .ppu-pp-directory-filters{flex-direction:column;align-items:stretch}
  .ppu-pp-directory-filters .ppu-pp-filter{min-width:0}
}

.ppu-pp-back-btn{display:inline-block;padding:10px 18px;border-radius:10px;background:#0d47a1;color:#fff;text-decoration:none;font-weight:700}
.ppu-pp-back-btn:hover{opacity:.92}

.ppu-pp-profile-location{font-size:14px;color:#4b5563;margin-bottom:10px}
