.assignment-planning { margin: 20px 0; }
.assignment-planning-accordion { margin: 0; padding: 12px; border-radius: 5px; }
.assignment-planning-accordion > li > .uk-accordion-title { display: block; position: relative; padding-left: 24px; font-size: 16px; }
.assignment-planning-accordion > li > .uk-accordion-title::before,
.assignment-table-help summary::before { content: ''; position: absolute; left: 0; top: 6px; float: none; width: 12px; height: 12px; margin: 0; background: currentColor; clip-path: polygon(20% 0, 100% 50%, 20% 100%); transform-origin: center; }
.assignment-planning-accordion > .uk-open > .uk-accordion-title::before,
.assignment-table-help details[open] > summary::before { transform: rotate(90deg); }
.assignment-planning-accordion .uk-flex { flex-wrap: wrap; gap: 6px; }
#qualification-progression-section { margin: 20px 0 12px; }
#qualification-progression-section > h2 { margin: 0 0 12px; }
.assignment-progress-layout { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.assignment-progress-layout > div { flex: none !important; min-width: 0; }
.assignment-pathway { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #c7dfef; border-left: 4px solid #2196f3; border-radius: 5px; background: #f8fbff; }
.assignment-pathway__row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; }
.assignment-pathway__row strong { color: #1e73be; }
.assignment-pathway p { margin: 6px 0 0; font-size: 14px; }
.assignment-target-overdue { color: #805300; background: #fff8e8; font-weight: 600; }
.assignment-table-heading, .assignment-table-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.assignment-table-header-content { display: flex; flex-direction: column; gap: 8px; }
.assignment-table-heading > div:first-child { flex: 1 1 240px !important; }
.assignment-table-meta { justify-content: flex-end; font-size: 14px; font-weight: 400; color: #526158; }
.assignment-table-upload { display: inline-flex; align-items: center; gap: 4px; }
.assignment-table-upload-status { display: inline-flex; align-items: center; gap: 6px; color: #287844; font-size: 13px; font-weight: 600; }
.assignment-table-upload-info { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: #526158; font: inherit; cursor: help; }
.assignment-table-upload-info:focus-visible { outline: 3px solid #287254; outline-offset: 2px; }
.assignment-table-upload-status--temporary { color: #805300; }
.assignment-table-upload-status--unavailable { color: #922525; }
.assignment-table-instructions { margin: 0; font-size: 14px; font-weight: 400; line-height: 1.5; text-align: left; }
.assignment-table-instructions p { margin: 6px 0 0; }
.assignment-table-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px 12px; }
.assignment-table-tools .assignment-colour-key { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0; font-size: 13px; font-weight: 400; }
.assignment-table-help { display: contents; font-size: 14px; font-weight: 400; text-align: left; }
.assignment-table-help .upload-help { display: contents; }
.assignment-table-help .upload-help:not([open]) > .upload-help-content { display: none; }
.assignment-table-help summary { grid-column: 2; grid-row: 1; justify-self: end; display: inline-block; position: relative; padding-left: 24px; list-style: none; cursor: pointer; font-size: 13px; font-weight: 600; }
.assignment-table-help summary::before { top: 50%; margin-top: -6px; }
.assignment-table-help summary::-webkit-details-marker { display: none; }
.assignment-table-help .upload-help summary:hover { background: transparent !important; }
.assignment-table-help .upload-help > .upload-help-content { grid-column: 1 / -1; min-width: 0; padding: 12px 0; background: transparent; font-weight: 400; line-height: 1.6; }
.upload-help-content > p { margin: 0 0 12px; }
.upload-help-steps { list-style: none; margin: 0; padding: 0; }
.upload-help-steps > li { margin: 16px 0; }
.upload-help-content h4 { margin: 0 0 6px; font-size: 16px; font-weight: 600; }
.upload-help-steps p, .upload-help-support p { margin: 0 0 8px; }
.upload-help .upload-browser-table { width: 100%; margin: 12px 0 0; border-collapse: collapse; background: #f5f7f6; font-size: 14px; }
.upload-browser-table caption { padding: 8px 10px; text-align: left; font-weight: 600; }
.upload-help .upload-browser-table th, .upload-help .upload-browser-table td { padding: 6px 10px; border: 1px solid #d9e1dc; background: transparent; text-align: left; white-space: normal; }
.upload-help-support { padding: 12px; border-left: 3px solid #668bad; border-radius: 4px; background: #edf4fb; }
.upload-help-support ul { margin: 8px 0; padding-left: 22px; }
.assignment-table-help :focus-visible, .assignment-planning :focus-visible { outline: 3px solid #287254; outline-offset: 3px; }
.assignment-pathway, .assignment-table-heading, .assignment-table-instructions, .assignment-table-help { overflow-wrap: anywhere; hyphens: none; }
@media (prefers-reduced-motion: reduce) {
  .assignment-table-upload-status .fa-beat { animation: none !important; }
}
@media (max-width: 600px) {
  .assignment-table-heading, .assignment-table-instructions, .assignment-table-tools, .assignment-table-help { max-width: calc(100vw - 110px); }
  .assignment-table-heading > div:first-child { flex-basis: 100% !important; }
  .assignment-table-meta { justify-content: flex-start; }
  .assignment-table-tools { grid-template-columns: minmax(0, 1fr); }
  .assignment-table-help summary { grid-column: 1; grid-row: 2; }
  .upload-help .upload-browser-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .upload-help .upload-browser-table tr { display: grid; grid-template-columns: minmax(0, 1fr); }
  .upload-help .upload-browser-table td::before { content: attr(data-label) ': '; font-weight: 600; }
  .assignment-planning-accordion .uk-label { white-space: normal; }
}
