.dashboard-tab-status{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0;padding:8px 0;line-height:1.5;color:#36534a}
.dashboard-tab-spinner{display:inline-block;flex:0 0 auto;width:22px;height:22px;box-sizing:border-box;border:3px solid #dce8e1;border-top-color:#287254;border-radius:50%;animation:dashboard-tab-spin .8s linear infinite}
.dashboard-tab-message{flex:1;min-width:150px}
.dashboard-tab-fallback{margin-left:4px;text-decoration:underline}
@keyframes dashboard-tab-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.dashboard-tab-spinner{animation:none;border-color:#b9cfc0;border-top-color:#287254}}

[data-advance-preview]{margin:20px 0;padding:16px;border:1px solid #cbd8e2;border-radius:6px;background:#f7f9fb}
[data-advance-preview]>summary{cursor:pointer;color:#254b69;line-height:1.6}
.support-preview-count{display:inline-block;margin-left:10px;padding:1px 9px;background:#e1eaf2;border-radius:12px;font-size:.9em}
.support-preview-body{padding-top:8px}
.support-services-table .support-booking-preview{background:#e8eff5;color:#294c66;text-align:center}

.support-services-table.tall-rows tr{line-height:1.5!important}
.support-services-table.tall-rows th,.support-services-table.tall-rows td{padding:14px 12px!important;vertical-align:middle}
.support-services-table .summary-caption{text-align:left!important;font-size:1.1rem;line-height:1.5;color:#234838;padding:0 0 16px}
.support-services-table thead th{font-size:.78rem;letter-spacing:.035em;text-transform:uppercase;color:#496158;white-space:nowrap}
.support-services-table tbody tr:nth-of-type(odd){background:#fff}
.support-services-table tbody tr:nth-of-type(even){background:#f7faf8}
.support-services-table .session-status{display:inline-block;padding:5px 10px;border-radius:14px;font-size:.85rem;font-weight:600;line-height:1.4;white-space:normal}
.session-status-available{background:#e5f3e9;color:#21613d}
.session-status-limited{background:#fff0d8;color:#80530b}
.session-status-full{background:#f8e6e9;color:#8b293c}
.session-status-preview{background:#e8eff5;color:#294c66}
.support-services-table .uk-button{min-height:38px;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;padding:9px 14px}
@media(max-width:640px){.support-services-table.tall-rows td{padding:10px!important}.support-services-table .session-status{max-width:100%}.support-preview-count{margin-left:0}}

@media(max-width:640px){
.support-services-table.uk-table-responsive tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:8px;border:1px solid #dce6e0;border-radius:6px;margin-bottom:12px}
.support-services-table.uk-table-responsive tbody td[data-label]{display:block;min-width:0;text-align:left!important;padding:8px!important}
.support-services-table.uk-table-responsive tbody td[data-label="Date"]{grid-column:1/-1;font-weight:600}
.support-services-table.uk-table-responsive tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:.7rem;font-weight:600;color:#60756b;text-transform:uppercase;letter-spacing:.03em}
.support-services-table.uk-table-responsive caption{display:block}
.support-services-table.uk-table-responsive{display:block}
.support-services-table.uk-table-responsive tbody{display:block}
}

/* Keep optional-purchase controls inside their allowance-table cell. */
.support-entitlements .support-services-table thead th{white-space:normal}
.support-entitlements .support-services-table td:last-child{white-space:normal;overflow-wrap:anywhere}
.support-entitlements .support-credit-actions{min-width:0!important;width:190px;max-width:100%}
.support-entitlements .support-services-table .support-credit-actions .uk-button{min-width:0;max-width:100%;width:100%;height:auto;max-height:none;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;box-sizing:border-box;line-height:1.4}

/* Shared informational guidance across assignment and schedule tabs. */
.participant-guidance.uk-alert-primary {
  background: #f4f9fc;
  color: #333;
  border: 0;
  border-left: 3px solid #1e73be;
  padding: 20px;
  margin: 20px 0;
}
.participant-guidance.uk-alert-primary h2,
.participant-guidance.uk-alert-primary h3,
.participant-guidance.uk-alert-primary h4 {
  color: inherit;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 16px;
}
.participant-guidance > :first-child { margin-top: 0; }
.participant-guidance > :last-child { margin-bottom: 0; }
