.special-target-control { display:grid; gap:8px; margin:16px 0; font-size:14px; }
.special-target-control select { min-height:40px; width:100%; max-width:100%; }
.special-training-progress { padding:12px 0 18px; border-bottom:1px solid #cfdddc; }
.special-training-progress h4 { margin:6px 0 12px; }
.special-training-progress progress { display:block; width:100%; height:12px; margin:20px 0 10px; accent-color:#087f78; }
.special-progress-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:13px; }
.special-progress-caption strong { font-size:18px; }
.special-status-reasons { padding-left:18px; color:#715721; line-height:1.8; font-size:13px; }
.development-ability-tags { display:flex; flex-wrap:wrap; gap:10px 16px; font-size:13px; line-height:1.6; }
.development-ability-tags span { border-bottom:2px solid #c0d9d5; padding-bottom:3px; overflow-wrap:anywhere; }
.development-event-list { padding-left:20px; font-size:13px; line-height:1.9; }
.development-event-list li { margin:7px 0; overflow-wrap:anywhere; }
.development-event-list time { color:#576d69; }
.player-coach-support { margin:12px 0; font-size:13px; }
.player-coach-support > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:10px; padding:7px 0; }
.player-coach-support dd { margin:0; overflow-wrap:anywhere; }
.awakening-status { display:flex; flex-wrap:wrap; gap:8px 18px; border-left:3px solid #af883b; background:#f4f7ef; padding:12px; margin:14px 0; font-size:13px; }
.coaching-heading { display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; padding:12px 0; border-bottom:1px solid #cfdddc; }
.coaching-heading h3 { margin:0; font-size:18px; }
.coaching-heading span { font-size:13px; }
.coach-army { margin:24px 0; }
.coach-army > h3 { font-size:17px; border-bottom:2px solid #3c8179; padding:8px 0; }
.coach-slot { border-bottom:1px solid #cfdddc; padding:18px 0; }
.coach-slot header { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.coach-slot header > div { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:baseline; }
.coach-slot h4 { margin:0; font-size:15px; }
.coach-slot header span { font-size:12px; color:#516763; }
.coach-swap { width:40px; height:40px; flex:0 0 40px; padding:8px; }
.coach-characteristics { display:grid; gap:8px; font-size:13px; line-height:1.65; margin:14px 0; }
.coach-characteristics > div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; }
.coach-characteristics dd { margin:0; overflow-wrap:anywhere; }
.coach-focus-controls { display:grid; grid-template-columns:repeat(2,minmax(0,260px)); gap:14px; margin:14px 0; }
.coach-focus-controls label,.coach-contract-control { display:grid; gap:6px; font-size:13px; min-width:0; }
.coach-focus-controls select,.coach-contract-control select { width:100%; max-width:100%; min-height:40px; }
.coach-contract-control { max-width:534px; }
.coach-candidate-list { margin:14px 0; font-size:13px; }
.coach-candidate-list summary { cursor:pointer; }
.coach-candidate-list > div { padding:12px 0; border-bottom:1px solid #e0e7e5; }
.coach-candidate-list h5 { font-size:14px; margin:6px 0; }
@media(max-width:600px) {
    .coach-characteristics > div { grid-template-columns:minmax(0,1fr); gap:3px; }
    .coach-focus-controls { grid-template-columns:minmax(0,1fr); }
    .coach-slot header > div { display:grid; gap:6px; min-width:0; }
    .coaching-heading { align-items:flex-start; }
    .coaching-heading span { flex-basis:100%; }
    .player-coach-support > div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
