/* Use the current QLOA V3 surfaces and spacing; no change to shared shell or tabs. */
.osi{font-size:14px;min-width:0;color:var(--ink);background:var(--base)}
.osi [hidden]{display:none!important}
.osi .oc-heading{flex-wrap:wrap}
.osi .oc-heading .btn{min-height:44px}
.osi-source-strip{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;line-height:1.6}
.osi-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px}
.osi-inputs{min-width:0}
.osi-section{padding:24px;border-bottom:1px solid var(--line);min-width:0}
.osi-section h2,.osi-proposal h2{font-size:17px;font-weight:500;line-height:1.4}
.osi-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.osi-section-title>span{font-size:12px;color:var(--muted);text-align:right}
.osi-grid,.osi-mix,.osi-model{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.osi-wide{grid-column:1/-1}
.osi-field{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:500;color:var(--muted);min-width:0;line-height:1.5}
.osi-field input,.osi-field select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--base);color:var(--ink);padding:8px 12px;font:inherit;font-size:16px;font-weight:400}
.osi-field select{font-size:14px}
.osi input:disabled,.osi select:disabled{opacity:.45}
.osi input[readonly]{background:var(--elevated)}
.osi :is(input,select,button,a,summary):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.osi-check{display:flex;align-items:center;gap:12px;min-height:44px;font-size:12px;color:var(--muted);margin:16px 0 8px}
.osi-check input{width:16px;height:16px;accent-color:var(--ink);flex-shrink:0}
.osi-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}
.osi-mix{margin-top:16px;padding:16px;border-radius:8px;background:var(--surface)}
.osi-mix .osi-note{margin:0}
.osi-targets{border-bottom:0}
.osi-targets h2{margin-bottom:20px}
.osi-objectives{grid-template-columns:repeat(3,minmax(0,1fr))}
.osi-proposal{background:var(--surface);border-left:1px solid var(--line);padding:24px;min-width:0}
.osi-proposal .osi-section-title{margin:0}
.osi-badge{background:var(--base);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11px!important}
.osi-price{font-size:44px;font-weight:500;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:20px}
.osi dl{margin:0}
.osi dl>div{display:flex;justify-content:space-between;gap:16px;line-height:1.6}
.osi dt{color:var(--muted)}
.osi dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;flex-shrink:0}
.osi .osi-included{border-block:1px solid var(--line);padding:20px 0;margin:28px 0 20px;font-size:14px}
.osi-included>div+div{margin-top:16px}
.osi-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.osi-metrics p{font-size:12px;color:var(--muted);line-height:1.6}
.osi-metrics strong{display:block;font-size:24px;font-weight:500;margin-top:8px;font-variant-numeric:tabular-nums}
.osi-ai{border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:14px}
.osi-margins{margin-top:20px}
.osi-margins strong{font-size:20px}
.osi-proposal #osi-offer-note{margin-top:20px}
.osi-proposal details{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}
.osi summary{font-size:12px;color:var(--muted);font-weight:500;min-height:44px;cursor:pointer;line-height:1.7}
.osi #osi-cost-breakdown{font-size:12px}
.osi #osi-cost-breakdown>div{margin-bottom:12px}
.osi-error{margin-top:20px;padding:12px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-bg);color:var(--danger);font-size:13px;line-height:1.7}
.osi-parameters{border-top:1px solid var(--line);padding:16px 24px}
.osi-parameters>p{max-width:100ch;margin-bottom:20px}
.osi-settings{grid-template-columns:repeat(4,minmax(0,1fr))}
.osi-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.osi-model{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr)}
.osi-model .osi-note{margin:0}
.osi-footer{border-top:1px solid var(--line);padding:16px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}
.osi-footer a{text-decoration:underline;text-underline-offset:3px;min-height:24px}
@media(min-width:1440px){.osi-layout{grid-template-columns:minmax(0,1fr) 400px}}
@media(max-width:1100px){.osi-layout{grid-template-columns:minmax(0,1fr) 330px}.osi-objectives{grid-template-columns:repeat(2,minmax(0,1fr))}.osi-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.osi-models{grid-template-columns:minmax(0,1fr)}.osi-model{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.osi-layout{grid-template-columns:minmax(0,1fr)}.osi-proposal{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:600px){.osi-section,.osi-proposal{padding:24px 16px}.osi-source-strip,.osi-parameters,.osi-footer{padding-inline:16px}.osi-grid,.osi-mix,.osi-model{grid-template-columns:minmax(0,1fr)}.osi-objectives{grid-template-columns:repeat(2,minmax(0,1fr))}.osi-section-title{align-items:flex-start}.osi-section-title>span{max-width:38%}.osi .oc-heading .btn{width:auto;flex:none}}
