.fid-btn{display:inline-flex;align-items:center;gap:.4rem;margin:.5rem 0;padding:.55rem .9rem;border-radius:999px;border:1px solid #2dd4bf;background:#0f2a3a;color:#e6fffb;font-weight:700;font-size:.95rem;width:100%;justify-content:center}
.fid-sheet{position:fixed;inset:0;z-index:4000;background:rgba(3,10,18,.72);display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}
.fid-sheet[hidden]{display:none}
.fid-card{position:relative;background:#0b1d2b;color:#e8f1f7;width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0;padding:1rem 1rem 1.2rem;border-top:1px solid #1f4a5e}
.fid-card h3{margin:.2rem 2.6rem .7rem 0;font-size:1.1rem}
.fid-x{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border-radius:50%;border:1px solid #2b5468;background:#13293a;color:#fff;font-size:1.1rem}
.fid-photo{width:100%;max-height:34vh;object-fit:cover;border-radius:12px;margin-bottom:.7rem}
.fid-row{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;padding:.7rem;margin:.35rem 0;border-radius:12px;border:1px solid #23506a;background:#102a3c;color:inherit}
.fid-rank{width:1.6rem;height:1.6rem;border-radius:50%;background:#2dd4bf;color:#04202a;font-weight:800;display:grid;place-items:center;flex:none}
.fid-nm{flex:1;display:flex;flex-direction:column}.fid-nm small{opacity:.7}
.fid-pct{font-weight:800;color:#5eead4}
.fid-disc{margin-top:.8rem;padding:.6rem .7rem;border-radius:10px;background:#3a2a08;border:1px solid #d9a420;color:#ffe7a3;font-size:.88rem}
.fid-low{padding:.5rem .7rem;border-radius:10px;background:#3b1414;border:1px solid #c2410c;color:#fecaca;font-size:.88rem}
.fid-hint,.fid-status{font-size:.85rem;opacity:.8}
.pv-list{padding-left:1.1rem;line-height:1.45;font-size:.92rem}.pv-list li{margin:.35rem 0}
.pv-ok{width:100%;margin-top:.6rem;padding:.75rem;border-radius:12px;border:0;background:#2dd4bf;color:#04202a;font-weight:800;font-size:1rem}
.pv-row{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:none;border:0;color:inherit;font:inherit}
/* v37 fish-ID hero + filters */
.fid-hero{display:flex;align-items:center;gap:.8rem;width:100%;margin:.6rem 0 .8rem;padding:.9rem 1rem;border-radius:16px;border:1.5px solid #2dd4bf;background:linear-gradient(135deg,#0f3b4a,#0b2536);color:#e6fffb;text-align:left;box-shadow:0 4px 16px rgba(45,212,191,.18)}
.fid-cam{flex:none;width:52px;height:52px;border-radius:14px;background:#2dd4bf;display:grid;place-items:center;font-size:1.6rem}
.fid-txt{flex:1;display:flex;flex-direction:column;line-height:1.25}.fid-txt b{font-size:1.05rem}.fid-txt span{font-size:.95rem}.fid-txt small{margin-top:.2rem;color:#5eead4;font-weight:700}
.fid-go{font-size:1.8rem;color:#5eead4}
.sp-filters{margin:.7rem 0 .4rem;padding:.7rem;border-radius:14px;background:#0c1f2d;border:1px solid #1d3d50}
.sp-fhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.sp-flabel{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5eead4}
.sp-reset{min-height:36px;padding:.3rem .75rem;border-radius:999px;border:1px solid #f59e0b;background:#3a2a08;color:#fde68a;font-weight:700}
.sp-seg{display:flex;border:1px solid #2b5468;border-radius:12px;overflow:hidden}
.sp-segb{flex:1;min-height:46px;border:0;background:#102a3c;color:#cfe3ee;font-weight:700;font-size:.92rem}.sp-segb+.sp-segb{border-left:1px solid #2b5468}
.sp-segb small{font-weight:500;opacity:.8}.sp-segb.on{background:#2dd4bf;color:#04202a}
.sp-toggles{display:flex;gap:.5rem;margin:.55rem 0}
.sp-tog{flex:1;display:flex;align-items:center;gap:.45rem;min-height:46px;padding:.4rem .6rem;border-radius:12px;border:1px solid #2b5468;background:#102a3c;color:#e8f1f7;font-weight:700;font-size:.9rem}
.sp-sw{flex:none;width:30px;height:18px;border-radius:9px;background:#3b5566;position:relative}.sp-sw:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.sp-tog.on{border-color:#2dd4bf;background:#0f3b3a}.sp-tog.on .sp-sw{background:#2dd4bf}.sp-tog.on .sp-sw:after{left:14px}
.sp-n{margin-left:auto;min-width:1.6rem;padding:.05rem .4rem;border-radius:999px;background:#1d3d50;font-size:.8rem;text-align:center}
.sp-glabel{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:#9fb8c6}.sp-glabel .sp-select{flex:1;min-height:44px;margin:0}
