#page-passport .fpp{max-width:860px;margin:0 auto}
.fpp-cover{position:relative;border:1px solid var(--bdr);border-radius:18px;padding:22px;background:linear-gradient(145deg,var(--s2),var(--s1));overflow:hidden;margin-bottom:16px}
.fpp-cover::after{content:'';position:absolute;inset-inline-end:-40px;top:-40px;width:160px;height:160px;border:2px dashed var(--bdr);border-radius:50%;pointer-events:none}
.fpp-kicker{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g);font-weight:800}
.fpp-name{font-size:1.6rem;font-weight:900;margin:4px 0}
.fpp-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.fpp-sec{margin:22px 0 10px;font-size:1rem;font-weight:900;color:var(--tx)}
.fpp-note{font-size:.76rem;color:var(--tx2);line-height:1.7;margin-bottom:10px}
.fpp-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}
.fpp-stat{background:var(--s1);border:1px solid var(--bdr2);border-radius:12px;padding:12px}
.fpp-stat b{display:block;font-family:var(--mono);font-size:1.3rem;color:var(--g)}
.fpp-stat span{font-size:.7rem;color:var(--mu)}
.fpp-box{background:var(--s1);border:1px solid var(--bdr2);border-radius:14px;padding:14px;margin-bottom:10px}
.fpp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px;max-height:240px;overflow:auto;margin:8px 0;border:0;padding:0}
.fpp-list label{display:flex;gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--bdr2);border-radius:8px;font-size:.8rem;background:var(--s2)}
.fpp-list label:has(input:checked){border-color:var(--g);background:var(--gdim)}
.fpp input[type=text],.fpp input[type=date],.fpp select{background:var(--s2);color:var(--tx);border:1px solid var(--bdr2);border-radius:8px;padding:9px;min-height:40px;max-width:100%}
.fpp-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}
.fpp-form label{display:grid;gap:3px;font-size:.72rem;color:var(--tx2)}
.fpp button{min-height:40px}
.fpp-visit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--bdr2)}
.fpp-ach{display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.fpp-ach .fpp-box{margin:0}
.fpp-ach .on{border-color:var(--g)}
.fpp-bar{height:7px;border-radius:4px;background:var(--s3);overflow:hidden;margin:8px 0}
.fpp-bar i{display:block;height:100%;background:var(--g)}
.fpp-err{color:var(--rd);font-size:.8rem;margin:6px 0}
.fpp-ok{color:var(--g);font-size:.8rem}
.fpp-skel{height:90px;border-radius:14px;background:var(--s2);margin-bottom:10px;animation:pulse 1.4s infinite}
.fpp-entry{margin-top:18px;width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--g);border-radius:12px;background:var(--gdim);color:var(--tx);font-weight:800}
.fpp-hist{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--bdr2);font-size:.8rem}
