/* SDR Capacity Plan (vanilla). Uses site.css variables. */
.app-frame.auto{height:auto;min-height:0;overflow:visible}
.cap{font-size:14px}
.cap-top{background:var(--ink);color:#fff;display:flex;align-items:center;gap:18px;padding:14px 22px;border-bottom:3px solid var(--kelly);flex-wrap:wrap}
.cap-logo{font-weight:800;letter-spacing:-.02em;font-size:16px;white-space:nowrap}.cap-logo span{color:var(--gold)}
.cap-co{font-size:11px;color:#A8A8A8;display:flex;align-items:center;gap:8px}
.cap-co input{background:transparent;border:none;border-bottom:1px solid #3A3A3A;color:#E6E6E6;font:inherit;font-size:12px;padding:3px 4px;width:180px;outline:none}
.cap-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cap-saved{font-size:11px;color:var(--kelly)}
.cap-btn{font:inherit;font-size:12px;font-weight:700;padding:9px 14px;border:2px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:0}
.cap-btn:hover{background:var(--kelly-d);border-color:var(--kelly-d)}
.cap-btn.ghost{background:transparent;border-color:#3A3A3A;color:#E6E6E6}.cap-btn.ghost:hover{border-color:#fff;background:#1C1C1C}
.cap-btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.cap-btn.gold:hover{background:#fff;border-color:#fff}
.cap-kpis{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}
.cap-kpi{padding:18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.cap-kpi:last-child{border-right:none}
.cap-kl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cap-kv{font-size:26px;font-weight:800;letter-spacing:-.02em}
.cap-kv.neg{color:#B3261E}
.cap-ks{font-size:11px;color:var(--muted-2);font-weight:600}
.cap-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 12px;background:#fff}
.cap-tabs button{font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:none;border:none;border-bottom:3px solid transparent;padding:14px 16px;cursor:pointer;white-space:nowrap}
.cap-tabs button b{color:var(--gold-d);margin-right:8px;font-weight:800}
.cap-tabs button.on{color:var(--ink);border-bottom-color:var(--kelly-d)}
.cap-panels{padding:28px 28px 36px;background:#FAFAFA}
.cap-panel{display:none}.cap-panel.on{display:block}
.cap-h{font-size:22px;letter-spacing:-.02em;margin-bottom:6px}
.cap-h4{font-size:16px;margin:32px 0 4px}
.cap-sub{color:var(--muted);font-size:13.5px;margin-bottom:18px;max-width:80ch}
.cap-group{border:1px solid var(--line);background:#fff;padding:20px 22px 8px;margin-bottom:16px}
.cap-group legend{font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;padding:0 8px;margin-left:-8px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 24px}
.cap-field{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.cap-lbl{font-size:12.5px;font-weight:700}
.cap-inp{display:flex;align-items:center;border:1px solid var(--line-2);background:#FFFDF3}
.cap-inp:focus-within{border-color:var(--kelly-d);box-shadow:0 0 0 2px rgba(30,142,62,.15)}
.cap-inp input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:15px;font-weight:600;padding:8px 10px;outline:none;color:#0B3D91}
.cap-affix{font-size:12px;font-weight:700;color:var(--muted);padding:0 10px}
.cap-note{font-size:11.5px;color:var(--muted-2);line-height:1.4}
.cap-step{border:1px solid var(--line);background:#fff;margin-bottom:14px}
.cap-step-h{padding:12px 18px;font-weight:700;font-size:14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.cap-step-h .num{font-size:15px}
.cap-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(140px,.6fr) 1.6fr;gap:16px;padding:10px 18px;border-bottom:1px solid #F0F0F0;align-items:baseline}
.cap-row:last-child{border-bottom:none}
.cap-rl{font-size:13.5px}
.cap-rv{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.cap-rn{font-size:12px;color:var(--muted-2)}
.cap-row.key{background:#EEF8F0}
.cap-row.key .cap-rl{font-weight:700}
.cap-row.key .cap-rv{color:var(--kelly-dd);font-size:16px}
.cap-rv.neg,td.neg{color:#B3261E}
.cap-rv[data-tier="Elite"],.cap-rv[data-tier="Healthy"]{color:var(--kelly-dd)}
.cap-rv[data-tier="Value destruction"]{color:#B3261E}.cap-rv[data-tier="Break-even / risky"]{color:var(--gold-d)}
.cap-tablewrap{overflow-x:auto;border:1px solid var(--line);background:#fff}
.cap-table{width:100%;border-collapse:collapse;font-size:13px}
.cap-table th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:left;color:var(--muted);background:#F5F5F5;padding:10px 12px;border-bottom:2px solid var(--line);white-space:nowrap}
.cap-table td{padding:9px 12px;border-bottom:1px solid #F0F0F0;font-variant-numeric:tabular-nums;vertical-align:middle}
.cap-roster{min-width:1080px}
.cap-roster td{padding:4px 6px}
.cap-roster input,.cap-roster select{font:inherit;font-size:13px;border:1px solid transparent;background:#FFFDF3;padding:6px 7px;width:100%;color:#0B3D91;outline:none}
.cap-roster input:focus,.cap-roster select:focus{border-color:var(--kelly-d)}
.cap-roster input.n{width:72px;text-align:right}
.cap-roster input.notes-in{min-width:220px;color:var(--muted);background:transparent}
.cap-roster td.pct{white-space:nowrap}.cap-roster td.pct span{font-size:12px;color:var(--muted);margin-left:3px}
.cap-roster td.out{font-weight:700;text-align:right;padding-right:14px}
.cap-x{background:none;border:none;color:#B3261E;cursor:pointer;font-size:13px;padding:6px}
.cap-panel .cap-btn[data-act=addrep]{margin-top:12px}
.cap-trip{list-style:none;border:1px solid var(--line);background:#fff}
.cap-trip li{display:grid;grid-template-columns:1fr 1.4fr;gap:16px;padding:12px 18px;border-bottom:1px solid #F0F0F0;font-size:13.5px}
.cap-trip li:last-child{border-bottom:none}
.cap-trip span{color:var(--muted)}
@media (max-width:1100px){.cap-kpis{grid-template-columns:repeat(3,1fr)}.cap-kpi:nth-child(3){border-right:none}.cap-kpi:nth-child(-n+3){border-bottom:1px solid var(--line)}.cap-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
  .cap-top{padding:12px 14px}.cap-actions{margin-left:0;width:100%}.cap-co input{width:150px}
  .cap-kpis{grid-template-columns:1fr 1fr}.cap-kpi{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px}.cap-kpi:nth-child(2n){border-right:none}.cap-kv{font-size:22px}
  .cap-panels{padding:18px 12px 24px}.cap-grid{grid-template-columns:1fr}
  .cap-row{grid-template-columns:1fr auto;gap:4px 12px;padding:10px 14px}.cap-rn{grid-column:1/-1}
  .cap-trip li{grid-template-columns:1fr;gap:4px}
}
@media print{
  .cap-tabs,.cap-actions,.cap-x,.cap-panel .cap-btn{display:none!important}
  .cap-panel{display:block!important;break-inside:auto;margin-bottom:24px}
  .cap-panels{background:#fff;padding:12px 0}
  .cap-step,.cap-group{break-inside:avoid}
  .cap-top{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cap-roster{min-width:0;font-size:10px}
}
/* v2: results + PDF + call offer */
.cap-btn.green{background:var(--kelly-d);border-color:var(--kelly-d);color:#fff}.cap-btn.green:hover{background:var(--kelly-dd);border-color:var(--kelly-dd)}
.cap-result{display:grid;grid-template-columns:1.3fr 1fr;border-top:3px solid var(--kelly);background:#fff}
.cap-result-main{padding:40px 40px 44px}
.cap-result .cap-h{margin:10px 0 14px}
.cap-summary{font-size:16px;line-height:1.6;max-width:62ch;margin-bottom:26px;color:var(--ink)}
.cap-pdf-status{margin-left:14px;font-size:12px;font-weight:600;color:var(--kelly-d)}
.cap-fine{margin-top:12px;font-size:12px;color:var(--muted-2)}
.cap-offer{background:var(--ink);color:#fff;padding:40px 40px 44px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cap-offer .cap-kl{color:#A8A8A8}
.cap-offer h4{font-size:22px;letter-spacing:-.02em;line-height:1.15;max-width:18ch}
.cap-offer p{color:#BDBDBD;font-size:14px;max-width:42ch;margin-bottom:8px}
.cap-offer .cap-btn{background:#fff;color:var(--ink);border-color:#fff;text-decoration:none}
.cap-offer .cap-btn:hover{background:var(--kelly);border-color:var(--kelly)}
@media (max-width:900px){.cap-result{grid-template-columns:1fr}.cap-result-main,.cap-offer{padding:28px 20px 32px}}
.cap-field:has([data-in="sdrPct"]){outline:2px solid var(--gold);outline-offset:6px;background:#FBF6E6}
/* v2: sliders + paired number fields */
.cap-ctl{display:flex;align-items:center;gap:12px}
.cap-field.has-range .cap-inp{flex:0 0 132px}
.cap-field:not(.has-range) .cap-inp{flex:1}
.cap-range{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:28px;background:transparent;cursor:pointer;margin:0}
.cap-range::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right,var(--kelly) 0,var(--kelly) var(--p,50%),#DADADA var(--p,50%),#DADADA 100%)}
.cap-range::-moz-range-track{height:6px;background:#DADADA}
.cap-range::-moz-range-progress{height:6px;background:var(--kelly)}
.cap-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-7px;background:#fff;border:3px solid var(--kelly-d);border-radius:0;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.cap-range::-moz-range-thumb{width:16px;height:16px;background:#fff;border:3px solid var(--kelly-d);border-radius:0}
.cap-range:focus-visible{outline:2px solid var(--kelly-d);outline-offset:4px}
.cap-range:hover::-webkit-slider-thumb{background:#E9F7E1}
@media (max-width:640px){.cap-range{height:36px}.cap-range::-webkit-slider-thumb{width:26px;height:26px;margin-top:-10px}.cap-field.has-range .cap-inp{flex-basis:118px}}
.cap-grid{grid-template-columns:repeat(2,1fr);gap:4px 40px}
.cap-field.has-range .cap-inp{flex-basis:150px}
@media (max-width:760px){.cap-grid{grid-template-columns:1fr}}
.cap-group{min-width:0}.cap-range{min-width:60px}@media (max-width:640px){.cap-field.has-range .cap-inp{flex-basis:128px}}
.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cap-field,.cap-ctl{min-width:0}.cap-inp input{width:100%}@media (max-width:760px){.cap-grid{grid-template-columns:minmax(0,1fr)}}
