/* ASTAY payment-plan builder (CRM only: crm-hub.html#payment and the explorer sales panel). Scoped to .pp; the layout
   follows its own width (container queries), so it fits the hub's main column and the narrower sales dialog alike. */
.pp{--pp-ink:#234759;--pp-ink-2:#173b4d;--pp-muted:#5d7380;--pp-paper:#f4f1e8;--pp-card:#fffefa;--pp-brass:#ad9872;--pp-line:#23475922;--pp-line-2:#23475938;--pp-up:#8a4b2c;--pp-down:#2f6b4f;
  --pp-serif:Georgia,'Times New Roman',serif;--pp-sans:Arial,Helvetica,sans-serif;container-type:inline-size;color:var(--pp-ink);font:13px/1.5 var(--pp-sans);font-variant-numeric:tabular-nums;min-width:0}
.pp *{box-sizing:border-box}
.pp h2,.pp h3,.pp h4,.pp h5{font-family:var(--pp-serif);font-weight:400;margin:0;color:var(--pp-ink)}
.pp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.pp-head h2{font-size:28px;line-height:1.15}
.pp-head p:not(.pp-eyebrow){margin:6px 0 0;color:var(--pp-muted);max-width:760px}
.pp-eyebrow{margin:0 0 4px;font:600 10.5px/1.4 var(--pp-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pp-brass)}
.pp-badges{display:flex;gap:6px;flex-wrap:wrap;margin:-6px 0 12px}
.pp-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border:1px solid var(--pp-line-2);border-radius:999px;background:var(--pp-card);font-size:11.5px;color:var(--pp-muted);white-space:nowrap}
.pp-badge.demo{border-color:#ad987288;background:#f3ecdc;color:#6b5a37}
.pp-sample{font-size:11px;color:#7d6a45;font-style:italic}
.pp-layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;align-items:start}
@container (max-width:880px){.pp-layout{grid-template-columns:minmax(0,1fr)}.pp-form{position:static!important;max-height:none!important}}
/* form */
.pp-form{position:sticky;top:12px;max-height:calc(100dvh - 24px);overflow:auto;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:8px;padding:6px 16px 14px;overscroll-behavior:contain}
.pp-form fieldset,.pp-costs-in{border:0;border-bottom:1px solid var(--pp-line);margin:0;padding:12px 0 14px;min-width:0}
.pp-form legend,.pp-costs-in>summary{display:flex;align-items:center;gap:8px;padding:0;margin:0 0 10px;font:17px var(--pp-serif);color:var(--pp-ink)}
.pp-form legend span,.pp-costs-in>summary span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--pp-ink);color:#fffefa;font:600 11px var(--pp-sans)}
.pp-costs-in>summary{cursor:pointer;list-style:none;margin:0}
.pp-costs-in>summary::-webkit-details-marker{display:none}
.pp-costs-in>summary::after{content:'+';margin-left:auto;font:18px var(--pp-sans);color:var(--pp-muted)}
.pp-costs-in[open]>summary::after{content:'−'}
.pp-costs-in[open]>summary{margin-bottom:10px}
.pp-field{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;min-width:0}
.pp-field>span:first-child{font-size:12px;color:var(--pp-muted)}
.pp-field small{font-size:11.5px;color:var(--pp-muted);line-height:1.45}
.pp-field small a{color:inherit}
.pp-input{position:relative;display:flex;align-items:center}
.pp .pp-input input,.pp .pp-field select,.pp .pp-ms input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #c5d0d2;border-radius:6px;background:#fff;font:14px var(--pp-sans);color:var(--pp-ink);font-variant-numeric:tabular-nums}
.pp .pp-input input{text-align:right;padding-right:44px}
.pp .pp-input input[type=month]{text-align:left;padding-right:10px}
.pp .pp-input i{position:absolute;right:10px;font-style:normal;font-size:12px;color:var(--pp-muted);pointer-events:none}
.pp .pp-input input:focus,.pp .pp-field select:focus,.pp .pp-ms input:focus{outline:2px solid #2a6fa0;outline-offset:1px;border-color:#2a6fa0}
.pp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.pp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}
@container (max-width:380px){.pp-grid2,.pp-grid3{grid-template-columns:minmax(0,1fr)}}
.pp-seg{display:flex;gap:4px;padding:3px;background:#eef1ec;border-radius:7px;margin:0 0 10px;flex-wrap:wrap}
.pp .pp-seg button{flex:1 1 auto;min-height:36px;padding:6px 10px;border:0;border-radius:5px;background:transparent;color:var(--pp-ink);font:13px var(--pp-sans);cursor:pointer}
.pp .pp-seg button[aria-checked=true]{background:var(--pp-ink);color:#fffefa}
.pp .pp-seg button:disabled{opacity:.45;cursor:not-allowed}
.pp-tpls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.pp .pp-tpl{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 11px;border:1px solid #cbd4d1;border-radius:7px;background:#fff;color:var(--pp-ink);cursor:pointer;min-height:64px}
.pp-tpl b{font:15px var(--pp-serif)}
.pp-tpl small{font-size:11.5px;color:var(--pp-muted);line-height:1.35}
.pp .pp-tpl[aria-checked=true]{border-color:var(--pp-ink);box-shadow:0 0 0 1px var(--pp-ink);background:#f6f4ec}
.pp .pp-tpl:disabled{opacity:.5;cursor:not-allowed}
.pp-note{margin:0 0 10px;padding:8px 10px;border-left:3px solid var(--pp-brass);background:#f7f3e8;font-size:12px;line-height:1.5}
.pp-alloc{margin:2px 0 0;font-size:12.5px;color:var(--pp-muted)}
.pp-bad,.pp-alloc.pp-bad{color:#a3372b!important}
.pp-ms{width:100%;border-collapse:collapse;font-size:12.5px}
.pp-ms th{font-weight:400;color:var(--pp-muted);text-align:left;padding:0 4px 4px}
.pp-ms td{padding:3px 4px}
.pp-ms td:nth-child(2){width:74px}
.pp .pp-ms td:nth-child(2) input{text-align:right}
.pp-ms td:nth-child(3){width:48%}
.pp-ms tfoot td{padding-top:8px;font-weight:600}
.pp-check{display:flex;gap:8px;align-items:flex-start;margin:4px 0 10px;font-size:12.5px;line-height:1.4}
.pp .pp-check input{margin-top:2px;width:16px;height:16px;flex:none}
.pp .pp-link{border:0;background:none;padding:0;color:var(--pp-ink);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.pp-form-foot{padding-top:12px}
.pp .pp-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid #c5d0d2;background:var(--pp-card);border-radius:6px;color:var(--pp-ink);font:13px var(--pp-sans);cursor:pointer;white-space:nowrap}
.pp .pp-btn.primary{background:var(--pp-ink);border-color:var(--pp-ink);color:#fffefa}
.pp .pp-btn:hover{border-color:var(--pp-ink)}
.pp :focus-visible{outline:2px solid #2a6fa0;outline-offset:2px}
/* results */
.pp-results{display:flex;flex-direction:column;gap:14px;min-width:0}
.pp-res-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.pp-res-head h3{font-size:24px}
.pp-errors{padding:12px 14px;border:1px solid #d9a79f;background:#fbefec;border-radius:7px;color:#7c2a20}
.pp-errors p{margin:0}.pp-errors p+p{margin-top:6px}
.pp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.pp-kpi{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:7px;padding:12px 14px;min-width:0}
.pp-kpi span{display:block;font-size:11.5px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.06em}
.pp-kpi strong{display:block;margin:4px 0 2px;font:400 24px/1.15 var(--pp-serif);color:var(--pp-ink);overflow-wrap:anywhere}
.pp-kpi small{display:block;font-size:11.5px;color:var(--pp-muted);line-height:1.4}
.pp-cmp{margin:0;padding:10px 12px;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:7px}
.pp-cmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border:1px solid var(--pp-line);border-radius:7px;background:var(--pp-card);overflow:hidden}
.pp-cmp-grid>div{padding:10px 14px;border-left:1px solid var(--pp-line);min-width:0}
.pp-cmp-grid>div:first-child{border-left:0}
.pp-cmp-grid span{display:block;font-size:11.5px;color:var(--pp-muted)}
.pp-cmp-grid b{display:block;font:400 19px/1.25 var(--pp-serif);margin:3px 0 1px}
.pp-cmp-grid small{font-size:11px;color:var(--pp-muted)}
.pp-up{color:var(--pp-up)!important}.pp-down{color:var(--pp-down)!important}
.pp-tripwires{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pp-tripwires li{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-radius:6px;background:#eef3ef;font-size:12.5px;line-height:1.5}
.pp-tripwires li.watch{background:#f7efe2}
.pp-tripwires b{flex:none;min-width:92px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pp-down)}
.pp-tripwires li.watch b{color:#8a5a1c}
.pp-warn{margin:0;padding:8px 12px;border-left:3px solid #c58a3a;background:#f9f1e3;font-size:12.5px}
.pp-block{background:var(--pp-card);border:1px solid var(--pp-line);border-radius:8px;padding:14px 16px;min-width:0}
.pp-block-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.pp-block-head h4{font-size:19px}
.pp-block-head .pp-seg{margin:0;flex-wrap:nowrap}
.pp-table-wrap{max-height:430px;overflow:auto;border:1px solid var(--pp-line);border-radius:6px}
.pp-table{width:100%;border-collapse:collapse;font-size:12.5px}
.pp .pp-table th,.pp .pp-table td{padding:7px 10px;border-bottom:1px solid var(--pp-line);text-align:left;vertical-align:top}
.pp-table thead th{position:sticky;top:0;background:#f3f1ea;font-weight:600;font-size:11.5px;color:var(--pp-muted);z-index:1;white-space:nowrap}
.pp-table tfoot td{position:sticky;bottom:0;background:#f3f1ea;font-weight:600}
.pp .pp-table .num{text-align:right;white-space:nowrap}
.pp-table tr.k-down td,.pp-table tr.k-balance td,.pp-table tr.k-cash td,.pp-table tr.k-milestone td{background:#faf7ee}
.pp-costs th{font-weight:400;width:38%}
.pp-costs td:last-child{color:var(--pp-muted);font-size:11.5px}
.pp-costs .pp-total th,.pp-costs .pp-total td{border-top:1px solid var(--pp-line-2);font-weight:600;color:var(--pp-ink)}
.pp-foot{margin:8px 0 0;font-size:11.5px;color:var(--pp-muted)}
.pp-dues{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.pp-dues>div{padding:10px 12px;border:1px dashed var(--pp-line-2);border-radius:6px}
.pp-dues span{display:block;font-size:11.5px;color:var(--pp-muted)}
.pp-dues b{display:block;font:400 19px var(--pp-serif)}
.pp-dues small{font-size:11px;color:var(--pp-muted)}
.pp-legal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.pp-legal{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--pp-line);border-radius:6px;background:#fff;min-width:0}
.pp-legal .tag{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-brass)}
.pp-legal h5{font-size:15px}
.pp-legal p{margin:0;font-size:12px;line-height:1.55}
.pp-legal .conf{font-size:11px;color:#6b5a37}
.pp-legal .src{font-size:11px;color:var(--pp-muted);overflow-wrap:anywhere}
.pp-legal .src a{color:inherit}
.pp-disclaimer{margin:12px 0 0;font-size:11.5px;color:var(--pp-muted);line-height:1.55}
.pp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pp-actions small{flex-basis:100%;font-size:11.5px;color:var(--pp-muted)}
@container (max-width:520px){.pp-head h2{font-size:24px}.pp-kpi strong{font-size:21px}.pp-tpls{grid-template-columns:minmax(0,1fr)}.pp-cmp-grid>div{border-left:0;border-top:1px solid var(--pp-line)}.pp-cmp-grid>div:first-child{border-top:0}.pp-costs th{width:auto}.pp-block{padding:12px}}
/* print: only the proposal sheet (built at click time, appended to <body>) */
.pp-print-sheet{display:none}
@media print{
 body.pp-print>*:not(.pp-print-sheet){display:none!important}
 body.pp-print{background:#fff!important}
 body.pp-print .pp-print-sheet{display:block;color:#111;font:11pt/1.45 Arial,Helvetica,sans-serif}
 .pp-sheet-in header p{margin:0 0 4px;font-size:9pt;letter-spacing:.08em}
 .pp-sheet-in h1{font:22pt Georgia,serif;margin:6px 0}
 .pp-sheet-in .warn{font-weight:600}
 .pp-sheet-in table{width:100%;border-collapse:collapse;margin:10pt 0;font-variant-numeric:tabular-nums}
 .pp-sheet-in th,.pp-sheet-in td{border-bottom:.5pt solid #999;padding:3pt 5pt;text-align:left}
 .pp-sheet-in .num{text-align:right}
 .pp-sheet-in .sched thead{display:table-header-group}
 .pp-sheet-in tr{break-inside:avoid}
 .pp-sheet-in .small{font-size:8.5pt;color:#444}
}
