/* Quote Flyer: the builder (screen only) and the letter-size flyer (screen + print).
   The flyer's look is ported from OSA/ccsw-quote, made generic: OSA logo plus the group's name. */
.qf-top{margin-bottom:10px}
.qf-bar{max-width:520px}
.qf{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:start;margin-top:6px}
@media(max-width:1100px){.qf{grid-template-columns:minmax(0,1fr)}}

/* ---- builder ---- */
.qf-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;position:sticky;top:12px}
@media(max-width:1100px){.qf-panel{position:static}}
.qf-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.qf-meta span{font-size:11px;font-weight:700;color:var(--navy);background:var(--sky-soft);border-radius:999px;padding:2px 9px}
.qf-panel fieldset{border:1px solid var(--line);border-radius:8px;padding:10px 10px 12px;margin:0 0 10px}
.qf-panel legend{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--navy);padding:0 4px;margin:0}
.qf-row{display:flex;gap:8px;margin-bottom:8px}
.qf-row:last-child{margin-bottom:0}
.qf-f{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:600;color:var(--sub)}
.qf-f input,.qf-f select{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:400 13.5px/1.3 inherit;color:var(--ink);background:#fff}
.qf-age{flex:0 0 72px}
.qf-seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.qf-seg button{flex:1;padding:6px 0;border:0;background:#fff;color:var(--sub);font:600 12.5px/1.2 inherit;cursor:pointer}
.qf-seg button.on{background:var(--navy);color:#fff}
.qf-seg button:focus-visible,.qf-add:focus-visible{outline:2px solid var(--sky);outline-offset:1px}
.qf-toggle{flex-direction:row;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--sub)}
.qf-toggle input{width:auto;padding:0}
#qf-s-body{margin-top:8px}
.qf-kid{display:flex;gap:6px;align-items:flex-end;margin-bottom:8px}
.qf-kid .qf-age{flex:0 0 60px}
.qf-kid .qf-tob{flex:0 0 72px}
.qf-kid .qf-cov{flex:0 0 100px}
.qf-kid .rm{flex:none;width:28px;height:30px;border:1px solid var(--line);background:#fff;color:#b42318;border-radius:6px;font-size:16px;line-height:1;cursor:pointer}
.qf-add{border:1px dashed var(--line);background:none;border-radius:6px;padding:5px 10px;font:600 12.5px/1.2 inherit;color:var(--navy);cursor:pointer}
.qf-warn{font-size:12px;color:#b42318;margin-top:6px}
.qf-warn:empty{display:none}
.qf-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qf-actions small{flex-basis:100%;font-size:11.5px;color:var(--faint)}

/* ---- preview ---- */
.qf-stage{overflow:hidden;min-width:0}
.qf-fit{overflow:hidden}
.qf-wrap{transform-origin:top left;box-shadow:0 12px 40px rgba(7,43,78,.16);width:8.5in}

/* ---- the flyer ---- */
.sheet{--f-navy:#072b4e;--f-deep:#0e3f66;--f-blue:#0e5d96;--f-gold:#c9a227;--f-cream:#f4f7fa;--f-line:#dbe4ec;--f-muted:#5b6064;
  width:8.5in;min-height:11in;background:#fff;padding:.5in .6in .45in;display:flex;flex-direction:column;color:#231f20;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
.f-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:3px solid var(--f-deep);padding-bottom:12px}
.f-top img.logo{height:.45in;display:block}
.f-top .emp{text-align:right;max-width:3.6in;color:var(--f-navy);line-height:1.3}
.f-top .emp b{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--f-blue)}
.f-top .emp span{display:block;font-family:Georgia,serif;font-size:1.05rem;font-weight:700}
.f-hero{text-align:center;margin-top:26px}
.f-kick{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--f-blue)}
h2.f-name{font-family:Georgia,serif;color:var(--f-navy);line-height:1.05;margin-top:8px;font-size:3.2rem;letter-spacing:-.01em;overflow-wrap:anywhere}
.f-tag{font-family:Georgia,serif;font-size:1.18rem;margin-top:10px}
.f-tag em{color:var(--f-gold);font-style:normal}
.f-meta{margin-top:6px;font-size:.78rem;color:var(--f-muted)}
.fam{display:flex;justify-content:center;gap:12px;margin-top:26px;flex-wrap:wrap}
.fam-card{flex:0 1 1.62in;min-width:1.4in;text-align:center;background:var(--f-cream);border:1px solid var(--f-line);border-radius:14px;padding:16px 10px 14px}
.fam-card.you{background:#fff;border:2px solid var(--f-gold)}
.fam-card .fc-ico{height:52px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:8px}
.fam-card .fc-name{font-family:Georgia,serif;font-weight:700;font-size:1.05rem;color:var(--f-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fam-card .fc-role{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--f-muted);margin-top:1px}
.fam-card .fc-cov{font-family:Georgia,serif;font-size:1.5rem;margin-top:10px}
.fam-card .fc-per{font-size:.74rem;color:var(--f-muted);margin-top:2px}
.fam-card .fc-per b{color:var(--f-blue)}
.f-total{margin-top:24px;text-align:center;background:var(--f-deep);color:#fff;border-radius:14px;padding:20px 24px 18px}
.f-total .t-line{font-family:Georgia,serif;font-size:1.3rem}
.f-total .t-line b{color:#ffd766;font-size:1.9rem}
.f-total .t-sub{font-size:.8rem;color:rgba(255,255,255,.8);margin-top:6px}
.f-total .t-sub b{color:#fff}
.f-points{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:7px 26px;padding:0 .2in}
.f-points li{list-style:none;position:relative;padding-left:20px;font-size:.86rem}
.f-points li::before{content:"✓";position:absolute;left:0;color:var(--f-gold);font-weight:700}
.f-cta{margin-top:auto;border-top:3px solid var(--f-deep);padding:14px 4px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}
.f-cta .msg{font-family:Georgia,serif;font-size:1.05rem;color:var(--f-navy)}
.f-cta .agent{text-align:right;font-size:.84rem;line-height:1.4;flex:none}
.f-cta .agent b{display:block;font-size:.95rem;color:var(--f-navy)}
.f-fine{margin-top:10px;font-size:.58rem;color:#8b949b;line-height:1.45}

/* ---- print: the flyer alone, one letter page ---- */
@media print{
  @page{size:letter;margin:0}
  html,body{background:#fff;height:auto}
  .app{display:block;min-height:0}
  .side,.qf-top,.qf-bar,.qf-msg,.qf-panel,.eg-foot{display:none!important}
  .main{padding:0;max-width:none}
  .qf{display:block;margin:0}
  .qf-stage,.qf-fit{overflow:visible;width:auto!important;height:auto!important}
  .qf-wrap{transform:none!important;box-shadow:none;width:auto}
  .sheet{width:100%;height:11in;min-height:0;overflow:hidden;break-inside:avoid}
  .f-total,.fam-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
