/* LPAB Invest Advisor styles */
.lpabia { max-width: 860px; margin: 1rem auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.lpabia h3 { margin: 0 0 .5rem; }
.lpabia label { display: block; margin: .75rem 0; }
.lpabia input[type="number"], .lpabia select { width: 100%; padding: .6rem .7rem; border: 1px solid #d0d7de; border-radius: .6rem; }
.lpabia input[type="range"] { width: 100%; }
.lpabia .muted { color: #6b7280; font-size: .9rem; }
.lpabia .lpabia-progress { height: 8px; background: #eef2f7; border-radius: 999px; overflow: hidden; margin: 0 0 1rem; }
.lpabia .lpabia-bar { height: 100%; background: linear-gradient(90deg, #60a5fa, #22c55e); transition: width .35s ease; }
.lpabia .lpabia-step { display: none; background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; padding: 1rem; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.lpabia .lpabia-step.active { display: block; }
.lpabia .lpabia-nav { display: flex; gap: .5rem; margin-top: .5rem; }
.lpabia .lpabia-nav button { padding: .6rem .9rem; border: 1px solid #d1d5db; border-radius: .8rem; background: #fff; cursor: pointer; }
.lpabia .lpabia-nav .submit { background: #111827; color: #fff; border-color: #111827; }
.lpabia-result { margin-top: 1rem; }
.lpabia-card { border: 1px solid #e5e7eb; border-radius: 1rem; padding: 1rem; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.04); }
.lpabia .grid.two { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 800px) {
  .lpabia .grid.two { grid-template-columns: 1fr 1fr; }
}
.kv { list-style: none; padding: 0; margin: 0; }
.kv li { display: flex; justify-content: space-between; border-bottom: 1px dashed #e5e7eb; padding: .4rem 0; }
.kv li span { color: #6b7280; }
.alert { background: #fef3c7; border: 1px solid #fde68a; padding: .6rem .8rem; border-radius: .6rem; }
.alloc { list-style: none; padding: 0; margin: 0; }
.alloc li { display: grid; grid-template-columns: 1fr auto; gap: .5rem; align-items: center; margin: .4rem 0; }
.alloc .bar { display: block; height: 10px; background: #f3f4f6; border-radius: 999px; overflow: hidden; }
.alloc .bar > span { display: block; height: 100%; background: linear-gradient(90deg, #22c55e, #16a34a); }
.badge { display: inline-block; padding: .25rem .5rem; border-radius: .5rem; font-weight: 600; }
.badge-Prudent { background: #e0f2fe; color: #075985; }
.badge-Équilibré { background: #ecfeff; color: #155e75; }
.badge-Dynamique { background: #ecfccb; color: #3f6212; }
.notes { margin-top: .6rem; color: #374151; }
.legal { font-size: .85rem; color: #6b7280; margin-top: .5rem; }
.error { color: #b91c1c; font-size: .9rem; margin-top: .25rem; }
.hidden { display:none; }
