.life-cost { margin-block:1.5rem; padding:.75rem; border:1px solid var(--color-border); border-radius:var(--radius-panel); background:var(--color-surface); max-width:60rem; }
.life-cost h2 { font-size:1.25rem; margin:0; }
.life-top { display:flex; justify-content:space-between; align-items:center; gap:.75rem; }
.life-top p, .life-result p { margin:.25rem 0; }
.life-cost button { margin:0; min-height:44px; padding:.4rem .7rem; font-size:.9rem; }
.life-edit { flex-shrink:0; width:44px; height:44px; display:grid; place-items:center; }
.life-controls { border:0; margin:.75rem 0 0; padding:0; min-width:0; }
.life-inputs, .life-price-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.life-salary-field { grid-column:1 / -1; }
.life-optional { font-weight:400; color:var(--color-text-muted); }
.life-cost label { font-size:.85rem; min-width:0; margin:0; }
.life-cost input { margin-top:.2rem; min-height:44px; padding:.4rem .6rem; }
.life-equivalents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:.5rem; }
.life-equivalents > div { display:flex; flex-direction:column; justify-content:center; padding:.6rem; border-radius:var(--radius-control); background:var(--color-background); line-height:1.3; min-width:0; }
.life-equivalents strong { font-size:1.4rem; color:var(--color-primary); }
.life-equivalents span { font-size:.8rem; }
.life-salary { font-weight:650; color:var(--color-primary); }
.life-cost [hidden] { display:none !important; }
.life-result { margin-top:.75rem; padding-top:.6rem; border-top:1px solid var(--color-border); }
.life-headline { font-size:clamp(1.15rem,3vw,1.5rem); line-height:1.35; }
.life-headline strong { color:var(--color-primary); }
.life-note { font-size:.8rem; color:var(--color-text-muted); }
.life-result .error { color:var(--color-error); }
.life-note { margin:.5rem 0 0; line-height:1.4; max-width:none; }
.life-dialog { width:min(32rem,calc(100% - 2rem)); max-height:85dvh; overflow:auto; padding:1rem; border:1px solid var(--color-border); border-radius:var(--radius-panel); color:var(--color-text); background:var(--color-surface); }
.life-dialog::backdrop { background:#0008; }
.life-dialog p { margin:.5rem 0; }
.life-actions { display:flex; gap:.5rem; margin-top:1rem; }
@media(min-width:48rem) { .life-inputs { grid-template-columns:repeat(3,minmax(0,1fr)); } .life-salary-field { grid-column:auto; } .life-equivalents { grid-template-columns:repeat(4,minmax(0,1fr)); } }
