.apfid {
--navy-900: #0A1F42; --navy-800: #0F2B5B; --olive-700: #567714; --olive-800: #3F5A0C; --olive-300: #B7CF7E; --olive-100: #E4ECD3;
--surface: #FFFFFF; --surface-alt: #F4F5F0; --border: #E3E6DD; --border-control: #858C79;
--ink: #16202E; --ink-body: #26303F; --ink-muted: #3E4A5C; --ink-subtle: #5A6474;
--ok: #3F5A0C; --ok-bg: #E4ECD3; --watch: #7A4B00; --watch-bg: #FDEFD3; --action: #A3361F; --action-bg: #FBE4DE; --info: #0F2B5B; --info-bg: #E6EBF3;
font-family: Inter, system-ui, sans-serif; color: var(--ink-body); background: var(--surface-alt);
border: 1px solid var(--border); border-radius: 16px; padding: 40px; max-width: 880px; margin: 40px auto; box-sizing: border-box;
}
.apfid *, .apfid *::before, .apfid *::after { box-sizing: border-box; }
.apfid [hidden] { display: none !important; }
.apfid-eyebrow { font: 600 12px/1.4 Inter, sans-serif; letter-spacing: .14em; color: var(--olive-800); margin: 0 0 8px; text-transform: uppercase; }
.apfid-title { font: 800 clamp(26px, 3vw, 36px)/1.15 Montserrat, sans-serif; color: var(--navy-800); margin: 0 0 12px; }
.apfid-lead { font-size: 17px; line-height: 1.6; color: var(--ink-muted); margin: 0 0 28px; }
.apfid-drop { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center;
min-height: 200px; padding: 24px; background: var(--surface); border: 2px dashed var(--border-control); border-radius: 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.apfid-drop:hover, .apfid-drop.is-over { border-color: var(--olive-700); background: #FAFBF7; }
.apfid-drop:focus-within { outline: 2px solid var(--navy-800); outline-offset: 2px; }
.apfid-file { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.apfid-drop-icon { width: 52px; height: 52px; border-radius: 12px; background: var(--olive-100); display: grid; place-items: center; }
.apfid-drop-text { font-size: 15px; color: var(--ink-muted); }
.apfid-drop-text strong { color: var(--navy-800); font-size: 16px; }
.apfid-thumb { max-height: 220px; max-width: 100%; border-radius: 10px; object-fit: cover; }
.apfid-drop.has-photo .apfid-drop-icon, .apfid-drop.has-photo .apfid-drop-text { display: none; }
.apfid-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.apfid-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ink); margin-top: 0; }
.apfid-lead-form > .apfid-field { margin-top: 16px; }
.apfid-field input, .apfid-field select, .apfid-field textarea {
font: 400 16px/1.4 Inter, sans-serif; color: var(--ink); background: var(--surface); border: 1px solid var(--border-control); border-radius: 8px; padding: 11px 12px; min-height: 44px; width: 100%; }
.apfid-field input:focus, .apfid-field select:focus, .apfid-field textarea:focus { outline: 2px solid var(--navy-800); outline-offset: 2px; }
.apfid-field.is-invalid input, .apfid-field.is-invalid select { border-color: var(--action); }
.apfid-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--ink-muted); margin-top: 16px; }
.apfid-consent.is-invalid { color: var(--action); }
.apfid-consent input { width: 20px; height: 20px; margin-top: 1px; flex: none; accent-color: var(--olive-700); }
.apfid-consent a { color: var(--navy-800); }
.apfid-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.apfid-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; margin-top: 20px;
font: 700 16px/1 Montserrat, sans-serif; color: #fff; background: var(--olive-700); border: 0; border-radius: 10px; cursor: pointer; text-decoration: none; transition: background .15s; }
.apfid-btn:hover { background: var(--olive-800); color: #fff; }
.apfid-btn:focus-visible { outline: 2px solid var(--navy-800); outline-offset: 2px; }
.apfid-btn:disabled { background: #A9B19A; cursor: not-allowed; }
.apfid-lead-form .apfid-btn { background: var(--navy-800); width: 100%; }
.apfid-lead-form .apfid-btn:hover { background: var(--navy-900); }
.apfid-btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.6); }
.apfid-btn--ghost:hover { background: rgba(255,255,255,.1); }
.apfid-link { background: none; border: 0; color: var(--navy-800); font: 600 15px Inter, sans-serif; text-decoration: underline; cursor: pointer; margin-top: 20px; padding: 8px 0; min-height: 44px; }
.apfid-note, .apfid-small { font-size: 13px; line-height: 1.5; color: var(--ink-subtle); margin: 12px 0 0; }
.apfid-small a { color: var(--navy-800); }
.apfid-ai { position: relative; margin: 16px 0 0; padding: 12px 14px 12px 40px; border-radius: 10px; background: var(--info-bg); color: var(--info); font-size: 14px; line-height: 1.5; }
.apfid-ai::before { content: ""; position: absolute; left: 14px; top: 14px; width: 16px; height: 16px;
background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2B5B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E"); }
.apfid-error { margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--action-bg); color: var(--action); font-size: 14px; }
.apfid-loading { text-align: center; padding: 48px 0; color: var(--ink-muted); }
.apfid-loading strong { color: var(--navy-800); }
.apfid-spinner { width: 44px; height: 44px; margin: 0 auto 16px; border: 4px solid var(--olive-100); border-top-color: var(--olive-700); border-radius: 50%; animation: apfid-spin .9s linear infinite; }
@keyframes apfid-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .apfid-spinner { animation-duration: 3s; } }
.apfid-result { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 24px; }
.apfid-species { font: 800 28px/1.2 Montserrat, sans-serif; color: var(--navy-800); margin: 0; }
.apfid-latin { font-style: italic; color: var(--ink-subtle); margin: 4px 0 0; }
.apfid-meta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 14px; }
.apfid-conf { font-size: 14px; color: var(--ink-muted); }
.apfid-bar { height: 8px; background: var(--surface-alt); border-radius: 999px; margin-top: 12px; overflow: hidden; }
.apfid-bar span { display: block; height: 100%; background: var(--olive-700); border-radius: 999px; transition: width .6s ease; }
.apfid-badge { display: inline-block; padding: 6px 12px; border-radius: 999px; font: 600 12px/1.2 Inter, sans-serif; letter-spacing: .08em; }
.apfid-badge--ok { background: var(--ok-bg); color: var(--ok); }
.apfid-badge--watch { background: var(--watch-bg); color: var(--watch); }
.apfid-badge--action { background: var(--action-bg); color: var(--action); }
.apfid-badge--info { background: var(--info-bg); color: var(--info); }
.apfid-locked { margin-top: 16px; padding: 20px 24px; border-radius: 12px; background: var(--olive-100); }
.apfid-locked-title { font: 700 16px Montserrat, sans-serif; color: var(--navy-800); margin: 0 0 8px; }
.apfid-checks { list-style: none; margin: 0; padding: 0; }
.apfid-checks li { position: relative; padding: 4px 0 4px 28px; color: var(--olive-800); font-size: 15px; }
.apfid-checks li::before { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 16px;
background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23567714' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.apfid-lead-form { margin-top: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 24px; }
.apfid-form-title { font: 800 22px Montserrat, sans-serif; color: var(--navy-800); margin: 0; }
.apfid-reassure { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin: 14px 0 0; font-size: 13px; color: var(--ink-muted); }
.apfid-reassure span::before { content: "✓ "; color: var(--olive-700); font-weight: 700; }
.apfid-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 16px; }
.apfid-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 20px; }
.apfid-card-title { font: 700 17px Montserrat, sans-serif; color: var(--navy-800); margin: 0 0 10px; }
.apfid-dots { margin: 10px 0 0; padding-left: 18px; font-size: 15px; line-height: 1.55; }
.apfid-dots li { margin: 4px 0; }
.apfid-regle { margin: 16px 0; padding: 20px; border-left: 4px solid var(--navy-800); background: var(--surface); border-radius: 0 12px 12px 0; font-size: 15px; line-height: 1.6; }
.apfid-regle p { margin: 0; }
.apfid-regle .apfid-small { margin-top: 10px; }
.apfid-regle-sub { margin-top: 10px !important; }
.apfid-regle-sub strong { color: var(--navy-800); }
.apfid-sources { list-style: none; margin: 6px 0 0; padding: 0; font-size: 14px; }
.apfid-sources li { padding: 8px 0; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; }
.apfid-sources a { color: var(--navy-800); font-weight: 500; }
.apfid-sources span { color: var(--ink-subtle); font-size: 13px; }
.apfid-badge.is-pending { background: var(--info-bg); color: var(--info); animation: apfid-pulse 1.4s ease-in-out infinite; }
@keyframes apfid-pulse { 50% { opacity: .55; } }
@media (prefers-reduced-motion: reduce) { .apfid-badge.is-pending { animation: none; } }
.apfid-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 16px; }
.apfid-method { display: flex; flex-direction: column; gap: 4px; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; font-size: 14px; color: var(--ink-muted); }
.apfid-method strong { font: 700 15px Montserrat, sans-serif; color: var(--navy-800); }
.apfid-callout { padding: 20px; background: var(--watch-bg); border-radius: 12px; color: var(--watch); }
.apfid-callout .apfid-card-title { color: var(--watch); }
.apfid-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 24px; padding: 28px; background: var(--navy-800); border-radius: 14px; color: #C8D3E6; }
.apfid-cta p { margin: 0; }
.apfid-cta-title { font: 800 20px Montserrat, sans-serif; color: #fff !important; margin-bottom: 4px !important; }
.apfid-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.apfid-cta .apfid-btn { margin-top: 0; }
.apfid-cta .apfid-btn:not(.apfid-btn--ghost):focus-visible, .apfid-cta .apfid-btn--ghost:focus-visible { outline-color: #fff; }
@media (max-width: 640px) {
.apfid { padding: 24px 16px; margin: 24px 0; border-radius: 0; border-left: 0; border-right: 0; }
.apfid-row { grid-template-columns: 1fr; }
.apfid-btn { width: 100%; }
.apfid-cta-actions { width: 100%; }
} .apfid-prog { margin-top: 16px; padding: 20px 22px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; text-align: left; }
.apfid-loading .apfid-prog { max-width: 520px; margin: 8px auto; }
.apfid-prog-head { display: flex; align-items: center; gap: 10px; color: var(--navy-800); font: 700 16px Montserrat, sans-serif; }
.apfid-timer { margin-left: auto; font: 600 15px Inter, sans-serif; font-variant-numeric: tabular-nums; color: var(--ink-muted); background: var(--surface-alt); border-radius: 999px; padding: 4px 12px; }
.apfid-spin-sm { width: 18px; height: 18px; flex: none; border: 3px solid var(--olive-100); border-top-color: var(--olive-700); border-radius: 50%; animation: apfid-spin .9s linear infinite; }
.apfid-prog-steps { list-style: none; margin: 14px 0 0; padding: 0; }
.apfid-prog-steps li { position: relative; padding: 7px 0 7px 30px; font-size: 15px; line-height: 1.4; }
.apfid-prog-steps li::before { content: ""; position: absolute; left: 0; top: 8px; width: 18px; height: 18px; border-radius: 50%; box-sizing: border-box; }
.apfid-prog-steps li.is-todo { color: var(--ink-subtle); }
.apfid-prog-steps li.is-todo::before { border: 2px solid var(--border-strong, #C9CEC0); }
.apfid-prog-steps li.is-active { color: var(--navy-800); font-weight: 600; }
.apfid-prog-steps li.is-active::before { border: 3px solid var(--olive-100); border-top-color: var(--olive-700); animation: apfid-spin .9s linear infinite; }
.apfid-prog-steps li.is-done { color: var(--olive-800); }
.apfid-prog-steps li.is-done::before { background: var(--olive-700) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
@media (prefers-reduced-motion: reduce) { .apfid-spin-sm, .apfid-prog-steps li.is-active::before { animation-duration: 3s; } } .apfid a.apfid-btn, .apfid a.apfid-btn:link, .apfid a.apfid-btn:visited,
.apfid button.apfid-btn {
color: #fff !important; background: var(--olive-700) !important; border: 0 !important; box-shadow: none !important;
text-decoration: none !important; text-transform: none !important; letter-spacing: normal !important;
font: 700 16px/1 Montserrat, sans-serif !important; border-radius: 10px !important; padding: 0 24px !important; min-height: 48px;
}
.apfid a.apfid-btn:hover, .apfid a.apfid-btn:focus, .apfid button.apfid-btn:hover, .apfid button.apfid-btn:focus {
color: #fff !important; background: var(--olive-800) !important;
}
.apfid .apfid-lead-form button.apfid-btn { background: var(--navy-800) !important; }
.apfid .apfid-lead-form button.apfid-btn:hover, .apfid .apfid-lead-form button.apfid-btn:focus { background: var(--navy-900) !important; }
.apfid button.apfid-btn:disabled { background: #A9B19A !important; color: #fff !important; }
.apfid a.apfid-btn--ghost, .apfid a.apfid-btn--ghost:link, .apfid a.apfid-btn--ghost:visited {
color: #fff !important; background: transparent !important; border: 1px solid rgba(255,255,255,.6) !important;
}
.apfid a.apfid-btn--ghost:hover, .apfid a.apfid-btn--ghost:focus { color: #fff !important; background: rgba(255,255,255,.12) !important; }
.apfid button.apfid-link, .apfid button.apfid-link:hover, .apfid button.apfid-link:focus {
background: transparent !important; color: var(--navy-800) !important; border: 0 !important; box-shadow: none !important;
padding: 8px 0 !important; font: 600 15px Inter, sans-serif !important; text-decoration: underline !important; text-transform: none !important;
}
.apfid button.apfid-link:hover { color: var(--olive-800) !important; }
.apfid .apfid-regle a, .apfid .apfid-sources a, .apfid .apfid-small a, .apfid .apfid-consent a { color: var(--navy-800) !important; } .apfid-ico { flex: none; vertical-align: middle; }
.apfid-hero { display: grid; grid-template-columns: 180px 1fr; gap: 24px; align-items: center; }
.apfid-hero-photo { width: 180px; height: 180px; object-fit: cover; border-radius: 12px; border: 1px solid var(--border); display: block; }
.apfid-hero-photo[hidden], .apfid-hero-photo:not([src]) { display: none; }
.apfid-hero:has(.apfid-hero-photo:not([src])), .apfid-hero:has(.apfid-hero-photo[hidden]) { grid-template-columns: 1fr; }
.apfid-hero-ai { grid-column: 1 / -1; margin-top: 4px !important; }
.apfid-hero .apfid-species { font-size: 30px; }
.apfid-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.apfid-fact { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.apfid-fact-k { font: 600 11px/1.3 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-subtle); margin: 0; }
.apfid-fact-v { font-size: 15px; font-weight: 600; color: var(--navy-800); display: flex; align-items: center; gap: 4px; }
.apfid-fact-v .apfid-ico { color: var(--olive-700); }
.apfid-sec-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.apfid-sec-head h4 { margin: 0; font: 700 18px/1.25 Montserrat, sans-serif; color: var(--navy-800); }
.apfid-sec-ico { width: 40px; height: 40px; flex: none; border-radius: 10px; background: var(--olive-100); color: var(--olive-800); display: grid; place-items: center; }
.apfid-sec-out { margin: 24px 0 0; }
.apfid-ticks { list-style: none; margin: 0; padding: 0; }
.apfid-ticks li { display: flex; gap: 10px; align-items: flex-start; padding: 6px 0; font-size: 15px; line-height: 1.5; }
.apfid-ticks .apfid-ico { color: var(--olive-700); margin-top: 3px; }
.apfid-quote { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--olive-300); background: var(--surface-alt); border-radius: 0 8px 8px 0; font-size: 14px; color: var(--ink-muted); line-height: 1.55; }
.apfid-risks { list-style: none; margin: 0; padding: 0; }
.apfid-risks li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-top: 1px solid var(--border); font-size: 14px; line-height: 1.5; color: var(--ink-muted); }
.apfid-risks li:first-child { border-top: 0; padding-top: 0; }
.apfid-risks strong { color: var(--ink); font-size: 15px; }
.apfid-regle-card { margin-top: 16px; border-left: 4px solid var(--navy-800); }
.apfid-regle-text { margin: 0; font-size: 15px; line-height: 1.65; }
.apfid-regle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.apfid-regle-grid > div { background: var(--surface-alt); border-radius: 10px; padding: 14px 16px; }
.apfid-regle-grid p { margin: 0; font-size: 14px; line-height: 1.55; }
.apfid-regle-grid .apfid-fact-k { margin-bottom: 6px; }
.apfid-src-title { margin-top: 18px !important; }
.apfid-sources li { flex-direction: row !important; gap: 10px; align-items: flex-start; }
.apfid-sources li > .apfid-ico { color: var(--navy-800); margin-top: 2px; }
.apfid-sources li > div { display: flex; flex-direction: column; gap: 2px; }
.apfid-print-url { display: none; }
.apfid-methods { margin-top: 12px; }
.apfid-method { gap: 8px !important; padding: 18px !important; }
.apfid-method-ico { width: 52px; height: 52px; border-radius: 12px; background: var(--olive-100); color: var(--olive-800); display: grid; place-items: center; margin-bottom: 4px; }
.apfid-callout .apfid-sec-ico { background: #F7DFB0; color: var(--watch); }
.apfid-callout .apfid-sec-head h4 { color: var(--watch); }
.apfid-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 20px; }
.apfid-action-msg { font-size: 14px; color: var(--olive-800); } .apfid-cta { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 24px; padding: 24px; background: var(--navy-800); border-radius: 14px; }
.apfid .apfid-cta a.apfid-btn { margin: 0 !important; }
.apfid a.apfid-btn--lg { min-height: 56px !important; font-size: 17px !important; padding: 0 28px !important; }
.apfid a.apfid-btn--phone, .apfid a.apfid-btn--phone:link, .apfid a.apfid-btn--phone:visited {
background: #fff !important; color: var(--navy-800) !important; min-height: 56px !important; font-size: 17px !important; gap: 10px; padding: 0 24px !important;
}
.apfid a.apfid-btn--phone:hover, .apfid a.apfid-btn--phone:focus { background: var(--olive-100) !important; color: var(--navy-900) !important; }
.apfid .apfid-cta a.apfid-btn:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
.apfid button.apfid-btn--soft, .apfid button.apfid-btn--soft:hover, .apfid button.apfid-btn--soft:focus {
background: var(--surface) !important; color: var(--navy-800) !important; border: 1px solid var(--border-control) !important;
font: 600 15px Inter, sans-serif !important; min-height: 44px; gap: 8px; margin-top: 0 !important; padding: 0 16px !important;
}
.apfid button.apfid-btn--soft:hover { background: var(--olive-50, #F0F5E4) !important; }
.apfid button.apfid-btn--soft:disabled { opacity: .6; }
.apfid-print-head { display: none; }
@media (max-width: 640px) {
.apfid-hero { grid-template-columns: 1fr; }
.apfid-hero-photo { width: 100%; height: 220px; }
.apfid-facts, .apfid-regle-grid { grid-template-columns: 1fr; }
.apfid-cta { padding: 16px; }
.apfid .apfid-cta a.apfid-btn { width: 100%; }
.apfid-actions .apfid-btn { width: auto !important; flex: 1; }
} @media print {
html.apfid-printing body * { visibility: hidden !important; }
html.apfid-printing .apfid-print-zone, html.apfid-printing .apfid-print-zone * { visibility: visible !important; }
html.apfid-printing .apfid-print-zone { position: absolute; left: 0; top: 0; width: 100%; margin: 0 !important; border: 0 !important; padding: 0 !important; background: #fff !important; }
.apfid-print-zone .apfid-head, .apfid-print-zone .apfid-actions, .apfid-print-zone [data-restart], .apfid-print-zone [data-step]:not([data-step="report"]) { display: none !important; }
.apfid-print-zone .apfid-print-head { display: flex !important; justify-content: space-between; border-bottom: 2px solid #0F2B5B; padding-bottom: 8px; margin-bottom: 16px; color: #0F2B5B; font-size: 12px; }
.apfid-print-zone .apfid-print-url { display: block; font-size: 10px; color: #5A6474; word-break: break-all; }
.apfid-print-zone .apfid-grid .apfid-card, .apfid-print-zone .apfid-method, .apfid-print-zone .apfid-fact, .apfid-print-zone .apfid-callout { break-inside: avoid; }
.apfid-print-zone .apfid-cta { background: #fff !important; border: 2px solid #0F2B5B; break-inside: avoid; }
.apfid-print-zone * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.apfid-print-zone .apfid-spinner, .apfid-print-zone .apfid-badge.is-pending { animation: none !important; }
}