#milestonesPanel{grid-column:1/-1;width:100%;max-width:760px;margin:0 auto;display:grid;gap:18px;padding-bottom:24px}
#milestonesPanel[hidden]{display:none!important}
#milestonesPanel h2{font-size:1.7rem;margin:8px 0 12px}
#milestonesPanel .panel{padding:20px}
.ms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ms-badge{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0 0 13px;overflow:hidden;min-width:0;border:1px solid rgba(197,164,98,.3);border-radius:16px;background:#0c211a;color:inherit;cursor:pointer;gap:8px}
.ms-badge img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.ms-badge.locked img{filter:grayscale(.85);opacity:.55}
.ms-badge strong,.ms-badge span{margin:0 12px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.ms-badge span{font-size:12px;color:#c5cbbf}
.ms-badge.earned{border-color:#c6a76d}.ms-badge.available{border-color:#88b2a0}
.ms-art{display:block;width:min(100%,330px);height:auto;margin:0 auto 20px;border-radius:16px}
.ms-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.ms-fields label{font-size:13px;line-height:1.6;min-width:0}
.ms-fields input,.ms-fields select{display:block;width:100%;min-width:0;box-sizing:border-box;padding:12px 8px;border-radius:8px;border:1px solid #57705e;background:#0c211a;color:#fff;font:inherit}
.ms-checks,.ms-history{list-style:none;padding:0;line-height:1.6;font-size:14px}
.ms-checks li,.ms-history li{margin:12px 0}.ms-history li{border-bottom:1px solid #405047;padding-bottom:12px}
.ms-checks span{color:#c9ab71}.ms-clock{font-size:4rem;font-variant-numeric:tabular-nums;text-align:center;margin:15px 0}
.ms-confirm{display:flex;align-items:flex-start;gap:12px;line-height:1.5;margin:20px 0;font-size:14px}
.ms-confirm input{width:22px;height:22px;flex-shrink:0}
.ms-nudge{display:flex;align-items:center;gap:8px;margin:12px 0}.ms-nudge .secondary{flex:1}
#milestonesPanel button.primary,#milestonesPanel button.secondary{width:100%;margin-top:12px}
#milestonesPanel summary{cursor:pointer;line-height:1.5}
#milestonesPanel #msPhase{text-align:center;min-height:3em;font-weight:600}
.app[data-view="milestones"] [data-tab-panel="train"]{display:none!important}
.tab-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(min-width:640px){.ms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.skill-practice{padding:18px;margin:14px 0;border-left:3px solid var(--gold)}
.skill-practice h3{margin:8px 0;font-size:1.4rem}.skill-practice p{margin:8px 0}
.skill-actions{display:flex;gap:10px;margin-top:12px}.skill-actions button{flex:1}
.skill-load,.skill-inventory{display:block;font-size:13px;margin:12px 0}
.skill-load select,.skill-inventory input{display:block;width:100%;min-width:0;box-sizing:border-box;padding:10px;background:#10271e;color:#f3ead8;border:1px solid #42604d;border-radius:7px;font:inherit}
.skill-inventory small{display:block;margin:8px 0}
#skillPracticeSettings{margin-top:18px;border-top:1px solid #42604d}
.sfg2-result{min-width:0;margin:18px 0;padding:12px;border:1px solid #42604d;border-radius:10px}
.sfg2-result legend{font-weight:600;font-size:16px;padding:0 6px}
.sfg2-result .ms-fields{margin:12px 0}
#tpPanel #skillPracticeToggle{width:22px;height:22px;min-width:22px;padding:0;margin:0;flex-shrink:0}
#skillPracticeSettings .ms-confirm{font-size:14px}
.ms-nudge > .secondary{width:auto;min-width:0;flex:1 1 auto}
.ms-nudge > .ghost{width:42px;min-width:42px;flex:0 0 42px;padding:10px}
#escapeDialog{width:min(430px,calc(100% - 32px));box-sizing:border-box;border:1px solid #b88a42;border-radius:18px;padding:22px;background:#10271e;color:#f3ead8;max-height:85vh;overflow:auto}
#escapeDialog::backdrop{background:rgba(0,0,0,.75)}
#escapeDialog h2{font-size:1.5rem;line-height:1.3;margin:0 0 15px}
#escapeDialog p{font-size:15px;line-height:1.6}
#escapeDialog button{width:100%;margin:8px 0;white-space:normal}
#escapeSettings{border-top:1px solid #42604d;margin:14px 0;padding-top:8px}
#saveProgramBtn{display:block;width:100%;min-height:56px;margin:18px 0 8px;background:var(--gold);border-color:var(--gold);color:#102019;font-size:14px;font-weight:800}
