* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--foreground); }
.execution-shell { max-width:var(--size-1000); margin:0 auto; padding:var(--size-24); }
.execution-header,.title-row,.form-footer,.result-top,.paper-action { display:flex; justify-content:space-between; align-items:center; gap:var(--size-16); }
.execution-header { padding-bottom:var(--size-20); border-bottom:var(--size-1) solid var(--border); margin-bottom:var(--size-28); }
.execution-header img { height:var(--size-32); max-width:var(--size-180); object-fit:contain; }
a { text-decoration:none; }
h1 { font-size:var(--size-24); line-height:1.4; margin:var(--size-8) 0; }
h2 { font-size:var(--size-16); margin:0 0 var(--size-12); }
p { margin:var(--size-8) 0; }
.eyebrow { font-size:var(--size-11); color:var(--weak-foreground); font-weight:700; }
.subtitle,.help { color:var(--body); font-size:var(--size-13); }
.mode-label { background:var(--weak-background); color:var(--weak-foreground); padding:var(--size-6) var(--size-12); border-radius:var(--size-6); white-space:nowrap; font-size:var(--size-12); }
.panel { border:var(--size-1) solid var(--border); border-radius:var(--size-12); padding:var(--size-20); margin:var(--size-20) 0; }
.input-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--size-16); }
label { display:flex; flex-direction:column; gap:var(--size-8); color:var(--body); font-size:var(--size-12); }
input,select,button { min-height:var(--size-44); border-radius:var(--size-8); font-size:var(--size-14); }
input,select { width:100%; border:var(--size-1) solid var(--border); color:var(--foreground); background:var(--canvas); padding:var(--size-8) var(--size-12); }
button { padding:var(--size-8) var(--size-16); cursor:pointer; border:0; font-weight:600; }
.primary { background:var(--primary); color:var(--on-primary); }
.primary:hover { background:var(--primary-hover); }
.secondary { background:var(--surface); color:var(--body); }
button:disabled { opacity:0.5; cursor:not-allowed; }
.advanced { margin-top:var(--size-16); padding-top:var(--size-12); border-top:var(--size-1) solid var(--border); }
summary { cursor:pointer; color:var(--body); font-size:var(--size-13); padding:var(--size-8) 0; }
.advanced .input-grid { margin-top:var(--size-16); }
.form-footer { margin-top:var(--size-16); }
.notice { background:var(--weak-background); padding:var(--size-12) var(--size-16); border-radius:var(--size-8); color:var(--weak-foreground); font-size:var(--size-14); }
.notice.error { color:var(--danger); background:var(--surface); }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--size-12); margin:var(--size-12) 0; }
.metric { background:var(--surface); border-radius:var(--size-8); padding:var(--size-12); }
.metric span { display:block; font-size:var(--size-12); color:var(--body); }
.metric strong { font-size:var(--size-20); font-variant-numeric:tabular-nums; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:var(--size-12); font-variant-numeric:tabular-nums; }
th,td { text-align:right; padding:var(--size-8); border-bottom:var(--size-1) solid var(--border); white-space:nowrap; }
th { color:var(--body); font-weight:500; }
th:first-child,td:first-child { text-align:left; }
tr.recommended { background:var(--weak-background); }
td button { min-height:var(--size-28); padding:var(--size-4) var(--size-8); background:var(--surface); color:var(--weak-foreground); font-size:var(--size-12); }
.positive { color:var(--primary); }.negative { color:var(--danger); }
#fundingSchedule,#quoteSources,#quoteAssumptions { font-size:var(--size-12); color:var(--body); overflow-wrap:anywhere; }
.paper-action { margin-bottom:var(--size-24); }
.job { padding:var(--size-12) 0; border-top:var(--size-1) solid var(--border); font-size:var(--size-13); display:flex; align-items:center; flex-wrap:wrap; gap:var(--size-12); }
.job button { margin-left:auto; }
footer { padding:var(--size-20) 0; }
[hidden] { display:none !important; }
@media (max-width:768px) {
.execution-shell { padding:var(--size-16); }
.title-row,.form-footer,.paper-action { flex-direction:column; align-items:stretch; }
.mode-label { align-self:flex-start; }
.input-grid,.metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
h1 { font-size:var(--size-20); }
.panel { padding:var(--size-12); }
.execution-header { gap:var(--size-8); font-size:var(--size-12); }
}
@media (max-width:480px) { .input-grid { grid-template-columns:1fr; } }

.comparison-heading { margin-top:var(--size-24); }
#lossDiagnosis { margin-bottom:var(--size-16); }
#selectedFees { color:var(--weak-foreground); }
