/* Profil : formulaire à gauche, résultat du calcul toujours visible à droite */
.profile { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.profile-side { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 900px) { .profile { grid-template-columns: 1fr; } .profile-side { position: static; } }
.cards-pick { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.cards-pick label { cursor: pointer; }
.cards-pick input { position: absolute; opacity: 0; pointer-events: none; }
.cards-pick span { display: flex; flex-direction: column; gap: 2px; height: 100%; border: 2px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.cards-pick b { font: 700 15px var(--f-display); }
.cards-pick small { font-size: 12px; color: var(--muted); }
.cards-pick input:checked + span { border-color: var(--basil); background: var(--basil-soft); }
.cards-pick input:focus-visible + span { outline: 2px solid var(--basil); outline-offset: 2px; }
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.seg label { cursor: pointer; }
.seg input { position: absolute; opacity: 0; pointer-events: none; }
.seg span { display: block; padding: 8px 14px; font-weight: 700; font-size: 14px; }
.seg input:checked + span { background: var(--basil); color: var(--on-basil); }
.seg input:focus-visible + span { outline: 2px solid var(--basil); outline-offset: -2px; }
.result .big { font: 800 44px/1 var(--f-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.result table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.result td { padding: 4px 0; color: var(--muted); }
.result td:last-child { text-align: right; font-family: var(--f-data); color: var(--ink); }
.result tr.sum td { border-top: 1px solid var(--line); font-weight: 700; color: var(--ink); padding-top: 8px; }
.toggle { display: flex; gap: 10px; align-items: center; font-weight: 700; cursor: pointer; }
.toggle input { width: 20px; height: 20px; }
.seg { align-self: flex-start; flex-wrap: wrap; }
.sport-est { font-size: 14px; background: var(--paper); border-radius: 10px; padding: 10px 12px; }
.sport-est b { font-family: var(--f-data); font-weight: 500; }
