/* AdditionPilot estimate summary / printable report / device-only saving. */
.ap-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 14px}
.ap-scenario{min-width:0;border:1px solid rgba(179,217,205,.25);background:rgba(255,255,255,.08);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:7px}
.ap-scenario span{font-size:.74rem;line-height:1.25;color:#d4e6e1;font-weight:650}
.ap-scenario strong{color:#fff;font-size:clamp(.94rem,1.35vw,1.13rem);letter-spacing:-.025em;font-weight:840;line-height:1.22;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ap-scenario-mid{background:#e4f7eb;border:1px solid #b3e0c8;box-shadow:0 6px 18px rgba(3,19,19,.08)}
.ap-scenario-mid span{color:#21584b}
.ap-scenario-mid strong{color:#0b493c}
.ap-scenario-details{font-size:.81rem;color:#d0e3df;line-height:1.48;border-top:1px solid rgba(205,231,223,.25);padding-top:13px}
.ap-scenario-details p{margin:0 0 7px;color:#d8e9e5}
.ap-scenario-details strong{color:#f1fff8}
.ap-scenario-details .ap-midpoint-disclaimer{font-size:.73rem;line-height:1.45;color:#c6ded8;margin:7px 0 0}
.ap-quick-result .result-table{border-color:#4c7972}
.ap-quick-result .result-row{padding:10px 0}
.ap-quick-result .result-row strong{font-weight:750;font-variant-numeric:tabular-nums}
.ap-quick-result .result-actions{margin-top:22px}
.ap-quick-result .ap-save-estimate{grid-column:1/-1;background:rgba(205,236,219,.15);color:#f7fff9;border:1px solid rgba(216,242,228,.55);text-align:center}
.ap-quick-result .ap-save-estimate:hover{background:rgba(205,236,219,.26);color:#fff}
.ap-quick-result .ap-save-help{font-size:.75rem;line-height:1.45;margin:12px 0 4px;color:#c2dfd8}
.ap-save-status{font-size:.8rem;line-height:1.5;margin:5px 0 0;color:#c2f5d7;font-weight:700}
.ap-save-status.ap-save-error{color:#ffe4bd}
.ap-saved-recovery{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:13px 16px;margin:15px 0 0;background:#ebf6ef;border:1px solid #c5dfcd;border-radius:12px}
.ap-saved-recovery strong{display:block;color:#1c584e;font-size:.87rem;line-height:1.3}
.ap-saved-recovery small{display:block;font-size:.73rem;color:#4e6d69;margin-top:3px}
.ap-saved-buttons{display:flex;gap:10px;align-items:center}
.ap-saved-buttons .btn{font-size:.77rem;min-height:38px;padding:9px 13px}
.ap-forget-saved{padding:8px;border:0;background:none;color:#3e6262;font-weight:750;font-size:.8rem;text-decoration:underline;text-underline-offset:3px}
.ap-forget-saved:hover{color:#0a5f58}
@media(max-width:580px){
  .ap-scenario-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .ap-scenario{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px}
  .ap-scenario strong{font-size:1.04rem;white-space:nowrap}
  .ap-scenario span{font-size:.78rem}
  .ap-saved-recovery{flex-direction:column;align-items:stretch}
  .ap-saved-buttons{justify-content:flex-start}
}
@page{size:letter;margin:.55in}
#ap-print-sheet{display:none}
@media print{
  html,body{height:auto!important;overflow:visible!important;background:#fff!important;color:#1c3340!important;font:10pt/1.4 Arial,sans-serif!important}
  body > :not(#ap-print-sheet){display:none!important}
  body > #ap-print-sheet{display:block!important;position:static!important;visibility:visible!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:white!important;color:#213d46!important;box-shadow:none!important}
  #ap-print-sheet *{box-sizing:border-box;color:#203945!important;font-family:Arial,sans-serif!important;line-height:1.36}
  #ap-print-sheet .ap-print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #127567;padding:0 0 12px;gap:14px;text-transform:uppercase;font-size:8.5pt;letter-spacing:.06em}
  #ap-print-sheet .ap-print-brand{font-size:18pt!important;font-weight:800;letter-spacing:-.05em;text-transform:none;color:#122e33!important}
  #ap-print-sheet .ap-print-brand span{color:#127567!important}
  #ap-print-sheet h1{font-size:21pt!important;line-height:1.16;margin:19px 0 7px;letter-spacing:-.025em;color:#142d35!important}
  #ap-print-sheet .ap-print-lead{font-size:9pt;color:#4c6770!important;margin:0 0 15px}
  #ap-print-sheet .ap-print-total{border:1px solid #c9e5d7;border-radius:8px;padding:15px 20px;margin-bottom:12px;background:#eff7f2!important;break-inside:avoid}
  #ap-print-sheet .ap-print-total span{font-size:9pt;color:#40655e!important;display:block}
  #ap-print-sheet .ap-print-total strong{font-size:22pt!important;color:#0b5b4d!important;letter-spacing:-.04em;display:block;margin:7px 0}
  #ap-print-sheet .ap-print-total small{display:block;font-size:8pt;color:#556e6a!important}
  #ap-print-sheet .ap-print-key-grid{display:flex;gap:12px;margin:12px 0 15px}
  #ap-print-sheet .ap-print-key{border:1px solid #dae8e0;padding:9px 12px;border-radius:5px;flex:1;break-inside:avoid}
  #ap-print-sheet .ap-print-key span{font-size:8pt;display:block;color:#546a66!important}
  #ap-print-sheet .ap-print-key strong{display:block;margin:5px 0 0;font-size:12pt;color:#175e50!important}
  #ap-print-sheet h2{font-size:12pt!important;margin:15px 0 9px;padding-bottom:6px;border-bottom:1px solid #d6e3db;break-after:avoid}
  #ap-print-sheet table{border-collapse:collapse;width:100%;font-size:8pt!important;background:#fff!important;break-inside:auto;margin:0 0 13px}
  #ap-print-sheet tr{break-inside:avoid}
  #ap-print-sheet th,#ap-print-sheet td{border-bottom:1px solid #e2ebe5;padding:7px 6px;text-align:left}
  #ap-print-sheet th{font-weight:650}
  #ap-print-sheet .ap-print-costs th:nth-child(2),#ap-print-sheet .ap-print-costs th:nth-child(3),#ap-print-sheet .ap-print-costs td:nth-child(2),#ap-print-sheet .ap-print-costs td:nth-child(3){text-align:right}
  #ap-print-sheet .ap-print-footnotes{border-top:1px solid #dae8e0;margin-top:18px;padding-top:7px;break-inside:avoid}
  #ap-print-sheet .ap-print-footnotes p{font-size:8pt;line-height:1.4;color:#4a656a!important;max-width:none;margin:5px 0}
  #ap-print-sheet footer{padding-top:12px;margin-top:17px;border-top:1px solid #d8e8df;text-align:right;font-size:7.5pt;color:#637b7e!important}
}
