.gm-learning-targets { display: grid; gap: 16px; min-width: 0; padding: 24px; border: 1px solid #dce6f4; border-radius: 16px; background: #fff; }
.gm-learning-targets [hidden] { display: none !important; }
.gm-learning-targets :is(h3,p) { margin: 0; }
.gm-learning-targets p { line-height: 1.6; }
.gm-learning-targets > p:not(.gm-target-hint) { font-size: 16px; }
.gm-backend-body .gm-learning-targets label.gm-target-check { font-size: 16px; }
.gm-learning-targets .gm-target-check > span { font-size: inherit; }
.gm-learning-targets .gm-target-hint, .gm-learning-targets small { font-size: 13px; color: #526888; }
.gm-learning-targets small { display: block; }
.gm-learning-targets .gm-target-check { display: flex; align-items: flex-start; gap: 10px; padding: 10px 8px; min-height: 44px; margin: 0; font-size: 16px; line-height: 1.5; cursor: pointer; overflow-wrap: anywhere; }
.gm-learning-targets .gm-target-check input { width: 20px; height: 20px; min-height: 20px; margin: 2px 0 0; flex: 0 0 20px; accent-color: #1559c6; }
.gm-learning-targets .gm-target-level { min-width: 0; border-top: 1px solid #dce6f4; padding-top: 12px; }
.gm-learning-targets .gm-target-level > label { background: #f0f6ff; border-radius: 8px; }
.gm-learning-targets [data-target-level-body] { display: grid; gap: 16px; margin-top: 16px; }
.gm-learning-targets .gm-target-class { min-width: 0; border-top: 1px solid #e7edf5; }
.gm-learning-targets summary { padding: 10px 8px; min-height: 44px; cursor: pointer; color: #1559c6; }
.gm-learning-targets .gm-target-subjects { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.gm-learning-targets .gm-target-check:has(input:checked) { background: #eaf2ff; border-radius: 8px; }
.gm-learning-targets .gm-target-apply { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.gm-learning-targets .gm-target-apply label { flex: 1 1 230px; min-width: 0; }
.gm-learning-targets select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; font-size: 16px; margin-top: 8px; }
.gm-learning-targets button { min-height: 44px; white-space: normal; justify-self: start; }
.gm-learning-targets :focus-visible { outline: 3px solid #397bed; outline-offset: 3px; }
.gm-target-errors { color: #a32337; border-left: 3px solid currentColor; padding-left: 12px; }
.gm-target-details { margin: 0; display: grid; gap: 16px; overflow-wrap: anywhere; }
.gm-target-details > div { display: grid; gap: 6px; }
.gm-target-details dt { font-weight: 700; }
.gm-target-details dd { margin: 0; }
.gm-target-details p { margin: 0 0 6px; }
.gm-public-shell .gm-metadata-cards > .gm-metadata-targets { display: block; grid-column: 1 / -1; }
.gm-public-shell .gm-metadata-targets > dt { margin-bottom: 12px; }
.gm-public-shell .gm-target-details dt { color: #10264d; font-size: 15px; }
.gm-public-shell .gm-target-details dd { font-size: 16px; font-weight: 400; line-height: 1.6; }
@media (max-width: 639px) {
    .gm-learning-targets { padding: 16px; }
    .gm-learning-targets .gm-target-subjects { grid-template-columns: minmax(0,1fr); }
    .gm-learning-targets .gm-target-apply { display: grid; }
}
.gm-stem-field { margin-bottom: 16px; padding: 16px; border: 1px solid #a5dfd2; border-radius: 14px; background: #f0fdf8; }
.gm-stem-field[hidden] { display: none !important; }
.gm-stem-field .gm-stem-option { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 0; cursor: pointer; }
.gm-stem-field .gm-stem-option input { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0; accent-color: #167a60; }
.gm-stem-field .gm-stem-option span { min-width: 0; }
.gm-stem-field .gm-stem-option strong { display: block; font-size: 16px; }
.gm-stem-field .gm-stem-option small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.6; color: #365e58; font-weight: 400; }
