.fl{--fl-green:#1D6D42;--fl-navy:#0A3D62;--fl-light:#F4F4F4;--fl-line:#d5dbd8;--fl-muted:#4f5b57;font-family:Roboto,system-ui,sans-serif;color:#1d2a26}
.fl *:focus-visible,.fl-page *:focus-visible{outline:3px solid var(--fl-navy);outline-offset:2px}
.fl-panel{background:#fff;border:1px solid var(--fl-line);border-radius:16px;padding:1.5rem}
#form-library{scroll-margin-top:165px}
@media(max-width:600px){#form-library{scroll-margin-top:120px}}
@media(max-width:600px){
  body:has(.fl) .header-logo{width:min(65vw,260px);height:auto}
  body:has(.fl) .main-nav .navbar-brand{margin-right:0;min-width:0}
  body:has(.fl) .main-nav .navbar-toggler{min-width:44px;min-height:44px;flex-shrink:0}
}
.fl h2{color:var(--fl-navy);font-size:1.6rem;margin:0 0 .25rem}
.fl-sub{color:var(--fl-muted);margin-bottom:1rem}
.fl-search{width:100%;border:1px solid #8a9690;border-radius:999px;padding:.8rem 1.25rem;font-size:1.05rem}
.fl-search:focus{border-color:var(--fl-green)}
.fl-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0}
.fl-controls label{display:block;font-weight:700;font-size:.85rem;margin-bottom:.25rem;color:var(--fl-navy)}
.fl-controls select{width:100%;border:1px solid #8a9690;border-radius:999px;padding:.55rem 1rem;background:#fff}
.fl-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}
.fl-count{margin:0;color:var(--fl-muted);font-size:.95rem}
.fl-reset{border:1px solid var(--fl-green);background:#fff;color:var(--fl-green);border-radius:999px;padding:.4rem 1.1rem;font-weight:700}
.fl-reset:hover{background:var(--fl-green);color:#fff}
.fl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none;padding:0;margin:0}
.fl-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--fl-line);border-radius:14px;padding:1.1rem;background:#fff;transition:box-shadow .2s,border-color .2s}
.fl-card:hover,.fl-card:focus-within{border-color:var(--fl-green);box-shadow:0 4px 14px rgba(10,61,98,.1)}
.fl-top{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem}
.fl-org{color:var(--fl-green);font-weight:700}
.fl-spec{color:var(--fl-muted);text-align:right}
.fl-card h3{font-size:1.08rem;color:var(--fl-navy);margin:.6rem 0 .3rem}
.fl-meta{font-size:.82rem;color:var(--fl-muted);margin:0 0 .4rem}
.fl-badge{display:inline-block;align-self:flex-start;background:#e8f5ec;color:#14522f;border-radius:999px;font-size:.75rem;font-weight:700;padding:.15rem .6rem;margin-bottom:.5rem}
.fl-price{color:var(--fl-green);font-weight:700;font-size:1.5rem;margin:.2rem 0}
.fl-desc{font-size:.92rem;margin-bottom:.6rem}
.fl-benefits{list-style:none;padding:0;margin:0 0 1rem;font-size:.85rem;color:var(--fl-muted)}
.fl-benefits li:before{content:"\2713\00a0";color:var(--fl-green);font-weight:700}
.fl-actions{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}
.fl-btn{display:block;text-align:center;background:var(--fl-green);color:#fff;border:2px solid var(--fl-green);border-radius:10px;padding:.65rem 1rem;font-weight:700;text-decoration:none;min-height:44px}
.fl-btn:hover{background:#155434;border-color:#155434;color:#fff}
.fl-btn[disabled],.fl-btn.disabled{background:#c9d0cd;border-color:#c9d0cd;color:#3b4642;pointer-events:none}
.fl-btn.alt{background:#fff;color:var(--fl-navy);border-color:var(--fl-navy)}
.fl-btn.alt:hover{background:var(--fl-navy);color:#fff}
.fl-link{text-align:center;color:var(--fl-navy);font-weight:700;text-decoration:underline}
.fl-pager{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:1.25rem;flex-wrap:wrap}
.fl-pager button{min-width:44px;min-height:44px;border:1px solid var(--fl-line);background:#fff;border-radius:8px;color:var(--fl-navy);font-weight:700}
.fl-pager button[aria-current=page]{background:var(--fl-navy);color:#fff}
.fl-pager button:disabled{opacity:.5}
.fl-state{text-align:center;padding:2rem 1rem;border:1px dashed var(--fl-line);border-radius:12px;background:var(--fl-light)}
.fl-grid[aria-busy=true]{opacity:.55}
.fl-trust{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;padding:0;margin:0 0 1rem;font-size:.85rem;color:var(--fl-navy);font-weight:700}
.fl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fl-band{background:var(--fl-light);border-radius:16px;padding:2rem}
.fl-page{max-width:1000px}
.fl-dl dt{font-weight:700;color:var(--fl-navy)}
.fl-dl dd{margin-bottom:.75rem}
.fl-notice{border-left:4px solid var(--fl-navy);background:var(--fl-light);padding:1rem;border-radius:0 8px 8px 0;font-size:.92rem}
.fl-blockers{border-left:4px solid #a4491b;background:#fdf1e8;padding:1rem;border-radius:0 8px 8px 0}
@media(max-width:991px){.fl-grid{grid-template-columns:repeat(2,1fr)}.fl-controls{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fl-grid,.fl-controls{grid-template-columns:1fr}.fl-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){.fl-card{transition:none}}
