/* Densité limitée à la rubrique Jeunes ; les autres écrans gardent leur mise en page. */
.youthPage .youthToolbar{gap:6px;flex-wrap:nowrap;margin:0 0 6px}
.youthPage .youthViewToggle,.youthPage .youthModeActions{width:auto;gap:4px;flex-wrap:nowrap}
.youthPage .youthToolbar .youthModeActions{flex-wrap:nowrap}
.youthPage .youthToolbar .btn{min-height:40px;padding:6px 9px;font-size:13px;line-height:1.2;white-space:nowrap;border-radius:9px}
.youthPage .youthViewToggle .btn{flex:0 0 auto}
.youthPage .youthFilters{margin-bottom:6px;gap:6px}
.youthMeta{display:flex;align-items:center;gap:8px;margin:0 0 6px;min-width:0}
.youthMeta>small{font-size:11px;line-height:1.3}
.youthMeta>#youthSyncStatus{flex:1;min-width:0;text-align:right;overflow-wrap:anywhere}
.youthMeta>.btn{min-height:40px;padding:5px 8px;font-size:12px}
.youthPage .youthList .youthRow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:3px 8px;padding:6px 10px;align-items:center}
.youthPage .youthList .youthRow.withPointing{grid-template-columns:40px 40px minmax(0,1fr) auto}
.youthPage .youthRow>.grow{min-width:0!important;font-size:14px;line-height:1.2}
.youthPage .youthRow>.pointActions{width:auto;margin:0;gap:4px;flex-wrap:nowrap;justify-content:flex-end}
.youthPage .youthRow>.pointActions .btn{min-height:40px;padding:5px 8px;font-size:12px;border-radius:9px}
.youthPage .youthRow .photoEditSmall{display:grid;place-items:center;width:40px;min-width:40px;min-height:40px;flex-basis:40px}
.youthPage .youthRow .avatar,.youthPage .youthRow .avatar img{width:36px;height:36px;border-radius:9px}
.youthPage .youthRow>.check{width:40px;height:40px;min-width:40px;min-height:40px;font-size:19px}
.youthPage .youthRow .groupchips{margin-top:3px;gap:2px}
.youthPage .youthRow .groupchips .badge{max-width:100%;padding:2px 4px;font-size:10px;line-height:1.2}
.youthPage .youthRow>.personTextiles,.youthPage .youthRow.withPointing>.personTextiles{grid-column:2/-1;width:auto;margin:0;gap:4px}
.youthPage .textileSummary{padding:6px 9px;margin-bottom:6px;font-size:12px}
.youthPage .youthPointControls{margin:0 0 6px;gap:6px;display:block}
.youthPage .youthPointControls>.row{gap:6px}
.youthPage .youthPointControls .tabs{margin:0;padding:0;gap:3px}
.youthPage .youthPointControls .tab{min-height:40px;padding:6px 8px;font-size:12px}
.youthPage .youthPointControls label{width:145px;flex:0 1 145px;margin:0;font-size:11px;max-width:48%}
.youthPage .youthPointControls input{min-height:40px;margin-top:2px;padding:5px;font-size:16px}
.youthPage .youthPointControls .btn{min-height:40px;padding:6px 8px;font-size:12px}
.youthPage .youthPointSummary{font-size:11px;line-height:1.3;min-height:0;margin:4px 0}
.youthPage .trombi{gap:8px}
.youthPage .trombi>.card{padding:9px;border-radius:12px}
.youthPage .trombi .portrait,.youthPage .trombi .portraitPlaceholder{margin-bottom:6px;border-radius:9px}
.youthPage .trombi .photoEditMark{right:6px;bottom:12px;width:24px;height:24px;font-size:16px}
.youthPage .trombi h3{margin:0 0 4px;line-height:1.2}
.youthPage .trombi .badge{padding:2px 5px;font-size:10px;line-height:1.3}
.youthPage .trombi .teamControls{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:6px}
.youthPage .trombi .teamControls .btn{min-height:40px;padding:5px 7px;font-size:12px;line-height:1.2}
.youthPage .trombi .personTextiles{margin-top:6px;gap:4px}
.youthPage .trombi .attendanceCheck{width:40px;height:40px;min-height:40px;min-width:40px;font-size:19px}
@media(max-width:760px){
 #app:has(.youthPage){padding-top:12px}
 #app:has(.youthPage)>h1{font-size:25px;line-height:1.15;margin-bottom:8px}
 .youthPage .youthToolbar{justify-content:flex-start}
 .youthPage .youthModeActions{margin-left:auto}
 .youthPage .youthToolbar .btn{padding:6px 7px;font-size:12px}
 .youthPage .youthList .youthRow{gap:3px 5px;padding:5px 7px}
 .youthPage .youthRow>.grow{font-size:13px}
 .youthPage .youthRow .youthPhotoAction{display:none}
 .youthPage .youthRow>.personTextiles,.youthPage .youthRow.withPointing>.personTextiles{grid-column:1/-1}
 .youthPage .youthPointControls>.row:last-child{align-items:center}
 .youthPage .youthPointControls>.row:last-child>.row{margin-left:auto}
 .youthPage .trombi>.card{padding:8px}
}
@media(max-width:360px){
 .youthPage .youthToolbar{gap:4px}
 .youthPage .youthToolbar .btn{padding:6px;font-size:11px}
 .youthPage .youthViewToggle,.youthPage .youthModeActions{gap:3px}
 .youthPage .youthFilters{gap:4px}
}
@media print{.youthPage .youthToolbar,.youthPage .youthMeta,.youthPage .youthFilters,.youthPage .youthPointControls{display:none!important}}
