/* Recursos institucionais — escopo isolado, compatível com o tema público. */
.gpf-portal-wrap{max-width:1160px;margin:0 auto;padding:28px 20px 64px;color:#1b1f26;font:400 16px/1.55 Inter,system-ui,-apple-system,'Segoe UI',sans-serif}
.gpf-portal-wrap *{box-sizing:border-box}
.gpf-portal-wrap h1,.gpf-portal-wrap h2,.gpf-portal-wrap h3,.gpf-portal-wrap strong{color:#1b1f26}
.gpf-portal-wrap h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;margin:8px 0 12px}
.gpf-portal-wrap h2{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.25}
.gpf-portal-wrap a{color:#971025;text-decoration:none}
.gpf-portal-top{background:#fff;border-bottom:1px solid #e6dadd;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px max(18px,calc((100vw - 1160px)/2));font:600 14px Inter,system-ui,'Segoe UI',sans-serif;flex-wrap:wrap}
.gpf-portal-top .brand{display:flex;align-items:center;gap:10px;color:#8b1124;font-size:1rem}
.gpf-portal-top .brand img{width:44px;height:44px;object-fit:contain}
.gpf-portal-nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.gpf-portal-nav a{color:#292e36;font-weight:700;text-decoration:none}
.gpf-portal-nav a:hover{color:#b11226}
.gpf-portal-eyebrow{color:#a70b23;letter-spacing:.07em;text-transform:uppercase;font-weight:800;font-size:.76rem}
.gpf-portal-muted{color:#4e535c}
.gpf-portal-card{background:#fff;border:1px solid #e4d9db;border-radius:12px;padding:18px;box-shadow:0 4px 15px rgba(30,18,20,.035);min-width:0}
.gpf-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}
.gpf-portal-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:43px;padding:10px 16px;background:#aa1029;color:#fff!important;border:1px solid #aa1029;border-radius:8px;text-decoration:none;font-weight:750;cursor:pointer;font:inherit}
.gpf-portal-btn.ghost{background:#fff;color:#921127!important;border-color:#b69ca1}
.gpf-portal-form{display:grid;gap:12px}
.gpf-portal-form label{display:grid;gap:5px;font-size:.9rem;font-weight:750;color:#2a3037}
.gpf-portal-form :is(input,textarea,select){width:100%;min-height:42px;padding:10px 12px;border:1px solid #b9b4b8;border-radius:8px;color:#1b1f26;background:#fff;font:inherit}
.gpf-portal-form textarea{min-height:100px;resize:vertical}
.gpf-portal-form input[type=checkbox]{width:auto;min-height:0}
.gpf-portal-form .inline{display:flex;gap:8px;align-items:center}
.gpf-portal-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.gpf-portal-alert{padding:13px 16px;border-radius:8px;margin:12px 0;border:1px solid #bcdac7;background:#f0faf4;color:#17633b}
.gpf-portal-alert.error{border-color:#e9bdc3;background:#fff3f4;color:#8b1527}
.gpf-portal-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#f3f0ef}
.gpf-portal-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gpf-portal-photos-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gpf-portal-photos-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}
.gpf-portal-label{display:inline-block;background:#fff0f2;border:1px solid #efcdd3;color:#8a1026;border-radius:6px;font-size:.78rem;padding:4px 8px;font-weight:800}
.gpf-portal-line{border:0;border-top:1px solid #e9dfe0;margin:22px 0}
.gpf-portal-results{display:grid;gap:12px;margin-top:18px}
.gpf-portal-result{padding:14px 18px;border:1px solid #e4d9db;border-radius:10px;background:#fff}
.gpf-portal-result h3{font-size:1.05rem;margin:5px 0}
.gpf-portal-searchbox{display:flex;gap:9px;align-items:center}
.gpf-portal-searchbox input{min-width:0;flex:1;border:1px solid #bbb1b5;border-radius:8px;padding:12px;font:inherit;background:#fff;color:#1d2229}
.gpf-portal-home{width:min(1160px,calc(100% - 32px));margin:22px auto;color:#1b1f26}
.gpf-portal-home h2{color:#1b1f26!important;font-size:1.4rem;margin:0 0 8px}
.gpf-portal-home .gpf-portal-card{color:#1b1f26!important;background:#fff!important}
.gpf-portal-home .gpf-portal-card :is(h3,p,small){color:#20242b!important}
.gpf-portal-home .gpf-portal-card small{color:#50545c!important}
@media(max-width:900px){.gpf-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpf-portal-photo-grid,.gpf-portal-photos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:590px){.gpf-portal-top{gap:9px;padding:12px 14px}.gpf-portal-nav{gap:10px;font-size:.86rem}.gpf-portal-wrap{padding:24px 14px 50px}.gpf-portal-grid{grid-template-columns:1fr}.gpf-portal-photo-grid,.gpf-portal-photos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gpf-portal-searchbox{flex-direction:column;align-items:stretch}.gpf-portal-btn{width:100%}}
