/* Cost basis controls share the existing form and dialog styles. */
.field-with-basis{min-width:0;display:flex;flex-direction:column;gap:7px}
.basis-launch{justify-content:flex-start;white-space:normal;text-align:left;font-size:10px}
.basis-launch svg{width:12px;height:12px}
.basis-dialog{width:min(620px,calc(100% - 32px))}
.basis-mode,.basis-direct,.basis-derived{margin:0;padding:0;border:0;min-width:0}
.basis-mode{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border);border-radius:5px;overflow:hidden}
.basis-mode legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.basis-mode label{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;font-size:12px;cursor:pointer;background:#f7f9f7;color:#7c8c82}
.basis-mode label:has(input:checked){background:#e7f2eb;color:#216d4b}
.basis-mode input{width:14px;height:14px;padding:0;margin:0;accent-color:var(--green);box-shadow:none;flex-shrink:0}
.basis-mode label+label{border-left:1px solid var(--border)}
.basis-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-block:1px solid var(--border);padding:16px 0;margin:20px 0;font-size:12px;color:#657d6d}
.basis-result strong{font-size:21px;color:#236f4c;overflow-wrap:anywhere}
.basis-result small{width:100%;line-height:1.8;font-size:11px;color:#8b998f;overflow-wrap:anywhere}
.basis-source summary,.quote-basis summary,.assumptions-section summary{font-size:12px;color:#607c69;cursor:pointer;line-height:1.7}
.basis-source[open] summary{margin-bottom:16px}
.basis-note-field{margin-top:14px}
.basis-note-field textarea{width:100%;resize:vertical;min-height:75px;max-height:220px;font:inherit;line-height:1.8;border:1px solid #dfe5e1;border-radius:5px;padding:9px 11px;color:#586d60;background:#fff}
.basis-note-field textarea:focus{outline:2px solid #b5d5c2;outline-offset:1px}
.basis-note-field textarea::placeholder{color:#9fa9a2}
.basis-disclaimer{font-size:11px;line-height:1.8;color:#8b988f;margin-top:17px;overflow-wrap:anywhere}
.basis-source .field input,.basis-source .field select{font-size:11px}
.editor-basis{border-top:1px solid var(--border);padding-top:21px;margin-top:5px;min-width:0}
.quote-basis{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);grid-column:1/-1}
.basis-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;grid-column:1/-1;align-content:start}
.basis-badge{display:inline-block;padding:3px 7px;border-radius:3px;background:#ebf3ee;color:#708d79;font-size:9px;line-height:1.7}
.basis-badge.unverified{background:#faf2e6;color:#a58b60}
.basis-snapshot{border-bottom:1px solid var(--border);padding:16px 0;overflow-wrap:anywhere}
.basis-snapshot>div{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px}
.basis-snapshot strong{font-size:12px;color:#4c6957}
.basis-snapshot p{font-size:10px;line-height:1.9;color:#8a998e;margin-top:5px}
.basis-snapshot a{margin-top:8px}
.assumptions-section{margin-top:23px;border-block:1px solid var(--border);padding:16px 0}
.assumptions-section summary{font-size:13px;color:#687f70}
.assumptions-section summary svg{width:15px;height:15px;margin:0 7px 0 3px}
.assumptions-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 32px;padding:22px 0 6px}
.assumptions-grid h3{font-size:12px;color:#627869;margin-bottom:9px}
.assumptions-grid p{font-size:11px;line-height:1.9;color:#8a988e;margin:7px 0;overflow-wrap:anywhere}
.assumptions-grid a{color:#428367;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1150px){.three-fields>.field-with-basis:last-child{grid-column:1/-1}}
@media(min-width:601px) and (max-width:900px){.three-fields>.field-with-basis:last-child{grid-column:auto}}
@media(max-width:600px){.basis-mode label{font-size:11px;padding-inline:7px}.basis-dialog{padding:20px}.basis-source .field-grid,.basis-derived .field-grid,.assumptions-grid{grid-template-columns:1fr}.basis-result strong{font-size:19px}.basis-mode{margin-bottom:17px}.basis-snapshot strong{font-size:11px}}
