/* Calculation pack - screen + print. The print rules matter more than the screen ones:
   this document exists to be put in a project file. */
.cpwrap{max-width:820px;margin:34px auto 60px;padding:0 20px}
.cpbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}
.cpb{font:inherit;font-size:.85rem;font-weight:700;padding:9px 16px;border:1px solid #d5dee5;
 background:#fff;color:#14202b;cursor:pointer;border-radius:2px}
.cpb:hover{background:#eef2f6}
.cpb.cpp{background:#14202b;color:#fff;border-color:#14202b}

.cpdoc{background:#fff;border:1px solid #d5dee5;padding:44px 46px 34px;color:#14202b;
 font-size:.9rem;line-height:1.6}
.cph{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;
 border-bottom:3px solid #14202b;padding-bottom:16px}
.cplogo{height:34px;display:block;margin-bottom:8px}
.cpco{font-weight:800;font-size:1.02rem;letter-spacing:.01em}
.cpsub{font-size:.78rem;color:#5f7180}
.cpqr{text-align:center;flex:0 0 auto}
/* An SVG scales cleanly to print, but this also has to survive being scanned off a screen and off
   a 300dpi office printer - so give the symbol enough physical room to resolve its modules. */
.cpqr svg{display:block;width:132px;height:132px}
.cpqrc{font-size:.62rem;color:#5f7180;letter-spacing:.04em;margin-top:3px}

.cpt{font-size:1.5rem;margin:22px 0 2px;line-height:1.25}
.cpst{color:#5f7180;margin:0 0 18px;font-size:.88rem}

.cpmeta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#eef2f6;
 padding:13px 16px;margin-bottom:20px}
.cpmeta span{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#5f7180;font-weight:700}
.cpmeta b{font-size:.92rem;font-variant-numeric:tabular-nums}

.cpv{display:flex;align-items:baseline;gap:14px;padding:14px 18px;margin-bottom:22px;
 border-left:5px solid;font-size:.92rem}
.cpv b{font-size:.78rem;letter-spacing:.1em;flex:0 0 auto}
.cpv.ok{border-color:#1f7a4d;background:#eef7f2;color:#14532d}
.cpv.no{border-color:#a12d2d;background:#fbeeee;color:#7f1d1d}

.cps{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#5f7180;
 font-weight:800;margin:24px 0 8px;padding-bottom:5px;border-bottom:1px solid #e3e9ee}
.cptb{width:100%;border-collapse:collapse;font-size:.85rem}
.cptb th,.cptb td{text-align:left;padding:7px 10px 7px 0;border-bottom:1px solid #eef2f6;vertical-align:top}
.cptb th{font-weight:600;color:#5f7180;width:44%}
.cptb td.em{font-weight:800;font-variant-numeric:tabular-nums}
.cpsrc thead th{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#5f7180;
 border-bottom:2px solid #d5dee5;width:auto;padding-bottom:6px}
.cpsrc td{font-size:.8rem}
.cpsrc td:nth-child(1){width:27%;font-weight:600}
.cpsrc td:nth-child(3){width:22%;font-variant-numeric:tabular-nums}
.cpn{color:#5f7180;font-size:.76rem!important;line-height:1.5}
.cpk{display:inline-block;color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.08em;
 padding:2px 7px;border-radius:2px;white-space:nowrap}

.cpw{border:1px solid #f0d9a8;background:#fdf8ee;padding:14px 18px;margin-top:24px}
.cpw b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8a6d1f;margin-bottom:6px}
.cpw ul{margin:0;padding-left:18px;font-size:.82rem;color:#5f4a15}
.cpw li{margin:3px 0}

.cpsign{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:34px 0 8px}
.cpsign span{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#5f7180;font-weight:700}
.cpline{border-bottom:1px solid #14202b;height:34px}

.cpf{border-top:1px solid #e3e9ee;margin-top:26px;padding-top:14px;font-size:.72rem;color:#5f7180;line-height:1.6}
.cpf p{margin:0 0 7px}
.cpf b{color:#14202b}
.cpurl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;
 word-break:break-all;color:#8a99a6}

@media print{
 body>*{display:none!important}
 body>.cpwrap{display:block!important;max-width:none;margin:0;padding:0}
 .cpbar{display:none!important}
 .cpdoc{border:0;padding:0}
 .cpsrc tr,.cptb tr{page-break-inside:avoid}
 .cpw,.cpsign,.cpf{page-break-inside:avoid}
 @page{margin:16mm 14mm}
}
