#fl-planner{max-width:760px;margin:0 auto}
.flp-card{background:#fff;border-radius:18px;padding:26px 24px;box-shadow:0 18px 40px -24px rgba(23,58,48,.45);color:#1f2a26;font-family:Montserrat,system-ui,sans-serif}
.flp-card h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(24px,4vw,32px);color:#173a30;margin:4px 0 16px;line-height:1.15}
.flp-step{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#c8553d;margin:0}
.flp-prog{height:6px;background:#efe6d6;border-radius:9px;margin-bottom:16px;overflow:hidden}.flp-prog span{display:block;height:100%;background:#c8553d;transition:width .3s}
.flp-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.flp-opt{text-align:left;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(23,58,48,.2);background:#f7f2e8;font:600 15px Montserrat,system-ui,sans-serif;color:#173a30;cursor:pointer;transition:border-color .15s,transform .15s}
.flp-opt:hover,.flp-opt:focus-visible{border-color:#c8553d;transform:translateY(-1px);outline:none}
.flp-back{margin-top:14px;background:none;border:0;color:#5e6b64;font:600 14px Montserrat,system-ui,sans-serif;cursor:pointer;padding:6px 0}
.flp-plan{list-style:none;padding:0;margin:0;border-left:3px solid #f4d9a8;padding-left:18px}
.flp-stop{position:relative;padding:0 0 18px}.flp-stop::before{content:"";position:absolute;left:-26px;top:4px;width:13px;height:13px;border-radius:50%;background:#c8553d;border:3px solid #fff}
.flp-when{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#7f9a75}
.flp-stop b{display:block;font-size:17px;color:#173a30;margin:2px 0}.flp-meta{font-size:12.5px;color:#5e6b64}
.flp-stop p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:#3d4843}
.flp-links a{color:#c8553d;font-weight:600;font-size:13.5px;margin-right:14px;text-decoration:none}
.flp-locked b,.flp-locked .flp-meta{filter:blur(4px);user-select:none}
.flp-unlock{margin:6px 0 18px;padding:18px;border-radius:14px;background:#173a30;color:#f7f2e8}.flp-unlock b{font-size:18px;color:#f4d9a8}.flp-unlock p{margin:6px 0 12px;font-size:14.5px}
.flp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.flp-btn,.flp-ghost{display:inline-block;padding:12px 20px;border-radius:999px;font:600 14.5px Montserrat,system-ui,sans-serif;cursor:pointer;text-decoration:none;border:0}
.flp-btn{background:#c8553d;color:#fff}.flp-ghost{background:transparent;color:#173a30;box-shadow:inset 0 0 0 1.5px rgba(23,58,48,.35)}
.flp-fine{font-size:12px;color:#5e6b64;margin:14px 0 0}
@media print{body *{visibility:hidden}#fl-planner,#fl-planner *{visibility:visible}#fl-planner{position:absolute;inset:0}.flp-actions,.flp-unlock{display:none}}
