.hero {
  overflow: hidden;
  position: relative;
}

/* Platform tenant administration */
.platform-tenants,.platform-tenant-editor{max-width:1280px;margin:0 auto;padding:32px}.platform-tenants__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.platform-tenant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:24px}.platform-tenant-card{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid var(--color-border,#d9e0ea);border-radius:18px;background:var(--color-surface,#fff)}.platform-tenant-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.platform-tenant-card h2{margin:4px 0 0}.platform-tenant-card__host{margin:0;color:var(--color-text-muted,#617086)}.platform-license-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.platform-license-summary div{padding:14px;border-radius:12px;background:var(--color-surface-subtle,#f5f7fa)}.platform-license-summary dt{font-size:.75rem;color:var(--color-text-muted,#617086);text-transform:uppercase;letter-spacing:.04em}.platform-license-summary dd{margin:6px 0 0;font-weight:700}.platform-tenant-card .button{align-self:flex-start}.platform-tenant-editor{max-width:980px}.platform-tenant-form{display:grid;gap:24px;margin-top:24px}.platform-limit-fields{padding:20px;border:1px solid var(--color-border,#d9e0ea);border-radius:14px}.platform-limit-fields legend{padding:0 8px;font-weight:800}.platform-limit-fields>p{margin-top:0;color:var(--color-text-muted,#617086)}.platform-license-usage{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.platform-license-usage article{display:grid;gap:7px;padding:16px;border-radius:12px;background:var(--color-surface-subtle,#f5f7fa)}.platform-license-usage span{font-size:.82rem;color:var(--color-text-muted,#617086)}.platform-license-usage strong{font-size:1.15rem}.platform-license-usage progress{width:100%;height:7px;accent-color:var(--color-accent,#2864dc)}.platform-tenant-form .notice-card{margin:0}.platform-tenant-form .settings-actions{display:flex;justify-content:flex-end;gap:12px}.back-link{display:inline-block;margin-bottom:18px;color:inherit;text-decoration:none;font-weight:700}
.domain-composer{display:flex;align-items:center;border:1px solid var(--color-border,#d9e0ea);border-radius:12px;background:var(--color-surface,#fff);overflow:hidden}.domain-composer:focus-within{border-color:var(--color-accent,#2864dc);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent,#2864dc) 18%,transparent)}.domain-composer input{min-width:0;flex:1;border:0!important;box-shadow:none!important;border-radius:0!important}.domain-composer span{padding:0 16px 0 4px;color:var(--color-text-muted,#617086);white-space:nowrap}.field-status{display:block;min-height:1.25rem;margin-top:6px;font-size:.86rem}.field-status[data-state=available]{color:#16734a}.field-status[data-state=unavailable],.field-status[data-state=invalid],.field-status[data-state=error]{color:var(--color-danger,#b42318)}
@media(max-width:720px){.platform-tenants,.platform-tenant-editor{padding:20px}.platform-tenants__heading{align-items:stretch;flex-direction:column}.platform-license-summary,.platform-license-usage,.platform-tenant-form .terminology-grid{grid-template-columns:1fr}}
.platform-tenant-tabs{margin-top:1.5rem}.platform-tenant-tabs .workspace-tab{color:var(--color-text-muted);font-weight:750;text-decoration:none}.platform-tenant-tabs .workspace-tab.is-active{border-bottom:2px solid var(--color-action-primary);color:var(--color-action-primary)}

/* Assessments */
.content-assessment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.2rem;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised)}
.content-assessment__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.85rem;background:color-mix(in srgb,var(--color-action-primary) 12%,var(--color-surface));color:var(--color-action-primary);font-weight:800}
.content-assessment__body{display:grid;gap:.22rem}.content-assessment__body small,.content-assessment__body span{color:var(--color-text-muted)}.content-assessment__body p{margin:.2rem 0}
.assessment-authoring,.learning-assessment{min-height:100vh;background:var(--color-surface-subtle)}
.assessment-authoring__toolbar,.learning-assessment__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}
.assessment-authoring__heading,.learning-assessment__toolbar{align-items:center}.assessment-authoring__heading{display:flex;gap:1rem;align-items:center}.assessment-authoring__heading h1,.learning-assessment__toolbar h1{margin:.1rem 0}.assessment-authoring__heading p,.learning-assessment__toolbar p{margin:0;color:var(--color-text-muted)}
.assessment-authoring__layout{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:1.5rem;max-width:90rem;margin:0 auto;padding:1.5rem}
.assessment-question-list,.assessment-settings{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.4rem}.assessment-question-list>header{display:flex;justify-content:space-between;align-items:center}.assessment-question-list>ol{display:grid;gap:.8rem;padding:0;list-style:none}
.assessment-question-card{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:1rem}.assessment-question-card.is-editing{border-color:var(--color-action-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 12%,transparent)}.assessment-question-card>header{display:flex;gap:.8rem;align-items:start}.assessment-question-card>header>span{color:var(--color-action-primary);font-weight:800}.assessment-question-card>header>div:first-of-type{display:grid;flex:1}.assessment-question-card small{color:var(--color-text-muted)}.assessment-question-card ul{display:grid;gap:.35rem;list-style:none;padding:1rem 0 0;margin:0}.assessment-question-card li{display:flex;gap:.5rem;padding:.55rem .7rem;border-radius:.55rem;background:var(--color-surface-subtle)}.assessment-question-card li.is-correct{background:color-mix(in srgb,var(--color-feedback-success) 12%,var(--color-surface));color:var(--color-feedback-success)}.assessment-question-card__menu{margin-left:auto;position:relative}.assessment-question-card__menu .course-section-menu__popover button{font-size:.7rem;padding:.55rem .65rem}
.assessment-question-editor{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.assessment-question-editor--inline{border:0;margin:0;padding:0}.assessment-question-editor__title{display:flex;align-items:start;justify-content:space-between;gap:1rem}.assessment-question-editor__title h3{margin:.15rem 0 .8rem}.assessment-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.assessment-option-input{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.55rem}.assessment-question-editor__actions{display:flex;align-items:end;justify-content:space-between;gap:1rem}.assessment-points{max-width:9rem}.assessment-settings form{display:grid;gap:1rem}.assessment-empty{text-align:center;padding:2rem;border:1px dashed var(--color-border);border-radius:var(--radius-control)}
.learning-assessment{padding-bottom:3rem}.learning-assessment__toolbar{justify-content:flex-start}.learning-assessment__form,.assessment-result,.learning-assessment__done{max-width:58rem;margin:1.5rem auto}.learning-assessment__form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.5rem}.learning-question-list{display:grid;gap:1rem;padding:0;list-style:none}.learning-question-list fieldset{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:1rem}.learning-question-list legend{display:flex;gap:.6rem;font-weight:700}.learning-question-list legend>span{color:var(--color-action-primary)}.learning-question-list legend small{margin-left:auto;color:var(--color-text-muted);font-weight:400}.learning-options{display:grid;gap:.55rem;margin-top:.8rem}.learning-options label{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer}.learning-options label:has(input:checked){border-color:var(--color-action-primary);background:color-mix(in srgb,var(--color-action-primary) 8%,var(--color-surface))}.learning-assessment__form>footer,.learning-assessment__done{display:flex;justify-content:space-between;gap:1rem;margin-top:1.3rem}.assessment-result{display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;border-radius:var(--radius-card)}.assessment-result>span{font-size:1.6rem}.assessment-result p{margin:.2rem 0 0}.assessment-result--passed{background:color-mix(in srgb,var(--color-feedback-success) 13%,var(--color-surface));color:var(--color-feedback-success)}.assessment-result--retry{background:color-mix(in srgb,var(--color-feedback-warning) 15%,var(--color-surface))}
.assessment-review{max-width:58rem;margin:1.5rem auto}.assessment-review>header{margin-bottom:1rem}.assessment-review>header h2{margin:.2rem 0}.assessment-review>header p{margin:0;color:var(--color-text-muted)}.assessment-review__questions,.assessment-review__options{display:grid;list-style:none;padding:0}.assessment-review__questions{gap:1rem}.assessment-review__questions>li{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1rem;background:var(--color-surface)}.assessment-review__questions>li.is-correct{border-color:color-mix(in srgb,var(--color-feedback-success) 45%,var(--color-border))}.assessment-review__questions>li.is-incorrect{border-color:color-mix(in srgb,var(--color-feedback-danger) 45%,var(--color-border))}.assessment-review__question{display:flex;gap:.7rem;align-items:start}.assessment-review__question>span{font-size:1.25rem;font-weight:800}.assessment-review__questions>li.is-correct .assessment-review__question>span{color:var(--color-feedback-success)}.assessment-review__questions>li.is-incorrect .assessment-review__question>span{color:var(--color-feedback-danger)}.assessment-review__question>div{display:grid;gap:.15rem}.assessment-review__question small{color:var(--color-text-muted)}.assessment-review__options{gap:.5rem;margin:1rem 0 0}.assessment-review__options li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-control)}.assessment-review__options li.is-correct{border-color:var(--color-feedback-success);background:color-mix(in srgb,var(--color-feedback-success) 11%,var(--color-surface));color:var(--color-feedback-success)}.assessment-review__options li.is-incorrect{border-color:var(--color-feedback-danger);background:color-mix(in srgb,var(--color-feedback-danger) 9%,var(--color-surface));color:var(--color-feedback-danger)}.assessment-review__options small{font-weight:700}.assessment-review__feedback{margin-top:1rem;padding:.85rem 1rem;border-radius:var(--radius-control);background:var(--color-surface-subtle)}.assessment-review__feedback p{margin:.25rem 0 0}
.learner-workbench__content>.learning-assessment{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:800px){.assessment-authoring__layout{grid-template-columns:1fr}.assessment-settings{grid-row:1}.assessment-option-grid{grid-template-columns:1fr}.content-assessment{grid-template-columns:auto 1fr}.content-assessment__action{grid-column:1/-1}.assessment-authoring__toolbar{padding:1rem}.assessment-authoring__toolbar>.button{display:none}}

.evaluation-plan{min-height:100vh;background:var(--color-surface-subtle)}.evaluation-plan__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.evaluation-plan__identity{display:flex;align-items:center;gap:1rem}.evaluation-plan__identity h1{margin:.12rem 0}.evaluation-plan__identity p,.evaluation-plan__section-heading p{margin:0;color:var(--color-text-muted)}.evaluation-plan__body{display:grid;gap:1.25rem;max-width:78rem;margin:0 auto;padding:1.5rem}.evaluation-plan__settings,.evaluation-plan__components,.evaluation-plan__empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.4rem}.evaluation-plan__section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.evaluation-plan__section-heading h2{margin:.15rem 0}.evaluation-mode-card{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.8rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer}.evaluation-mode-card:has(input:checked){border-color:var(--color-action-primary);background:color-mix(in srgb,var(--color-action-primary) 6%,var(--color-surface))}.evaluation-mode-card input{margin-top:.2rem}.evaluation-mode-card span{display:grid;gap:.18rem}.evaluation-mode-card small,.evaluation-thresholds small{color:var(--color-text-muted)}.evaluation-thresholds{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.evaluation-thresholds .is-disabled{opacity:.55}.evaluation-plan__form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.evaluation-plan__empty{display:flex;align-items:center;gap:1rem}.evaluation-plan__empty h2{margin:0 0 .25rem}.evaluation-plan__empty p{margin:0;color:var(--color-text-muted)}.evaluation-plan__empty-mark{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:color-mix(in srgb,var(--color-feedback-success) 14%,var(--color-surface));color:var(--color-feedback-success);font-size:1.25rem;font-weight:800}.evaluation-plan__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.evaluation-plan__summary>div{display:grid;gap:.3rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control)}.evaluation-plan__summary span{color:var(--color-text-muted);font-size:.76rem}.evaluation-plan__summary strong{font-size:1.05rem}.evaluation-plan__summary .is-ready{color:var(--color-feedback-success)}.evaluation-plan__summary .is-pending{color:var(--color-feedback-warning)}.evaluation-plan-list{display:grid;gap:.65rem}.evaluation-plan-item{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.evaluation-plan-item[open]{border-color:color-mix(in srgb,var(--color-action-primary) 50%,var(--color-border))}.evaluation-plan-item>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:1rem;cursor:pointer;list-style:none}.evaluation-plan-item>summary::-webkit-details-marker{display:none}.evaluation-plan-item>summary svg{width:1.1rem;fill:none;stroke:currentColor;stroke-width:2;transition:transform .16s}.evaluation-plan-item[open]>summary svg{transform:rotate(180deg)}.evaluation-plan-item__position{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:var(--color-surface-muted);color:var(--color-action-primary);font-weight:800}.evaluation-plan-item__name{display:grid;min-width:0}.evaluation-plan-item__name strong,.evaluation-plan-item__name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evaluation-plan-item__name small{color:var(--color-text-muted)}.evaluation-plan-item__weight{color:var(--color-action-primary)}.evaluation-plan-item__editor{padding:1rem;border-top:1px solid var(--color-border);background:var(--color-surface-subtle)}.evaluation-plan-item__grid{display:grid;grid-template-columns:minmax(14rem,1.5fr) minmax(7rem,.55fr) minmax(12rem,1fr) minmax(14rem,1.5fr);gap:.8rem}.evaluation-plan-item__actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem}
.evaluation-plan-dialog{max-width:min(42rem,calc(100vw - 2rem))}.evaluation-plan-dialog .ui-dialog__surface,.evaluation-plan-dialog .ui-dialog__form,.evaluation-plan-dialog .form-field{min-width:0}.evaluation-plan-dialog .ui-dialog__form{overflow-x:hidden}.evaluation-plan-create-grid{display:grid;grid-template-columns:minmax(8rem,.65fr) minmax(0,1.35fr);gap:1rem}.evaluation-instrument-type{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle)}.evaluation-instrument-type>span{color:var(--color-text-muted);font-size:.78rem;font-weight:750}.evaluation-instrument-type>strong{grid-column:2;grid-row:1 / span 2;color:var(--color-action-primary);align-self:center}.evaluation-instrument-type>small,.evaluation-plan-dialog .form-field>small,.evaluation-plan-item__editor .form-field>small{color:var(--color-text-muted);font-size:.78rem;line-height:1.4}
@media(max-width:900px){.evaluation-plan__summary{grid-template-columns:1fr 1fr}.evaluation-plan-item__grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.evaluation-plan__toolbar{padding:1rem}.evaluation-plan__toolbar>.button{display:none}.evaluation-plan__body{padding:1rem}.evaluation-thresholds,.evaluation-plan__summary,.evaluation-plan-item__grid,.evaluation-plan-create-grid{grid-template-columns:1fr}.evaluation-plan-item>summary{grid-template-columns:auto minmax(0,1fr) auto}.evaluation-plan-item>summary svg{display:none}.evaluation-instrument-type{grid-template-columns:1fr}.evaluation-instrument-type>strong{grid-column:1;grid-row:auto}}

/* Public course catalog */
.catalog-hero{padding:clamp(3rem,7vw,6.5rem) 0 3rem;background:linear-gradient(135deg,#f4f7ff 0%,#fff 62%,#f8efe8 100%);border-bottom:1px solid var(--color-border)}
.catalog-hero h1,.public-course-hero h1{max-width:900px;margin:.45rem 0;font-size:clamp(2.6rem,6vw,5.6rem);line-height:.96;letter-spacing:-.045em}
.catalog-hero p{max-width:700px;font-size:1.2rem;color:var(--color-text-muted)}
.catalog-search{display:flex;gap:.75rem;max-width:760px;margin-top:2rem}.catalog-search input{flex:1;min-width:0}
.catalog-hero--compact{padding:clamp(2rem,4vw,3.5rem) 0 2rem}
.catalog-hero--compact h1{font-size:clamp(2.35rem,4.8vw,4.4rem);max-width:15ch}
.catalog-hero--compact p{margin:.75rem 0 0}
.catalog-hero--compact .catalog-search{margin-top:1.4rem}
.catalog-results{padding-block:3rem 5rem}.catalog-results>header{margin-bottom:1.5rem}.catalog-results h2{margin:.25rem 0}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:1rem}
.catalog-card{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:0 10px 28px rgba(25,38,64,.07)}
.catalog-card__cover{display:grid;aspect-ratio:16/9;place-items:center;background:linear-gradient(140deg,#dce7ff,#f1e5dc);text-decoration:none}.catalog-card__cover img{display:block;width:100%;height:100%;object-fit:contain}.catalog-card__cover span{font-size:3rem;font-weight:800;color:var(--color-primary)}
.catalog-card__body{position:relative;z-index:1;display:grid;align-content:start;gap:.45rem;padding:.85rem;background:var(--color-surface)}.catalog-card__body h3,.catalog-card__body p{margin:0}.catalog-card__body h3{font-size:1rem;line-height:1.3}.catalog-card__body h3 a{color:inherit;text-decoration:none}.catalog-card__body p{display:-webkit-box;min-height:2.6em;overflow:hidden;color:var(--color-text-muted);font-size:.84rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.catalog-card__meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.catalog-card__meta span{display:inline-flex;align-items:center;min-height:1.45rem;padding:.12rem .45rem;border:1px solid var(--color-border-subtle);border-radius:999px;background:var(--color-surface-muted);font-size:.72rem;font-weight:650;line-height:1}.catalog-card__availability{margin-top:.15rem;font-size:.82rem;color:var(--color-primary)}
.catalog-empty{padding:4rem;text-align:center;border:1px dashed var(--color-border);border-radius:20px}
.public-course-hero{padding:clamp(1.25rem,2.5vw,2rem) 0 clamp(2rem,4vw,3.25rem);background:linear-gradient(150deg,#142238,#243a61);color:#fff}.public-course-hero__surface{display:grid;grid-template-columns:minmax(22rem,.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:center}.public-course-hero__media{aspect-ratio:16/9;display:grid;grid-column:2;grid-row:1;min-width:0;width:100%;margin:0;overflow:hidden;border:1px solid rgb(255 255 255/15%);border-radius:18px;background:rgb(255 255 255/7%);place-items:center}.public-course-hero__media img{display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain}.public-course-hero__grid{display:grid;grid-column:1;grid-row:1;min-width:0;grid-template-columns:1fr;gap:1rem;align-items:start}.public-course-hero h1{max-width:16ch;font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.02}.public-course-hero__breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem .8rem;align-items:center;margin-bottom:.65rem}.catalog-back{display:inline-flex;color:#dbe7ff;font-weight:700;text-decoration:none}.public-course-hero__summary{max-width:60ch;margin:.75rem 0;font-size:1rem;line-height:1.55;color:#e3eaf6}.public-course-hero .catalog-card__meta span{background:rgba(255,255,255,.12)}
.public-course-enrollment{align-self:start;width:100%;max-width:22rem;justify-self:start;overflow:hidden;border-radius:16px;background:var(--color-surface);color:var(--color-text);box-shadow:0 14px 32px rgba(0,0,0,.18)}.public-course-enrollment__body{display:grid;gap:.55rem;padding:1rem}.public-course-enrollment__body h2{margin:0;font-size:1.08rem}.public-course-enrollment__body p{margin:0;color:var(--color-text-muted);font-size:.8rem;line-height:1.4}.public-course-enrollment__body form{margin:0}.public-course-enrollment--compact{width:min(100%,20rem)}.public-course-enrollment--compact .public-course-enrollment__body{gap:.45rem;padding:.7rem}.public-course-enrollment__action{width:100%;min-height:3.4rem;justify-content:center;padding:.85rem 1.25rem;font-size:1rem}.catalog-register{margin-top:.35rem;border-top:1px solid var(--color-border);padding-top:.85rem}.catalog-register summary{cursor:pointer;font-weight:700}.catalog-register form{display:grid;gap:.85rem;margin-top:1rem}
.public-course-content{padding-block:4rem 6rem}.public-course-content>article{box-sizing:border-box;width:100%;max-width:none}.public-course-content__overview{min-width:0}.public-course-content__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2.5rem}.public-course-content article{padding:1.5rem;border:1px solid var(--color-border);border-radius:18px}.catalog-prose{white-space:pre-line;line-height:1.75;color:var(--color-text-muted)}
@media(max-width:780px){.catalog-search{flex-direction:column}.public-course-hero{padding-top:1rem}.public-course-hero__surface{grid-template-columns:1fr;gap:1.25rem}.public-course-hero__media{aspect-ratio:16/7;grid-column:1;grid-row:1;max-height:20rem}.public-course-hero__grid{grid-column:1;grid-row:2;grid-template-columns:1fr}.public-course-hero h1{max-width:18ch;font-size:clamp(2rem,8vw,3rem)}.public-course-enrollment{max-width:22rem}}

.hero::after {
  border: 1px solid var(--color-border-subtle);
  border-radius: 50%;
  content: "";
  height: 34rem;
  pointer-events: none;
  position: absolute;
  right: -17rem;
  top: -19rem;
  width: 34rem;
}

.hero__lead {
  max-width: 42rem;
}

.stage-card {
  backdrop-filter: blur(1rem);
}

.capability-card:nth-child(2) { animation-delay: 80ms; }
.capability-card:nth-child(3) { animation-delay: 160ms; }
.capability-card:nth-child(4) { animation-delay: 240ms; }

@media (prefers-reduced-motion: no-preference) {
  .capability-card {
    animation: card-enter 500ms both;
  }

  @keyframes card-enter {
    from {
      opacity: 0;
      transform: translateY(0.75rem);
    }
  }
}

/* Course authoring is a private work surface, not a public presentation page. */
.workspace-page .app-header__inner {
  min-height: 3.5rem;
}

.workspace-page .brand__mark {
  height: 2rem;
  width: 2rem;
}

.workspace-page .brand__copy small,
.workspace-page .app-footer {
  display: none;
}

.authoring-studio {
  background: var(--color-surface-soft);
  min-height: calc(100vh - 3.5rem);
}

.authoring-toolbar {
  align-items: center;
  background: var(--color-surface-raised);
  border-block: 1px solid var(--color-border-subtle);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(15rem, 1fr) auto minmax(10rem, 0.55fr);
  min-height: 4.5rem;
  padding: 0.65rem clamp(1rem, 2.5vw, 2rem);
  position: sticky;
  top: 0;
  z-index: 20;
}

.authoring-toolbar__course,
.authoring-toolbar__title-row,
.authoring-toolbar__actions,
.authoring-tabs {
  align-items: center;
  display: flex;
}

.authoring-toolbar__course {
  gap: 0.8rem;
  min-width: 0;
}

.authoring-toolbar__course > div {
  min-width: 0;
}

.studio-back {
  align-items: center;
  background: var(--color-surface-soft);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-control);
  color: var(--color-text-primary);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.1rem;
  height: 2.35rem;
  justify-content: center;
  text-decoration: none;
  width: 2.35rem;
}

.studio-back:hover,
.studio-back:focus-visible {
  border-color: var(--color-action-primary);
  color: var(--color-action-primary);
}

.authoring-toolbar__title-row {
  gap: 0.55rem;
  min-width: 0;
}

.authoring-toolbar h1 {
  font-size: 1rem;
  letter-spacing: -0.02em;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.authoring-toolbar__course p {
  color: var(--color-text-muted);
  font-size: 0.7rem;
  margin: 0.15rem 0 0;
}

.authoring-toolbar .status-badge {
  font-size: 0.58rem;
  padding: 0.2rem 0.45rem;
}

.authoring-tabs {
  align-self: stretch;
  gap: 0.2rem;
  justify-content: center;
}

.authoring-tabs a,
.authoring-tabs > span {
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--color-text-muted);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 750;
  gap: 0.35rem;
  padding: 0.85rem 0.8rem 0.7rem;
  text-decoration: none;
}

.authoring-tabs a > span {
  align-items: center;
  background: var(--color-surface-soft);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.62rem;
  justify-content: center;
  min-width: 1.25rem;
  padding: 0.12rem 0.32rem;
}

.authoring-tabs a:hover {
  color: var(--color-text-primary);
}

.authoring-tabs a[aria-current="page"] {
  border-bottom-color: var(--color-action-primary);
  color: var(--color-text-primary);
}

.authoring-tabs > span[aria-disabled="true"] {
  opacity: 0.45;
}

.authoring-toolbar__actions {
  gap: 0.6rem;
  justify-content: flex-end;
}

.authoring-toolbar__actions .button {
  min-height: 2.35rem;
  padding: 0.55rem 0.85rem;
}

.authoring-canvas {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
  margin: 0 auto;
  min-height: calc(100vh - 8rem);
  width: min(100%, 96rem);
}

.authoring-main {
  background: var(--color-canvas);
  min-width: 0;
  padding: clamp(1rem, 2.3vw, 2rem);
}

.authoring-inspector {
  background: var(--color-surface-raised);
  border-left: 1px solid var(--color-border-subtle);
  padding: 1.5rem 1.25rem;
}

.studio-pane-heading {
  align-items: end;
  border-bottom: 1px solid var(--color-border-subtle);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 0.9rem;
}

.studio-pane-heading h2,
.inspector-heading h2 {
  font-size: 1.15rem;
  letter-spacing: -0.025em;
  margin: 0.15rem 0 0;
}

.studio-pane-heading > p,
.inspector-heading p,
.inspector-note,
.field-hint {
  color: var(--color-text-muted);
  font-size: 0.76rem;
}

.studio-pane-heading > p {
  margin: 0;
  max-width: 30rem;
  text-align: right;
}

.authoring-form {
  display: grid;
  gap: 1rem;
  max-width: 48rem;
}

.authoring-form .form-field,
.inspector-form .form-field {
  gap: 0.35rem;
}

.authoring-form textarea {
  min-height: 9rem;
}

.inspector-heading {
  border-bottom: 1px solid var(--color-border-subtle);
  padding-bottom: 1rem;
}

.inspector-heading p {
  margin: 0.45rem 0 0;
}

.inspector-form {
  display: grid;
  gap: 1rem;
  padding-top: 1rem;
}

.inspector-form .button {
  width: 100%;
}

.inspector-note {
  margin: 0.75rem 0 0;
}

.studio-facts {
  margin: 0;
}

.studio-facts > div {
  align-items: center;
  border-bottom: 1px solid var(--color-border-subtle);
  display: flex;
  font-size: 0.75rem;
  justify-content: space-between;
  padding-block: 0.8rem;
}

.studio-facts dt {
  color: var(--color-text-muted);
}

.studio-facts dd {
  font-weight: 700;
  margin: 0;
  text-align: right;
}

.inspector-link {
  color: var(--color-action-primary);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 750;
  margin-top: 1rem;
}

.studio-unit-list {
  display: grid;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.studio-unit-list li {
  align-items: center;
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-control);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto auto minmax(0, 1fr) auto auto;
  min-height: 3.7rem;
  padding: 0.55rem 0.7rem;
}

.studio-unit-list li:hover {
  border-color: color-mix(in srgb, var(--color-action-primary) 38%, var(--color-border-subtle));
}

.unit-select {
  color: var(--color-text-primary);
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  text-decoration: none;
}

.unit-select strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unit-select small {
  color: var(--color-text-muted);
  font-size: 0.68rem;
}

.studio-unit-list li.is-selected {
  border-color: var(--color-action-primary);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-action-primary) 20%, transparent);
}

.unit-select:focus-visible {
  border-radius: 0.25rem;
  outline: 3px solid var(--focus-ring-color);
  outline-offset: 3px;
}

.unit-drag {
  color: var(--color-text-muted);
  letter-spacing: -0.18em;
}

.unit-position {
  align-items: center;
  background: var(--color-surface-soft);
  border-radius: 0.55rem;
  color: var(--color-action-primary);
  display: inline-flex;
  font-size: 0.65rem;
  font-weight: 850;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.unit-open {
  color: var(--color-text-muted);
  font-size: 1.2rem;
}

.studio-empty {
  align-items: center;
  background: var(--color-surface-raised);
  border: 1px dashed var(--color-border-subtle);
  border-radius: var(--radius-control);
  display: flex;
  gap: 0.85rem;
  min-height: 5rem;
  padding: 1rem;
}

.studio-empty > span {
  align-items: center;
  background: var(--color-surface-soft);
  border-radius: 0.55rem;
  color: var(--color-action-primary);
  display: inline-flex;
  font-size: 0.65rem;
  font-weight: 850;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.studio-empty p {
  color: var(--color-text-muted);
  font-size: 0.75rem;
  margin: 0.2rem 0 0;
}

@media (max-width: 980px) {
  .authoring-toolbar {
    gap: 0.75rem;
    grid-template-columns: minmax(12rem, 1fr) auto;
  }

  .authoring-tabs {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .authoring-canvas {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
    min-height: calc(100vh - 11.5rem);
  }
}

@media (max-width: 700px) {
  .workspace-page .app-header__inner--authenticated .primary-nav--app {
    display: none;
  }

  .authoring-toolbar {
    position: static;
  }

  .authoring-toolbar__course p,
  .authoring-toolbar .status-badge {
    display: none;
  }

  .authoring-canvas {
    grid-template-columns: 1fr;
  }

  .authoring-inspector {
    border-left: 0;
    border-top: 1px solid var(--color-border-subtle);
  }

  .studio-pane-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .studio-pane-heading > p {
    text-align: left;
  }

  .studio-unit-list li {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }

  .studio-unit-list .status-badge {
    display: none;
  }
}

/* Training catalog: compact management surface with actions moved to dialogs. */
.course-catalog {
  margin: 0 auto;
  max-width: 96rem;
  min-height: calc(100vh - 3.5rem);
  padding: 1.25rem clamp(1rem, 2.5vw, 2rem) 3rem;
}

.catalog-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--color-border-subtle);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  padding-bottom: 1rem;
}

.catalog-toolbar h1 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: -0.045em;
  margin: 0.2rem 0 0;
}

.catalog-summary {
  align-items: baseline;
  color: var(--color-text-muted);
  display: flex;
  font-size: 0.78rem;
  gap: 0.4rem;
  padding-block: 1rem 0.75rem;
}

.catalog-summary strong {
  color: var(--color-text-primary);
  font-size: 1rem;
}

.course-card-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.course-card {
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-card);
  box-shadow: 0 0.35rem 1.2rem color-mix(in srgb, var(--color-text-primary) 5%, transparent);
  display: grid;
  gap: 1rem;
  min-height: 14rem;
  padding: 1rem;
}

.course-card__topline,
.course-card__body,
.course-card__actions,
.unit-actions {
  align-items: center;
  display: flex;
}

.course-card__topline,
.course-card__actions {
  justify-content: space-between;
}

.course-card__topline time {
  color: var(--color-text-muted);
  font-size: 0.66rem;
}

.course-card__body {
  align-items: flex-start;
  gap: 0.8rem;
}

.course-card__mark {
  align-items: center;
  background: var(--color-surface-soft);
  border-radius: 0.7rem;
  color: var(--color-action-primary);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 850;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.course-card__cover {
  border-radius: 0.85rem;
  height: 4.5rem;
  object-fit: cover;
  width: 6.75rem;
}

.course-profile {
  margin: 0 auto;
  max-width: 92rem;
  padding: 1.5rem clamp(1rem, 2.5vw, 2.5rem) 3rem;
}

.course-profile__toolbar,
.course-profile__heading,
.course-profile__actions {
  align-items: center;
  display: flex;
}

.course-profile__toolbar {
  border-bottom: 1px solid var(--color-border-subtle);
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
}

.course-profile__heading { gap: 1rem; }
.course-profile__heading h1 { font-size: clamp(1.55rem, 2.6vw, 2.35rem); margin: 0.2rem 0; }
.course-profile__heading p { color: var(--color-text-muted); margin: 0; }

.course-profile__form {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

.course-profile__form > .validation-summary { grid-column: 1 / -1; }
.course-profile__tabbed-form { width: 100%; }
.course-profile__tabs { margin-bottom: 0.25rem; }

.course-profile__cover-panel,
.profile-section {
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-card);
}

.course-profile__cover-panel {
  display: grid;
  gap: 1rem;
  max-width: 42rem;
  padding: 1rem;
  position: static;
}

.course-profile__cover {
  --course-cover-focal-x: 50%;
  --course-cover-focal-y: 50%;
  aspect-ratio: 16 / 9;
  background: var(--color-canvas);
  border-radius: calc(var(--radius-card) - 0.25rem);
  cursor: crosshair;
  overflow: hidden;
  position: relative;
}

.course-profile__cover img { height: 100%; object-fit: cover; object-position: var(--course-cover-focal-x) var(--course-cover-focal-y); width: 100%; }
.course-cover-focal { object-position: var(--course-cover-focal-x, 50%) var(--course-cover-focal-y, 50%); }
.course-profile__cover:focus-visible { outline: 3px solid color-mix(in srgb,var(--color-action-primary) 35%,transparent); outline-offset: 3px; }
.course-profile__focal-marker { background: var(--color-action-primary); border: 3px solid white; border-radius: 999px; box-shadow: 0 1px 5px rgb(0 0 0 / 35%); height: 1rem; left: var(--course-cover-focal-x); pointer-events: none; position: absolute; top: var(--course-cover-focal-y); transform: translate(-50%,-50%); width: 1rem; }
/* The range controls expose integer positions. External classes keep those
   dynamic values compatible with style-src 'self' without inline styles. */
.course-profile__focal-x-0 { --course-cover-focal-x: 0%; }
.course-profile__focal-x-1 { --course-cover-focal-x: 1%; }
.course-profile__focal-x-2 { --course-cover-focal-x: 2%; }
.course-profile__focal-x-3 { --course-cover-focal-x: 3%; }
.course-profile__focal-x-4 { --course-cover-focal-x: 4%; }
.course-profile__focal-x-5 { --course-cover-focal-x: 5%; }
.course-profile__focal-x-6 { --course-cover-focal-x: 6%; }
.course-profile__focal-x-7 { --course-cover-focal-x: 7%; }
.course-profile__focal-x-8 { --course-cover-focal-x: 8%; }
.course-profile__focal-x-9 { --course-cover-focal-x: 9%; }
.course-profile__focal-x-10 { --course-cover-focal-x: 10%; }
.course-profile__focal-x-11 { --course-cover-focal-x: 11%; }
.course-profile__focal-x-12 { --course-cover-focal-x: 12%; }
.course-profile__focal-x-13 { --course-cover-focal-x: 13%; }
.course-profile__focal-x-14 { --course-cover-focal-x: 14%; }
.course-profile__focal-x-15 { --course-cover-focal-x: 15%; }
.course-profile__focal-x-16 { --course-cover-focal-x: 16%; }
.course-profile__focal-x-17 { --course-cover-focal-x: 17%; }
.course-profile__focal-x-18 { --course-cover-focal-x: 18%; }
.course-profile__focal-x-19 { --course-cover-focal-x: 19%; }
.course-profile__focal-x-20 { --course-cover-focal-x: 20%; }
.course-profile__focal-x-21 { --course-cover-focal-x: 21%; }
.course-profile__focal-x-22 { --course-cover-focal-x: 22%; }
.course-profile__focal-x-23 { --course-cover-focal-x: 23%; }
.course-profile__focal-x-24 { --course-cover-focal-x: 24%; }
.course-profile__focal-x-25 { --course-cover-focal-x: 25%; }
.course-profile__focal-x-26 { --course-cover-focal-x: 26%; }
.course-profile__focal-x-27 { --course-cover-focal-x: 27%; }
.course-profile__focal-x-28 { --course-cover-focal-x: 28%; }
.course-profile__focal-x-29 { --course-cover-focal-x: 29%; }
.course-profile__focal-x-30 { --course-cover-focal-x: 30%; }
.course-profile__focal-x-31 { --course-cover-focal-x: 31%; }
.course-profile__focal-x-32 { --course-cover-focal-x: 32%; }
.course-profile__focal-x-33 { --course-cover-focal-x: 33%; }
.course-profile__focal-x-34 { --course-cover-focal-x: 34%; }
.course-profile__focal-x-35 { --course-cover-focal-x: 35%; }
.course-profile__focal-x-36 { --course-cover-focal-x: 36%; }
.course-profile__focal-x-37 { --course-cover-focal-x: 37%; }
.course-profile__focal-x-38 { --course-cover-focal-x: 38%; }
.course-profile__focal-x-39 { --course-cover-focal-x: 39%; }
.course-profile__focal-x-40 { --course-cover-focal-x: 40%; }
.course-profile__focal-x-41 { --course-cover-focal-x: 41%; }
.course-profile__focal-x-42 { --course-cover-focal-x: 42%; }
.course-profile__focal-x-43 { --course-cover-focal-x: 43%; }
.course-profile__focal-x-44 { --course-cover-focal-x: 44%; }
.course-profile__focal-x-45 { --course-cover-focal-x: 45%; }
.course-profile__focal-x-46 { --course-cover-focal-x: 46%; }
.course-profile__focal-x-47 { --course-cover-focal-x: 47%; }
.course-profile__focal-x-48 { --course-cover-focal-x: 48%; }
.course-profile__focal-x-49 { --course-cover-focal-x: 49%; }
.course-profile__focal-x-50 { --course-cover-focal-x: 50%; }
.course-profile__focal-x-51 { --course-cover-focal-x: 51%; }
.course-profile__focal-x-52 { --course-cover-focal-x: 52%; }
.course-profile__focal-x-53 { --course-cover-focal-x: 53%; }
.course-profile__focal-x-54 { --course-cover-focal-x: 54%; }
.course-profile__focal-x-55 { --course-cover-focal-x: 55%; }
.course-profile__focal-x-56 { --course-cover-focal-x: 56%; }
.course-profile__focal-x-57 { --course-cover-focal-x: 57%; }
.course-profile__focal-x-58 { --course-cover-focal-x: 58%; }
.course-profile__focal-x-59 { --course-cover-focal-x: 59%; }
.course-profile__focal-x-60 { --course-cover-focal-x: 60%; }
.course-profile__focal-x-61 { --course-cover-focal-x: 61%; }
.course-profile__focal-x-62 { --course-cover-focal-x: 62%; }
.course-profile__focal-x-63 { --course-cover-focal-x: 63%; }
.course-profile__focal-x-64 { --course-cover-focal-x: 64%; }
.course-profile__focal-x-65 { --course-cover-focal-x: 65%; }
.course-profile__focal-x-66 { --course-cover-focal-x: 66%; }
.course-profile__focal-x-67 { --course-cover-focal-x: 67%; }
.course-profile__focal-x-68 { --course-cover-focal-x: 68%; }
.course-profile__focal-x-69 { --course-cover-focal-x: 69%; }
.course-profile__focal-x-70 { --course-cover-focal-x: 70%; }
.course-profile__focal-x-71 { --course-cover-focal-x: 71%; }
.course-profile__focal-x-72 { --course-cover-focal-x: 72%; }
.course-profile__focal-x-73 { --course-cover-focal-x: 73%; }
.course-profile__focal-x-74 { --course-cover-focal-x: 74%; }
.course-profile__focal-x-75 { --course-cover-focal-x: 75%; }
.course-profile__focal-x-76 { --course-cover-focal-x: 76%; }
.course-profile__focal-x-77 { --course-cover-focal-x: 77%; }
.course-profile__focal-x-78 { --course-cover-focal-x: 78%; }
.course-profile__focal-x-79 { --course-cover-focal-x: 79%; }
.course-profile__focal-x-80 { --course-cover-focal-x: 80%; }
.course-profile__focal-x-81 { --course-cover-focal-x: 81%; }
.course-profile__focal-x-82 { --course-cover-focal-x: 82%; }
.course-profile__focal-x-83 { --course-cover-focal-x: 83%; }
.course-profile__focal-x-84 { --course-cover-focal-x: 84%; }
.course-profile__focal-x-85 { --course-cover-focal-x: 85%; }
.course-profile__focal-x-86 { --course-cover-focal-x: 86%; }
.course-profile__focal-x-87 { --course-cover-focal-x: 87%; }
.course-profile__focal-x-88 { --course-cover-focal-x: 88%; }
.course-profile__focal-x-89 { --course-cover-focal-x: 89%; }
.course-profile__focal-x-90 { --course-cover-focal-x: 90%; }
.course-profile__focal-x-91 { --course-cover-focal-x: 91%; }
.course-profile__focal-x-92 { --course-cover-focal-x: 92%; }
.course-profile__focal-x-93 { --course-cover-focal-x: 93%; }
.course-profile__focal-x-94 { --course-cover-focal-x: 94%; }
.course-profile__focal-x-95 { --course-cover-focal-x: 95%; }
.course-profile__focal-x-96 { --course-cover-focal-x: 96%; }
.course-profile__focal-x-97 { --course-cover-focal-x: 97%; }
.course-profile__focal-x-98 { --course-cover-focal-x: 98%; }
.course-profile__focal-x-99 { --course-cover-focal-x: 99%; }
.course-profile__focal-x-100 { --course-cover-focal-x: 100%; }
.course-profile__focal-y-0 { --course-cover-focal-y: 0%; }
.course-profile__focal-y-1 { --course-cover-focal-y: 1%; }
.course-profile__focal-y-2 { --course-cover-focal-y: 2%; }
.course-profile__focal-y-3 { --course-cover-focal-y: 3%; }
.course-profile__focal-y-4 { --course-cover-focal-y: 4%; }
.course-profile__focal-y-5 { --course-cover-focal-y: 5%; }
.course-profile__focal-y-6 { --course-cover-focal-y: 6%; }
.course-profile__focal-y-7 { --course-cover-focal-y: 7%; }
.course-profile__focal-y-8 { --course-cover-focal-y: 8%; }
.course-profile__focal-y-9 { --course-cover-focal-y: 9%; }
.course-profile__focal-y-10 { --course-cover-focal-y: 10%; }
.course-profile__focal-y-11 { --course-cover-focal-y: 11%; }
.course-profile__focal-y-12 { --course-cover-focal-y: 12%; }
.course-profile__focal-y-13 { --course-cover-focal-y: 13%; }
.course-profile__focal-y-14 { --course-cover-focal-y: 14%; }
.course-profile__focal-y-15 { --course-cover-focal-y: 15%; }
.course-profile__focal-y-16 { --course-cover-focal-y: 16%; }
.course-profile__focal-y-17 { --course-cover-focal-y: 17%; }
.course-profile__focal-y-18 { --course-cover-focal-y: 18%; }
.course-profile__focal-y-19 { --course-cover-focal-y: 19%; }
.course-profile__focal-y-20 { --course-cover-focal-y: 20%; }
.course-profile__focal-y-21 { --course-cover-focal-y: 21%; }
.course-profile__focal-y-22 { --course-cover-focal-y: 22%; }
.course-profile__focal-y-23 { --course-cover-focal-y: 23%; }
.course-profile__focal-y-24 { --course-cover-focal-y: 24%; }
.course-profile__focal-y-25 { --course-cover-focal-y: 25%; }
.course-profile__focal-y-26 { --course-cover-focal-y: 26%; }
.course-profile__focal-y-27 { --course-cover-focal-y: 27%; }
.course-profile__focal-y-28 { --course-cover-focal-y: 28%; }
.course-profile__focal-y-29 { --course-cover-focal-y: 29%; }
.course-profile__focal-y-30 { --course-cover-focal-y: 30%; }
.course-profile__focal-y-31 { --course-cover-focal-y: 31%; }
.course-profile__focal-y-32 { --course-cover-focal-y: 32%; }
.course-profile__focal-y-33 { --course-cover-focal-y: 33%; }
.course-profile__focal-y-34 { --course-cover-focal-y: 34%; }
.course-profile__focal-y-35 { --course-cover-focal-y: 35%; }
.course-profile__focal-y-36 { --course-cover-focal-y: 36%; }
.course-profile__focal-y-37 { --course-cover-focal-y: 37%; }
.course-profile__focal-y-38 { --course-cover-focal-y: 38%; }
.course-profile__focal-y-39 { --course-cover-focal-y: 39%; }
.course-profile__focal-y-40 { --course-cover-focal-y: 40%; }
.course-profile__focal-y-41 { --course-cover-focal-y: 41%; }
.course-profile__focal-y-42 { --course-cover-focal-y: 42%; }
.course-profile__focal-y-43 { --course-cover-focal-y: 43%; }
.course-profile__focal-y-44 { --course-cover-focal-y: 44%; }
.course-profile__focal-y-45 { --course-cover-focal-y: 45%; }
.course-profile__focal-y-46 { --course-cover-focal-y: 46%; }
.course-profile__focal-y-47 { --course-cover-focal-y: 47%; }
.course-profile__focal-y-48 { --course-cover-focal-y: 48%; }
.course-profile__focal-y-49 { --course-cover-focal-y: 49%; }
.course-profile__focal-y-50 { --course-cover-focal-y: 50%; }
.course-profile__focal-y-51 { --course-cover-focal-y: 51%; }
.course-profile__focal-y-52 { --course-cover-focal-y: 52%; }
.course-profile__focal-y-53 { --course-cover-focal-y: 53%; }
.course-profile__focal-y-54 { --course-cover-focal-y: 54%; }
.course-profile__focal-y-55 { --course-cover-focal-y: 55%; }
.course-profile__focal-y-56 { --course-cover-focal-y: 56%; }
.course-profile__focal-y-57 { --course-cover-focal-y: 57%; }
.course-profile__focal-y-58 { --course-cover-focal-y: 58%; }
.course-profile__focal-y-59 { --course-cover-focal-y: 59%; }
.course-profile__focal-y-60 { --course-cover-focal-y: 60%; }
.course-profile__focal-y-61 { --course-cover-focal-y: 61%; }
.course-profile__focal-y-62 { --course-cover-focal-y: 62%; }
.course-profile__focal-y-63 { --course-cover-focal-y: 63%; }
.course-profile__focal-y-64 { --course-cover-focal-y: 64%; }
.course-profile__focal-y-65 { --course-cover-focal-y: 65%; }
.course-profile__focal-y-66 { --course-cover-focal-y: 66%; }
.course-profile__focal-y-67 { --course-cover-focal-y: 67%; }
.course-profile__focal-y-68 { --course-cover-focal-y: 68%; }
.course-profile__focal-y-69 { --course-cover-focal-y: 69%; }
.course-profile__focal-y-70 { --course-cover-focal-y: 70%; }
.course-profile__focal-y-71 { --course-cover-focal-y: 71%; }
.course-profile__focal-y-72 { --course-cover-focal-y: 72%; }
.course-profile__focal-y-73 { --course-cover-focal-y: 73%; }
.course-profile__focal-y-74 { --course-cover-focal-y: 74%; }
.course-profile__focal-y-75 { --course-cover-focal-y: 75%; }
.course-profile__focal-y-76 { --course-cover-focal-y: 76%; }
.course-profile__focal-y-77 { --course-cover-focal-y: 77%; }
.course-profile__focal-y-78 { --course-cover-focal-y: 78%; }
.course-profile__focal-y-79 { --course-cover-focal-y: 79%; }
.course-profile__focal-y-80 { --course-cover-focal-y: 80%; }
.course-profile__focal-y-81 { --course-cover-focal-y: 81%; }
.course-profile__focal-y-82 { --course-cover-focal-y: 82%; }
.course-profile__focal-y-83 { --course-cover-focal-y: 83%; }
.course-profile__focal-y-84 { --course-cover-focal-y: 84%; }
.course-profile__focal-y-85 { --course-cover-focal-y: 85%; }
.course-profile__focal-y-86 { --course-cover-focal-y: 86%; }
.course-profile__focal-y-87 { --course-cover-focal-y: 87%; }
.course-profile__focal-y-88 { --course-cover-focal-y: 88%; }
.course-profile__focal-y-89 { --course-cover-focal-y: 89%; }
.course-profile__focal-y-90 { --course-cover-focal-y: 90%; }
.course-profile__focal-y-91 { --course-cover-focal-y: 91%; }
.course-profile__focal-y-92 { --course-cover-focal-y: 92%; }
.course-profile__focal-y-93 { --course-cover-focal-y: 93%; }
.course-profile__focal-y-94 { --course-cover-focal-y: 94%; }
.course-profile__focal-y-95 { --course-cover-focal-y: 95%; }
.course-profile__focal-y-96 { --course-cover-focal-y: 96%; }
.course-profile__focal-y-97 { --course-cover-focal-y: 97%; }
.course-profile__focal-y-98 { --course-cover-focal-y: 98%; }
.course-profile__focal-y-99 { --course-cover-focal-y: 99%; }
.course-profile__focal-y-100 { --course-cover-focal-y: 100%; }
.course-profile__focal-controls { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); display: grid; gap: .45rem; margin: 0; padding: .85rem; }
.course-profile__focal-controls legend { font-size: .78rem; font-weight: 800; padding: 0 .25rem; }
.course-profile__focal-controls label { display: flex; font-size: .72rem; font-weight: 700; justify-content: space-between; }
.course-profile__focal-controls output { color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.course-profile__focal-controls input { accent-color: var(--color-action-primary); width: 100%; }
.course-profile__cover-empty { align-content: center; color: var(--color-text-muted); display: grid; height: 100%; justify-items: center; }
.course-profile__cover-empty span { font-size: 0.75rem; text-transform: uppercase; }
.course-profile__cover-panel h2 { margin: 0.2rem 0; }
.course-profile__cover-panel p, .field-hint { color: var(--color-text-muted); font-size: 0.82rem; line-height: 1.55; margin: 0; }

.course-profile__fields { display: grid; gap: 1rem; }
.profile-section { display: grid; gap: 1rem; padding: clamp(1rem, 2vw, 1.5rem); }
.profile-section header { border-bottom: 1px solid var(--color-border-subtle); padding-bottom: 0.8rem; }
.profile-section h2 { margin: 0.2rem 0 0; }
.profile-section .form-field small { color: var(--color-text-muted); font-size: 0.78rem; }
.rich-editor--profile .rich-editor__surface { min-height: 10rem; }
.course-profile__grid, .profile-choice-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-card--danger { border-color: color-mix(in srgb, var(--color-feedback-danger) 30%, var(--color-border)); }
.course-profile__actions { gap: 0.75rem; justify-content: flex-end; padding: 0.5rem 0; }
.course-profile__actions .ajax-status { margin-right: auto; }

@media (max-width: 860px) {
  .profile-choice-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .course-profile__toolbar { align-items: flex-start; gap: 1rem; }
  .course-profile__toolbar > .button { display: none; }
  .course-profile__grid { grid-template-columns: 1fr; }
}

.course-card h2 {
  font-size: 1.05rem;
  letter-spacing: -0.025em;
  margin: 0;
}

.course-card p,
.catalog-empty p {
  color: var(--color-text-muted);
  font-size: 0.76rem;
  margin: 0.3rem 0 0;
}

.course-card__actions {
  align-self: end;
  border-top: 1px solid var(--color-border-subtle);
  gap: 0.5rem;
  padding-top: 0.85rem;
}

.catalog-empty {
  align-items: center;
  background: var(--color-surface-raised);
  border: 1px dashed var(--color-border-subtle);
  border-radius: var(--radius-card);
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1.25rem;
}

.catalog-empty > span {
  align-items: center;
  background: var(--color-surface-soft);
  border-radius: 0.7rem;
  color: var(--color-action-primary);
  display: inline-flex;
  height: 2.5rem;
  justify-content: center;
  width: 2.5rem;
}

.authoring-toolbar {
  grid-template-columns: minmax(15rem, 1fr) auto;
}

.authoring-canvas {
  background: var(--color-canvas);
  display: block;
  margin: 0 auto;
  min-height: calc(100vh - 8rem);
  padding: clamp(1rem, 2.3vw, 2rem);
  width: min(100%, 96rem);
}

.studio-unit-list li {
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 4.2rem;
  padding: 0.65rem 0.8rem;
}

.unit-summary {
  display: grid;
  gap: 0.1rem;
  min-width: 0;
}

.unit-summary strong {
  font-size: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unit-summary small {
  color: var(--color-text-muted);
  font-size: 0.875rem;
}

.studio-unit-group { background: color-mix(in srgb, var(--color-surface-soft) 55%, var(--color-surface)); border: 1px solid var(--color-border-subtle) !important; border-radius: 0.75rem; display: block !important; padding: 0.55rem !important; }
.studio-unit-group__heading { align-items: center; display: flex; font-size: 1rem; gap: 0.75rem; justify-content: space-between; padding: 0.25rem 0.4rem 0.5rem; }
.studio-unit-group__heading > span { display: inline-flex; font-size: 0.875rem; gap: 0.65rem; }
.studio-unit-group__units { display: grid; gap: 0.3rem; list-style: none; margin: 0; padding: 0; }

.unit-actions {
  gap: 0.45rem;
}

.unit-actions [aria-disabled="true"] {
  opacity: 0.5;
}

.studio-empty .button {
  margin-left: auto;
}

@media (max-width: 960px) {
  .course-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .course-card-grid { grid-template-columns: 1fr; }
  .catalog-empty { grid-template-columns: auto minmax(0, 1fr); }
  .catalog-empty .button { grid-column: 1 / -1; }
  .authoring-toolbar { grid-template-columns: 1fr; }
  .authoring-toolbar__actions { justify-content: flex-start; }
  .studio-unit-list li { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
  .unit-actions { grid-column: 2; }
  .studio-empty { align-items: flex-start; flex-wrap: wrap; }
}

/* Authenticated application: compact work surfaces distinct from the public site. */
.authenticated-app .course-catalog,
.authenticated-app .authoring-studio,
.authenticated-app .operations-shell,
.authenticated-app .secure-shell,
.authenticated-app .invite-shell,
.authenticated-app .notification-shell {
  background: var(--color-canvas);
  min-height: calc(100vh - 4.25rem);
}

.authenticated-app .course-catalog { padding-top: 1.4rem; }
.authenticated-app .catalog-toolbar h1,
.authenticated-app .authoring-toolbar h1,
.authenticated-app .operations-heading h1,
.authenticated-app .workspace-home__heading h1 {
  font-family: var(--workspace-font);
}

.authoring-studio { min-height: calc(100vh - 4.25rem); }
.authoring-toolbar { border-top: 0; min-height: 4.6rem; position: relative; top: auto; }
.authoring-canvas {
  align-items: stretch;
  background: var(--color-canvas);
  display: grid;
  grid-template-columns: var(--outline-width, 17rem) minmax(24rem, 1fr) minmax(15rem, 18rem);
  min-height: calc(100vh - 8.85rem);
  padding: 0;
  width: 100%;
}
.course-outline,
.unit-inspector { background: var(--color-surface); padding: 1.2rem; }
.course-outline { border-right: 1px solid var(--color-border-subtle); min-width: 0; position: relative; }
.unit-inspector { border-left: 1px solid var(--color-border-subtle); min-width: 0; position: relative; }
.course-outline__heading { align-items: center; display: flex; gap: 0.8rem; justify-content: space-between; margin-bottom: 1rem; }
.course-outline__title { display: grid; gap: 0.12rem; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; }
.course-outline__title .overline { grid-column: 1 / -1; }
.course-outline__title h2 { font-size: 1rem; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.course-outline__title > span:not(.overline) { background: var(--color-surface-soft); border-radius: 999px; color: var(--color-text-muted); font-size: 0.68rem; padding: 0.15rem 0.45rem; }
.course-outline__tools { align-items: center; display: flex; flex: 0 0 auto; gap: 0.35rem; }
.outline-organize { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 0.5rem; color: var(--color-text-primary); display: inline-flex; font-size: 0.68rem; font-weight: 750; gap: 0.35rem; min-height: 2rem; padding: 0.3rem 0.55rem; text-decoration: none; }
.outline-organize:hover, .outline-organize:focus-visible { border-color: var(--color-action-primary); color: var(--color-action-primary); }
.outline-organize svg { height: 0.9rem; width: 0.9rem; }
.outline-collapse, .unit-inspector__toggle { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.5rem; color: var(--color-text-muted); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; width: 2rem; }
.outline-collapse svg, .unit-inspector__toggle svg { fill: none; height: 1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform var(--transition-fast); width: 1rem; }
.course-outline__resizer { background: transparent; cursor: col-resize; height: 100%; outline: 0; position: absolute; right: -0.28rem; top: 0; touch-action: none; width: 0.55rem; z-index: 12; }
.course-outline__resizer::after { background: transparent; content: ""; height: 100%; left: calc(50% - 1px); position: absolute; top: 0; transition: background var(--transition-fast), width var(--transition-fast); width: 2px; }
.course-outline__resizer:hover::after, .course-outline__resizer:focus-visible::after, .course-outline__resizer.is-resizing::after { background: var(--color-action-primary); width: 3px; }
.authoring-canvas.is-outline-collapsed { grid-template-columns: 3.5rem minmax(24rem, 1fr) minmax(15rem, 18rem); }
.authoring-canvas--preview.is-outline-collapsed { grid-template-columns: 3.5rem minmax(0, 1fr); }
.course-outline.is-collapsed { padding-inline: 0.7rem; }
.course-outline.is-collapsed .course-outline__heading { display: flex; justify-content: center; }
.course-outline.is-collapsed .course-outline__heading > :not(.course-outline__tools),
.course-outline.is-collapsed .outline-organize,
.course-outline.is-collapsed .course-outline__resizer,
.course-outline.is-collapsed [data-ui-panel-content] { display: none; }
.course-outline.is-collapsed .outline-collapse svg, .learner-outline.is-collapsed .outline-collapse svg { transform: rotate(180deg); }
.course-outline .studio-unit-list { gap: 0.4rem; }
.course-section-list { display: grid; gap: 1rem; }
.course-section { border-top: 1px solid var(--color-border-subtle); padding-top: 0.8rem; }
.course-section:first-child { border-top: 0; padding-top: 0; }
.course-section__heading { align-items: center; display: grid; gap: 0.45rem; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 0.45rem; }
.course-section.is-selected { border-color: color-mix(in srgb, var(--color-action-primary) 32%, var(--color-border-subtle)); }
.course-section__heading > div { display: grid; gap: 0.12rem; min-width: 0; }
.course-section__heading small { color: var(--color-text-muted); font-size: 0.58rem; font-weight: 750; letter-spacing: 0.05em; text-transform: uppercase; }
.course-section__heading strong { font-size: 0.78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.course-section__toggle { align-items: center; background: transparent; border: 0; color: inherit; display: flex; gap: 0.45rem; justify-content: space-between; min-width: 0; padding: 0; text-align: left; width: 100%; }
.course-section__toggle > span:first-child { display: grid; gap: 0.12rem; min-width: 0; }
.course-section__chevron { color: var(--color-text-muted); fill: none; flex: 0 0 auto; height: 0.9rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transition: transform var(--transition-fast); width: 0.9rem; }
.course-section.is-collapsed .course-section__chevron { transform: rotate(-90deg); }
.course-section.is-hidden,
.studio-unit-list li.is-hidden { opacity: 0.62; }
.course-section__actions { align-items: center; display: inline-flex; flex: 0 0 auto; gap: 0.35rem; }
.course-section__actions form, .unit-order-actions form { display: inline-flex; margin: 0; }
.course-section-menu { position: relative; }
.course-section-menu > summary { list-style: none; }
.course-section-menu > summary::-webkit-details-marker { display: none; }
.course-section-menu__popover { background: var(--color-surface-raised); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); box-shadow: var(--shadow-dialog); display: grid; min-width: 12rem; padding: 0.35rem; position: absolute; right: 0; top: calc(100% + 0.3rem); z-index: 35; }
.course-section-menu__popover a { border-radius: calc(var(--radius-control) - 0.15rem); font-size: 0.7rem; font-weight: 700; padding: 0.55rem 0.65rem; white-space: nowrap; }
.course-section-menu__popover a:hover { background: var(--color-surface-soft); }
.section-access { color: var(--color-text-muted); font-size: 0.64rem; font-weight: 800; text-decoration: none; }
.section-access:hover, .section-access:focus-visible { color: var(--color-action-primary); text-decoration: underline; }
.section-add { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 0.5rem; color: var(--color-action-primary); display: inline-flex; flex: 0 0 auto; font-size: 1rem; height: 1.9rem; justify-content: center; text-decoration: none; width: 1.9rem; }
.section-add:hover, .section-add:focus-visible { background: color-mix(in srgb, var(--color-action-primary) 9%, var(--color-surface)); border-color: var(--color-action-primary); }
.course-section__empty { color: var(--color-text-muted); font-size: 0.7rem; margin: 0.45rem 0 0; padding: 0.55rem 0.65rem; }
.course-outline .studio-unit-list li { align-items: center; border: 0; display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 0; }
.course-outline .unit-select { align-items: center; border: 1px solid transparent; border-radius: var(--radius-control); display: grid; gap: 0.6rem; grid-template-columns: auto minmax(0, 1fr); padding: 0.65rem; }
.course-outline .studio-unit-list li.is-selected .unit-select { background: color-mix(in srgb, var(--color-action-primary) 9%, var(--color-surface)); border-color: color-mix(in srgb, var(--color-action-primary) 30%, var(--color-border)); }
.unit-order-actions { align-items: center; display: inline-flex; gap: 0.2rem; padding-left: 0.2rem; }
.unit-order-actions .icon-button { height: 1.75rem; width: 1.75rem; }
.material-workspace { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2.25rem); }
.material-workspace__heading { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }
.material-workspace__heading h2 { font-size: clamp(1.35rem, 2.5vw, 1.9rem); letter-spacing: -0.035em; margin: 0.2rem 0 0; }
.content-palette { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0.75rem 0; }
.content-palette__label { color: var(--color-text-muted); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.06em; margin-right: 0.2rem; text-transform: uppercase; }
.content-palette a, .content-palette button { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.55rem; color: var(--color-text-primary); cursor: pointer; display: inline-flex; font: inherit; font-size: 0.72rem; font-weight: 700; gap: 0.4rem; min-height: 2.15rem; padding: 0.35rem 0.65rem; text-decoration: none; }
.content-palette a > span, .content-palette button > span { align-items: center; background: var(--color-surface-soft); border-radius: 0.35rem; color: var(--color-action-primary); display: inline-flex; font-size: 0.68rem; height: 1.35rem; justify-content: center; min-width: 1.35rem; padding-inline: 0.2rem; }
.content-palette a:hover, .content-palette a:focus-visible { border-color: var(--color-action-primary); color: var(--color-action-primary); }
.content-palette button:disabled { cursor: not-allowed; opacity: 0.45; }
.material-workspace.is-authoring-element .content-palette { display: none; }
.material-empty { align-items: center; border: 1px dashed var(--color-border); border-radius: var(--radius-card); display: flex; flex-direction: column; margin: clamp(2rem, 7vh, 5rem) auto 0; max-width: 36rem; padding: 2.5rem; text-align: center; }
.material-empty__icon { align-items: center; background: color-mix(in srgb, var(--color-action-primary) 12%, var(--color-surface)); border-radius: 0.8rem; color: var(--color-action-primary); display: inline-flex; font-size: 1.5rem; height: 3rem; justify-content: center; width: 3rem; }
.material-empty strong { margin-top: 1rem; }
.material-empty p { color: var(--color-text-muted); font-size: 0.8rem; margin: 0.45rem 0 1.1rem; max-width: 28rem; }
.material-empty button:disabled { cursor: not-allowed; opacity: 0.55; }
.material-list { display: grid; gap: 0.65rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.material-list > li { align-items: center; background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: 0.8rem; display: grid; gap: 0.8rem; grid-template-columns: minmax(0, 1fr) auto; padding: 0.8rem; }
.material-list > li[data-ui-inline-draft-host]:empty { display: none; }
.material-list > li.content-element--draft,
.material-list > li.is-editing,
.material-list > li.is-hidden { border-style: dashed; opacity: 0.68; }
.material-list > li.is-hidden:hover,
.material-list > li.is-hidden:focus-within { opacity: 1; }
.content-element__visibility { align-items: center; background: var(--color-surface-soft); border-radius: 999px; color: var(--color-text-muted); display: inline-flex; font-size: 0.66rem; font-weight: 700; margin-top: 0.65rem; padding: 0.28rem 0.55rem; }
.material-list small { color: var(--color-text-muted); }
.material-file-icon { align-items: center; background: color-mix(in srgb, var(--color-action-primary) 10%, var(--color-surface)); border-radius: 0.65rem; color: var(--color-action-primary); display: inline-flex; height: 2.35rem; justify-content: center; width: 2.35rem; }
.material-list-actions { display: flex; justify-content: flex-end; margin-top: 1rem; }
.content-element__preview { display: grid; gap: 0.45rem; min-width: 0; }
.content-element__meta { font-size: 0.62rem; padding-left: 0.15rem; }
.access-visibility { align-items: start; background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: 0.65rem; cursor: pointer; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(0, 1fr); padding: 0.75rem; }
.access-visibility > span,
.access-option > span { display: grid; gap: 0.12rem; }
.access-visibility strong,
.access-option strong { font-size: 0.78rem; }
.access-visibility small,
.access-option small { color: var(--color-text-muted); font-size: 0.68rem; line-height: 1.45; }
.access-schedule { border: 0; display: grid; gap: 0.55rem; margin: 0; padding: 0; }
.access-schedule legend { font-size: 0.72rem; font-weight: 800; margin-bottom: 0.4rem; }
.access-option { align-items: start; border: 1px solid var(--color-border-subtle); border-radius: 0.65rem; cursor: pointer; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(0, 1fr); padding: 0.65rem 0.75rem; }
.access-option:has(input:checked) { background: color-mix(in srgb, var(--color-action-primary) 8%, var(--color-surface)); border-color: color-mix(in srgb, var(--color-action-primary) 38%, var(--color-border)); }
.access-schedule__date { margin-left: 1.75rem; max-width: 21rem; }
.access-tabs { border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; }
.access-tabs button { background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--color-text-muted); cursor: pointer; font: inherit; font-size: 0.76rem; font-weight: 750; padding: 0.65rem 0.15rem; }
.access-tabs button[aria-selected="true"] { border-bottom-color: var(--color-action-primary); color: var(--color-action-primary); }
.access-tab-panel { display: grid; gap: 0.55rem; min-height: 12rem; padding-top: 0.25rem; }
.access-tab-panel[hidden], .access-mode-fields[hidden] { display: none; }
.access-mode-fields { margin: 0 0 0.25rem 1.75rem; max-width: 25rem; }
.access-dependency-fields { gap: 0.65rem; }
.course-access-dialog .ui-dialog__form { gap: 0; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; padding: 0; }
.course-access-dialog__body { display: grid; gap: 1rem; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem 1.35rem; scrollbar-gutter: stable; }
.course-access-dialog .ui-dialog__actions { background: var(--color-surface-raised); padding: 0.9rem 1.35rem 1.15rem; }
.unit-inspector__actions { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.content-availability-lock { align-items: start; background: color-mix(in srgb, var(--color-feedback-warning) 9%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-feedback-warning) 32%, var(--color-border)); border-radius: 0.7rem; display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
.content-availability-lock > span { align-items: center; background: var(--color-feedback-warning); border-radius: 0.55rem; color: white; display: inline-flex; height: 2rem; justify-content: center; width: 2rem; }
.content-availability-lock strong { font-size: 0.82rem; }
.content-availability-lock p { color: var(--color-text-muted); font-size: 0.72rem; margin: 0.2rem 0 0; }
.content-callout { --content-callout-accent: var(--color-action-primary); align-items: start; background: color-mix(in srgb, var(--content-callout-accent) 8%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--content-callout-accent) 24%, var(--color-border)); border-left: 4px solid var(--content-callout-accent); border-radius: 0.7rem; display: grid; gap: 0.75rem; grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
.content-callout > span { align-items: center; background: var(--content-callout-accent); border-radius: 999px; color: white; display: inline-flex; font-size: 0.72rem; font-weight: 850; height: 1.5rem; justify-content: center; width: 1.5rem; }
.content-callout strong { display: block; font-size: 0.84rem; margin-bottom: 0.25rem; }
.content-callout p, .content-link p { font-size: 0.78rem; line-height: 1.6; margin: 0; white-space: pre-wrap; }
.content-callout--warning, .content-callout--important { --content-callout-accent: var(--color-feedback-warning); }
.content-callout--tip, .content-callout--example { --content-callout-accent: var(--color-feedback-success); }
.content-separator { min-height: 1.5rem; padding: 0.2rem 0; }
.content-separator hr { border: 0; border-top: 1px solid var(--color-border); margin: 0.65rem 0; }
.content-separator h3 { font-size: 1.05rem; margin: 0; }
.content-separator--space { display: block; min-height: 3rem; }
.content-separator--space-compact { min-height: 1.5rem; }
.content-separator--space-medium { min-height: 3rem; }
.content-separator--space-large { min-height: 5rem; }
.content-code { background: #17211e; border-radius: 0.65rem; color: #e9f2ee; max-width: 100%; min-width: 0; overflow: hidden; }
.content-code > span { border-bottom: 1px solid rgb(255 255 255 / 12%); color: #a9bbb4; display: block; font-size: 0.62rem; font-weight: 750; padding: 0.45rem 0.7rem; text-transform: uppercase; }
.content-code pre { margin: 0; max-height: 24rem; max-width: 100%; overflow: auto; padding: 0.8rem; }
.content-code code, .code-input { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 0.74rem; }
.content-link { align-items: start; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(0, 1fr); padding: 0.35rem; }
.content-link > span { color: var(--color-action-primary); font-size: 1rem; }
.content-link a { font-size: 0.82rem; font-weight: 800; overflow-wrap: anywhere; }
.content-link p { color: var(--color-text-muted); margin-top: 0.25rem; }
.content-file { align-items: center; display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr); }
.content-file > span:last-child { display: grid; gap: 0.15rem; min-width: 0; overflow-wrap: anywhere; }
.content-video { display: grid; gap: 0.75rem; }
.content-video video { aspect-ratio: 16 / 9; background: #111; border-radius: 0.7rem; display: block; max-height: min(34rem, 70vh); object-fit: contain; width: 100%; }
.content-video > div { display: grid; gap: 0.2rem; padding-inline: 0.2rem; }
.content-video strong { font-size: 0.88rem; }
.content-video p { color: var(--color-text-muted); font-size: 0.76rem; line-height: 1.55; margin: 0; white-space: pre-wrap; }
.content-embed { display: grid; gap: 0.75rem; }
.content-embed__frame { aspect-ratio: 16 / 9; background: #111; border: 1px solid var(--color-border-subtle); border-radius: 0.7rem; overflow: hidden; }
.content-embed iframe { border: 0; display: block; height: 100%; width: 100%; }
.content-embed > div:last-child { display: grid; gap: 0.2rem; padding-inline: 0.2rem; }
.content-embed strong { font-size: 0.88rem; }
.content-embed p { color: var(--color-text-muted); font-size: 0.76rem; line-height: 1.55; margin: 0; white-space: pre-wrap; }
.content-embed small { color: var(--color-text-muted); font-size: 0.65rem; }
.content-audio { background: color-mix(in srgb, var(--color-action-secondary) 7%, var(--color-surface)); border: 1px solid var(--color-border-subtle); border-radius: 0.8rem; display: grid; gap: 0.75rem; padding: 0.9rem; }
.content-audio__heading { align-items: start; display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr); }
.content-audio__heading > span { align-items: center; background: var(--color-action-primary); border-radius: 0.65rem; color: white; display: inline-flex; font-size: 1rem; height: 2.35rem; justify-content: center; width: 2.35rem; }
.content-audio__heading > div { display: grid; gap: 0.15rem; }
.content-audio__heading strong { font-size: 0.88rem; }
.content-audio__heading p { color: var(--color-text-muted); font-size: 0.76rem; line-height: 1.55; margin: 0; white-space: pre-wrap; }
.content-audio audio { display: block; width: 100%; }
.content-audio__rate { align-items: center; color: var(--color-text-muted); display: flex; font-size: 0.7rem; gap: 0.5rem; justify-self: end; }
.content-audio__rate select { min-height: 2rem; padding: 0.2rem 1.8rem 0.2rem 0.55rem; width: auto; }
.content-audio__transcript { border-top: 1px solid var(--color-border-subtle); font-size: 0.76rem; padding-top: 0.65rem; }
.content-audio__transcript summary { color: var(--color-action-primary); cursor: pointer; font-weight: 750; }
.content-audio__transcript div { color: var(--color-text-muted); line-height: 1.65; padding-top: 0.65rem; white-space: pre-wrap; }
.content-image { display: grid; gap: 0.7rem; margin: 0; max-width: 100%; min-width: 0; width: 100%; }
.content-image__open { background: color-mix(in srgb, var(--color-surface-raised) 92%, black); border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; cursor: zoom-in; display: block; overflow: hidden; padding: 0; width: 100%; }
.content-image__open:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 3px; }
.content-image__open img { display: block; height: auto; margin-inline: auto; max-height: min(36rem, 68vh); max-width: 100%; object-fit: contain; width: auto; }
.content-image figcaption { display: grid; gap: 0.18rem; padding-inline: 0.2rem; }
.content-image figcaption strong { font-size: 0.88rem; }
.content-image figcaption p { color: var(--color-text-muted); font-size: 0.76rem; line-height: 1.55; margin: 0; white-space: pre-wrap; }
.content-image figcaption small { color: var(--color-text-muted); font-size: 0.65rem; }
.content-image-dialog__surface { align-items: center; display: grid; gap: 0.75rem; max-height: 92vh; max-width: min(92vw, 82rem); padding: 2.75rem 1rem 1rem; position: relative; width: max-content; }
.content-image-dialog__surface .ui-dialog__close { position: absolute; right: 0.75rem; top: 0.65rem; }
.content-image-dialog__surface img { display: block; max-height: 78vh; max-width: min(88vw, 78rem); object-fit: contain; }
.content-image-dialog__surface p { color: var(--color-text-muted); font-size: 0.78rem; margin: 0; max-width: 70ch; }
:is(.content-rich-text, .rich-editor .ql-editor) { color: var(--color-text-primary); font-size: 0.8rem; line-height: 1.65; max-width: 100%; min-width: 0; overflow-wrap: normal; word-break: normal; }
.content-rich-text { padding: 0.25rem; }
:is(.content-rich-text, .rich-editor .ql-editor) > :first-child { margin-top: 0; }
:is(.content-rich-text, .rich-editor .ql-editor) > :last-child { margin-bottom: 0; }
:is(.content-rich-text, .rich-editor .ql-editor) p { margin: 0.55rem 0; }
:is(.content-rich-text, .rich-editor .ql-editor) h2 { font-size: 1.35rem; line-height: 1.25; margin: 1rem 0 0.45rem; }
:is(.content-rich-text, .rich-editor .ql-editor) h3 { font-size: 1rem; line-height: 1.35; margin: 0.9rem 0 0.35rem; }
:is(.content-rich-text, .rich-editor .ql-editor) :is(ul, ol) { margin-block: 0.65rem; }
:is(.content-rich-text, .rich-editor .ql-editor) li + li { margin-top: 0.3rem; }
:is(.content-rich-text, .rich-editor .ql-editor) blockquote { border-left: 3px solid var(--color-action-secondary); color: var(--color-text-muted); margin: 0.8rem 0; padding: 0.2rem 0.8rem; }
:is(.content-rich-text, .rich-editor .ql-editor) pre { background: #17211e; border-radius: 0.55rem; color: #e9f2ee; max-width: 100%; overflow: auto; padding: 0.75rem; }
:is(.content-rich-text, .rich-editor .ql-editor) :not(pre) > code { background: var(--color-surface-soft); border-radius: 0.25rem; padding: 0.08rem 0.28rem; }
:is(.content-rich-text, .rich-editor .ql-editor) a { overflow-wrap: anywhere; }
:is(.content-rich-text, .rich-editor .ql-editor) table { border-collapse: collapse; display: block; margin: 0.8rem 0; max-width: 100%; overflow-x: auto; width: 100%; }
:is(.content-rich-text, .rich-editor .ql-editor) :is(th, td) { border: 1px solid var(--color-border-subtle); padding: 0.45rem 0.55rem; text-align: left; }
:is(.content-rich-text, .rich-editor .ql-editor) th { background: var(--color-surface-soft); }
.content-callout > div,
.content-link > div,
.content-video > div,
.content-embed > div:last-child,
.content-audio__heading > div,
.content-image figcaption,
.content-assessment__body { min-width: 0; overflow-wrap: normal; }
.element-actions { align-items: center; display: flex; gap: 0.35rem; }
.element-actions form { margin: 0; }
.element-actions .icon-button { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.45rem; color: var(--color-text-primary); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; width: 2rem; }
.element-actions .icon-button:hover:not(:disabled), .element-actions .icon-button:focus-visible { border-color: var(--color-action-primary); color: var(--color-action-primary); }
.element-actions .icon-button:disabled { cursor: not-allowed; opacity: 0.35; }
.publication-checklist { display: grid; gap: 0.55rem; list-style: none; margin: 0; padding: 0; }
.publication-checklist li { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr); padding: 0.75rem; }
.publication-checklist li > span { align-items: center; border-radius: 999px; display: inline-flex; font-weight: 800; height: 1.8rem; justify-content: center; width: 1.8rem; }
.publication-checklist li > div { display: grid; gap: 0.15rem; }
.publication-checklist small, .publication-note { color: var(--color-text-muted); font-size: 0.75rem; }
.publication-checklist .is-ready > span { background: color-mix(in srgb, var(--color-feedback-success) 15%, var(--color-surface)); color: var(--color-feedback-success); }
.publication-checklist .is-pending > span { background: color-mix(in srgb, var(--color-feedback-warning) 16%, var(--color-surface)); color: var(--color-feedback-warning); }
.publication-note { margin: 0; }
.publication-blocker { background: color-mix(in srgb, var(--color-feedback-warning) 10%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-feedback-warning) 35%, var(--color-border-subtle)); border-radius: 0.75rem; color: var(--color-text-primary); display: grid; gap: 0.15rem; margin: 0; padding: 0.75rem; }
.publication-blocker span { color: var(--color-text-muted); font-size: 0.82rem; }
.button-count { align-items: center; background: var(--color-surface-muted); border-radius: 999px; display: inline-flex; font-size: 0.7rem; justify-content: center; min-width: 1.45rem; padding: 0.12rem 0.42rem; }
.participants-workspace { margin: 0 auto; max-width: 92rem; padding: 1.15rem clamp(1rem, 2.4vw, 2rem) 3rem; }
.participants-heading { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; justify-content: space-between; padding-bottom: 1rem; }
.participants-heading__identity { align-items: center; display: flex; gap: 0.85rem; min-width: 0; }
.participants-heading h1 { font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -0.04em; margin: 0.12rem 0; }
.participants-heading p { color: var(--color-text-muted); font-size: 0.76rem; margin: 0; }
.participants-heading__actions { align-items: center; display: flex; gap: 0.6rem; }
.participants-summary { align-items: center; background: color-mix(in srgb, var(--color-action-primary) 7%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-action-primary) 20%, var(--color-border-subtle)); border-radius: var(--radius-card); display: flex; gap: 1rem; justify-content: space-between; margin-top: 1rem; padding: 0.8rem 1rem; }
.participants-summary div { align-items: baseline; display: flex; gap: 0.4rem; }
.participants-summary strong { color: var(--color-action-primary); font-size: 1.35rem; }
.participants-summary span { font-size: 0.72rem; font-weight: 750; }
.participants-summary p { color: var(--color-text-muted); font-size: 0.72rem; margin: 0; }
.participants-layout { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr); margin-top: 1rem; }
.participants-layout--management { grid-template-columns: minmax(0, 1.65fr) minmax(19rem, 0.75fr); }
.participants-panel { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); min-width: 0; padding: 1rem; }
.participants-panel__heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.participants-panel__heading h2 { font-size: 1rem; margin: 0.15rem 0 0; }
.result-count { background: var(--color-surface-muted); border-radius: 999px; color: var(--color-text-muted); font-size: 0.66rem; font-weight: 800; padding: 0.25rem 0.55rem; }
.member-search { border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 0.45rem; margin-block: 1rem; padding-bottom: 1rem; }
.member-search label { font-size: 0.72rem; font-weight: 800; }
.member-search__controls { display: grid; gap: 0.55rem; grid-template-columns: minmax(0, 1fr) auto; }
.member-search small { color: var(--color-text-muted); font-size: 0.66rem; }
.member-results, .participant-list { display: grid; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.member-results li, .participant-list li { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; display: grid; gap: 0.75rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: 0.7rem 0.8rem; }
.member-results__identity { display: grid; gap: 0.08rem; min-width: 0; }
.member-results__identity strong, .member-results__identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.member-results__identity span, .member-results__identity small { color: var(--color-text-muted); font-size: 0.68rem; }
.member-results form { margin: 0; }
.team-assignment { align-items: center; display: flex; gap: 0.5rem; }
.team-assignment select { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-control); color: var(--color-text-primary); min-height: 2.35rem; padding: 0 2rem 0 0.7rem; }
.course-team-page .participants-panel { margin-top: 1rem; }
.participant-list { margin-top: 1rem; }
.participant-list li { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; display: grid; gap: 0.75rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: 0.7rem 0.8rem; }
.participant-list li div { display: grid; gap: 0.12rem; min-width: 0; }
.participant-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.participant-list small { color: var(--color-text-muted); }
.participant-list__identity span { color: var(--color-text-muted); font-size: 0.72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.participant-list--invitations li { align-items: start; grid-template-columns: auto minmax(0, 1fr) auto; position: relative; }
.participant-list--invitations .participant-avatar { grid-row: 1 / 3; }
.participant-list--invitations .status-badge { grid-column: 2; grid-row: 2; justify-self: start; }
.invitation-menu { grid-column: 3; grid-row: 1; position: relative; }
.invitation-menu > summary { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 0.55rem; color: var(--color-text-muted); cursor: pointer; display: inline-flex; font-size: 1.35rem; height: 2rem; justify-content: center; list-style: none; width: 2rem; }
.invitation-menu > summary::-webkit-details-marker { display: none; }
.invitation-menu > summary:hover, .invitation-menu > summary:focus-visible, .invitation-menu[open] > summary { background: var(--color-surface-muted); border-color: var(--color-border-subtle); color: var(--color-text-primary); }
.invitation-menu > summary:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.participant-list li .invitation-menu__popover { background: var(--color-surface-raised); border: 1px solid var(--color-border-subtle); border-radius: 0.65rem; box-shadow: var(--shadow-dialog); display: grid; gap: 0.2rem; min-width: 12rem; padding: 0.35rem; position: absolute; right: 0; top: calc(100% + 0.3rem); z-index: 20; }
.publication-edition-list { display: grid; gap: 1rem; margin-top: 1rem; }
.publication-edition { padding: 1.15rem; }
.publication-edition .participants-panel__heading { align-items: flex-start; border-bottom: 1px solid var(--color-border-subtle); padding-bottom: 0.9rem; }
.publication-edition .participants-panel__heading p { color: var(--color-text-muted); font-size: 0.7rem; margin: 0.25rem 0 0; }
.execution-list li { grid-template-columns: auto minmax(0, 1fr) auto auto; }
.execution-list .participant-avatar { border-radius: 0.55rem; }
.course-publications .ui-dialog select { min-height: 2.8rem; padding: 0 2.4rem 0 0.8rem; width: 100%; }
.invitation-menu__popover form { margin: 0; }
.invitation-menu__item { background: transparent; border: 0; border-radius: 0.45rem; color: var(--color-text-primary); cursor: pointer; display: block; font: inherit; font-size: 0.75rem; font-weight: 700; padding: 0.65rem 0.75rem; text-align: left; width: 100%; }
.invitation-menu__item:hover, .invitation-menu__item:focus-visible { background: var(--color-surface-muted); outline: 0; }
.invitation-menu__item--danger { color: var(--color-feedback-danger); }
.invitation-menu__item--danger:hover, .invitation-menu__item--danger:focus-visible { background: color-mix(in srgb, var(--color-feedback-danger) 9%, var(--color-surface)); }
.button--text-danger { background: transparent; border-color: transparent; color: var(--color-feedback-danger); }
.button--text-danger:hover { background: color-mix(in srgb, var(--color-feedback-danger) 8%, transparent); border-color: color-mix(in srgb, var(--color-feedback-danger) 20%, transparent); }
.button--danger { background: var(--color-feedback-danger); border-color: var(--color-feedback-danger); color: white; }
.button--danger-quiet { border-color: color-mix(in srgb, var(--color-feedback-danger) 36%, var(--color-border)); color: var(--color-feedback-danger); }
.button--danger-quiet:hover, .button--danger-quiet:focus-visible { background: color-mix(in srgb, var(--color-feedback-danger) 8%, var(--color-surface)); border-color: var(--color-feedback-danger); }
.course-section-menu__popover .menu-action--danger { color: var(--color-feedback-danger); }
.course-section-menu__popover .menu-action--danger:hover, .course-section-menu__popover .menu-action--danger:focus-visible { background: color-mix(in srgb, var(--color-feedback-danger) 8%, var(--color-surface)); }
.destructive-dialog .ui-dialog__surface { width: min(38rem, calc(100vw - 2rem)); }
.deletion-impact { background: color-mix(in srgb, var(--color-feedback-danger) 5%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-feedback-danger) 20%, var(--color-border)); border-radius: var(--radius-card); color: var(--color-text-primary); padding: 1rem 1.1rem; }
.deletion-impact > strong { display: block; margin-bottom: 0.55rem; }
.deletion-impact ul { margin: 0; padding-left: 1.25rem; }
.deletion-impact p { color: var(--color-text-muted); margin: 0.7rem 0 0; }
.course-invite-dialog .ui-dialog__surface { width: min(31rem, calc(100vw - 2rem)); }
.course-invite-dialog .form-field small, .dialog-copy { color: var(--color-text-muted); font-size: 0.78rem; line-height: 1.55; margin: 0; }
.ui-dialog--confirm .ui-dialog__surface { width: min(32rem, calc(100vw - 2rem)); }
.participant-avatar--pending { background: color-mix(in srgb, var(--color-warning) 16%, var(--color-surface)); color: var(--color-text); }
.participants-search-dialog { max-width: min(62rem, calc(100vw - 2rem)); }
.participants-search-dialog .ui-dialog__surface { width: 100%; }
.participants-search-dialog__body { display: grid; gap: 1rem; min-height: 25rem; padding: 1.25rem 1.35rem 1.75rem; }
.participants-search-dialog .member-search { border-bottom: 0; margin: 0; padding: 0 0 1.15rem; }
.participants-search-dialog .member-search__controls { grid-template-columns: minmax(0, 1fr) 7.25rem; }
.participants-search-dialog input[type="search"] { background: var(--color-surface-soft); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); color: var(--color-text-primary); font: inherit; min-height: 3rem; padding: 0.7rem 0.85rem; width: 100%; }
.participants-search-dialog input[type="search"]:focus { border-color: var(--color-action-primary); outline: 3px solid color-mix(in srgb, var(--color-action-primary) 22%, transparent); outline-offset: 1px; }
.member-search__submit { justify-content: center; min-width: 7.25rem; width: 7.25rem; }
.participants-search-results { align-self: stretch; border-top: 1px solid var(--color-border-subtle); display: grid; gap: 0.85rem; padding-top: 1rem; }
.participants-search-results__heading { align-items: center; display: flex; justify-content: space-between; }
.participants-search-results__heading > strong { font-size: 0.82rem; }
.participants-search-dialog .participants-empty { margin-top: 0; min-height: 8rem; padding: 1.35rem; }
.participant-avatar { align-items: center; background: var(--color-accent); border-radius: 50%; color: var(--color-accent-contrast); display: inline-flex; font-weight: 800; height: 2rem; justify-content: center; width: 2rem; }
.participant-avatar img { border-radius: inherit; height: 100%; object-fit: cover; width: 100%; }

.profile-photo-card { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: auto minmax(0, 1fr); margin-top: 1rem; padding: 1.5rem; }
.profile-photo-card__preview { align-items: center; background: var(--color-surface-subtle); border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text-muted); display: flex; height: 7rem; justify-content: center; overflow: hidden; width: 7rem; }
.profile-photo-card__preview img { height: 100%; object-fit: cover; width: 100%; }
.profile-photo-card__body h2 { margin: 0 0 .35rem; }
.profile-photo-card__body p { color: var(--color-text-muted); margin: 0 0 1rem; }
.profile-photo-card__upload { align-items: end; display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: .65rem; }
.profile-photo-card__upload label { font-weight: 700; width: 100%; }
.profile-photo-card__upload input { max-width: 28rem; }
@media (max-width: 640px) { .profile-photo-card { grid-template-columns: 1fr; } }
.participants-empty { align-items: center; background: var(--color-surface-muted); border-radius: 0.75rem; display: grid; gap: 0.75rem; margin-top: 1rem; padding: 1rem; text-align: center; }
.publication-empty .button { justify-self: center; width: auto; }
.participants-empty--search { grid-template-columns: auto minmax(0, 1fr); text-align: left; }
.participants-empty--search > span { color: var(--color-action-primary); font-size: 1.5rem; }
.participants-empty p { color: var(--color-text-muted); font-size: 0.7rem; margin: 0.2rem 0 0; }
.compact-pagination { align-items: center; display: flex; gap: 0.6rem; justify-content: center; margin-top: 0.85rem; }
.compact-pagination span { color: var(--color-text-muted); font-size: 0.68rem; }
.compact-pagination [aria-disabled="true"] { opacity: 0.45; pointer-events: none; }
.dialog-empty { background: var(--color-surface-muted); border-radius: 0.75rem; padding: 1rem; text-align: center; }
.dialog-empty p { color: var(--color-text-muted); margin: 0.25rem 0 0; }
.unit-inspector h2 { font-size: 1rem; margin: 0.2rem 0 1rem; }
.unit-inspector__toggle { margin: 0 0 0.75rem auto; }
.unit-inspector.is-collapsed { display: flex; justify-content: center; padding-inline: 0.7rem; }
.unit-inspector.is-collapsed [data-ui-inspector-content] { display: none; }
.unit-inspector.is-collapsed .unit-inspector__toggle { margin: 0; }
.unit-inspector.is-collapsed .unit-inspector__toggle svg { transform: rotate(180deg); }
.authoring-canvas.is-inspector-collapsed:not(.authoring-canvas--preview) { grid-template-columns: var(--outline-width, 17rem) minmax(24rem, 1fr) 3.5rem; }
.authoring-canvas.is-outline-collapsed.is-inspector-collapsed:not(.authoring-canvas--preview) { grid-template-columns: 3.5rem minmax(24rem, 1fr) 3.5rem; }
.unit-inspector dl { margin: 0 0 1rem; }
.unit-inspector dl div { border-top: 1px solid var(--color-border-subtle); display: grid; gap: 0.15rem; padding-block: 0.7rem; }
.unit-inspector dt { color: var(--color-text-muted); font-size: 0.65rem; font-weight: 750; text-transform: uppercase; }
.unit-inspector dd { font-size: 0.8rem; font-weight: 650; margin: 0; overflow-wrap: anywhere; }
.unit-inspector .button { width: 100%; }
.unit-inspector--empty [data-ui-inspector-content] > p { color: var(--color-text-muted); font-size: 0.76rem; }
.material-workspace--empty { display: grid; place-items: start center; }
.terminology-grid { display: grid; gap: 0.9rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.studio-empty--course { margin: 2rem; max-width: 58rem; width: calc(100% - 4rem); }
.authoring-canvas > .studio-empty--course { grid-column: 1 / -1; justify-self: center; }
.authoring-canvas--preview { grid-template-columns: var(--outline-width, 17rem) minmax(0, 1fr); }
.course-preview-page .material-workspace { background: var(--color-surface); }
.course-preview-page .material-workspace__heading { margin-inline: auto; max-width: 58rem; }
.course-preview-page .material-list { gap: 1.1rem; margin-inline: auto; max-width: 58rem; }
.course-preview-page .material-list > li { background: transparent; border: 0; border-radius: 0; display: block; padding: 0.45rem 0; }
.course-preview-page .material-empty { margin-top: 3rem; }

.structure-order-dialog { max-width: min(58rem, calc(100vw - 2rem)); }
.structure-order-dialog .ui-dialog__surface { width: min(58rem, calc(100vw - 2rem)); }
.structure-order-form { padding: 0; }
.structure-order-list { display: grid; gap: 0.75rem; padding: 1.1rem 1.35rem 0; }
.structure-order-section { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.85rem; overflow: hidden; }
.structure-order-section__heading { align-items: center; background: var(--color-surface-subtle); border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 0.75rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: 0.75rem 0.85rem; }
.structure-order-section__heading > div { display: grid; gap: 0.08rem; min-width: 0; }
.structure-order-section__heading small { color: var(--color-action-primary); font-size: 0.875rem; font-weight: 800; letter-spacing: 0.045em; text-transform: uppercase; }
.structure-order-section__heading strong { font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.structure-order-section__heading > div > span { color: var(--color-text-muted); font-size: 0.875rem; }
.structure-order-grip { align-items: center; color: var(--color-text-muted); display: inline-flex; justify-content: center; }
.structure-order-grip svg { fill: none; height: 1.2rem; stroke: currentColor; stroke-linecap: round; stroke-width: 3; width: 1.2rem; }
.structure-order-units { display: grid; gap: 0; list-style: none; margin: 0; padding: 0.35rem 0.65rem; }
.structure-order-units li { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 3rem; padding: 0.45rem 0.2rem; }
.structure-order-units li:last-child { border-bottom: 0; }
.structure-order-units strong { display: block; font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.structure-order-units small { color: var(--color-text-muted); display: block; font-size: 0.875rem; }
.structure-order-units select { font-size: 0.875rem; margin-top: 0.35rem; max-width: 20rem; width: 100%; }
.structure-order-index { align-items: center; background: var(--color-surface-soft); border-radius: 0.45rem; color: var(--color-action-primary); display: inline-flex; font-size: 0.875rem; font-weight: 800; height: 1.8rem; justify-content: center; width: 1.8rem; }
.structure-order-group { background: color-mix(in srgb, var(--color-surface-soft) 60%, var(--color-surface)); border: 1px solid var(--color-border-subtle) !important; border-radius: 0.65rem; display: block !important; padding: 0.55rem !important; }
.structure-order-group > header { align-items: center; display: grid; gap: 0.7rem; grid-template-columns: auto minmax(0, 1fr) auto; }
.structure-order-units--nested { margin: 0.45rem 0 0 2rem; padding: 0.2rem 0.35rem; }
.structure-order-actions { align-items: center; display: inline-flex; gap: 0.3rem; }
.structure-order-actions button { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.5rem; color: var(--color-text-primary); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; width: 2rem; }
.structure-order-actions button:hover:not(:disabled), .structure-order-actions button:focus-visible { border-color: var(--color-action-primary); color: var(--color-action-primary); }
.structure-order-actions button:disabled { cursor: default; opacity: 0.3; }
.structure-order-actions svg { fill: none; height: 0.95rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 0.95rem; }
.structure-order-form > .ui-dialog__actions { background: var(--color-surface-raised); bottom: 0; margin-top: 1rem; padding: 1rem 1.35rem 1.15rem; position: sticky; }

.admin-center { margin: 0 auto; max-width: 88rem; padding: 1.5rem clamp(1rem, 2.5vw, 2rem) 3rem; }
.admin-center__heading { align-items: end; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 2rem; justify-content: space-between; padding-bottom: 1rem; }
.admin-center__heading h1 { font-size: clamp(1.6rem, 3vw, 2.15rem); letter-spacing: -0.045em; margin: 0.2rem 0 0; }
.admin-center__heading p:last-child { color: var(--color-text-muted); font-size: 0.8rem; margin: 0.35rem 0 0; }
.admin-center__section { margin-top: 1.5rem; }
.admin-center__section + .admin-center__section { border-top: 1px solid var(--color-border-subtle); padding-top: 1.5rem; }
.admin-center__section-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; }
.admin-center__section-heading h2 { font-size: 1.2rem; margin: 0.15rem 0 0; }
.admin-center__section-heading > p { color: var(--color-text-muted); font-size: 0.72rem; margin: 0; max-width: 34rem; text-align: right; }
.admin-card-grid { display: grid; gap: 0.85rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; }
.admin-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); display: grid; gap: 0.7rem; min-height: 12rem; padding: 1rem; }
.admin-card--unavailable { background: color-mix(in srgb, var(--color-surface) 78%, var(--color-surface-soft)); }
.admin-card__icon { align-items: center; background: var(--color-surface-soft); border-radius: 0.65rem; color: var(--color-action-primary); display: inline-flex; height: 2.4rem; justify-content: center; width: 2.4rem; }
.admin-card h2, .admin-card h3 { font-size: 1rem; margin: 0; }
.admin-card p { color: var(--color-text-muted); font-size: 0.76rem; margin: 0; }
.admin-card .button { align-self: end; justify-self: start; }
.admin-card__actions { align-items: end; align-self: end; display: flex; flex-wrap: wrap; gap: 0.55rem; }
.admin-settings { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr); margin: 0 auto; max-width: 88rem; padding: 1.5rem clamp(1rem, 2.5vw, 2rem) 3rem; }
.admin-settings__aside { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); padding: 1rem; }
.admin-settings__aside h1 { font-size: 1.25rem; margin: 0.2rem 0 0.35rem; }
.admin-settings__aside > p { color: var(--color-text-muted); font-size: 0.76rem; }
.admin-settings__nav { border-top: 1px solid var(--color-border-subtle); display: grid; gap: 0.35rem; margin-top: 1rem; padding-top: 0.8rem; }
.admin-settings__nav a { border-radius: var(--radius-control); font-size: 0.8rem; font-weight: 700; padding: 0.65rem 0.75rem; }
.admin-settings__nav a[aria-current="page"] { background: color-mix(in srgb, var(--color-action-primary) 10%, var(--color-surface)); color: var(--color-action-primary); }
.admin-settings .settings-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); }
.profile-field-list { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); display: grid; overflow: hidden; }
.profile-field-row { align-items: center; background: var(--color-surface); border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 1rem; grid-template-columns: minmax(0,1fr) auto; padding: .85rem 1rem; }
.profile-field-row:last-child { border-bottom: 0; }
.profile-field-row .check-field { margin: 0; }
.profile-field-row .check-field > span { display: grid; gap: .1rem; }
.profile-field-row .check-field small { color: var(--color-text-muted); }
.profile-field-row .check-field--compact { font-size: .75rem; font-weight: 700; }

.learning-home { margin: 0 auto; max-width: 92rem; padding: 1.25rem clamp(1rem, 2.5vw, 2rem) 3rem; }
.learning-heading { border-bottom: 1px solid var(--color-border-subtle); padding-bottom: 1rem; }
.learning-heading h1 { font-size: clamp(1.55rem, 3vw, 2.25rem); letter-spacing: -0.045em; margin: 0.15rem 0; }
.learning-heading p:last-child { color: var(--color-text-muted); font-size: 0.8rem; margin: 0.25rem 0 0; max-width: 70ch; }
.learning-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); list-style: none; margin: 1rem 0 0; padding: 0; }
.learning-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); box-shadow: var(--shadow-card); min-width: 0; overflow: hidden; }
.learning-card__cover { align-items: center; aspect-ratio: 16 / 6; background: linear-gradient(135deg, color-mix(in srgb, var(--color-action-primary) 88%, #112c51), color-mix(in srgb, var(--color-action-secondary) 72%, #142938)); color: white; display: flex; padding: 1.15rem; }
.learning-card__cover:has(img) { padding: 0; }
.learning-card__cover img { display: block; height: 100%; object-fit: contain; width: 100%; }
.learning-card__cover span { align-items: center; background: rgb(255 255 255 / 15%); border: 1px solid rgb(255 255 255 / 25%); border-radius: 0.75rem; display: inline-flex; font-size: 1.2rem; font-weight: 800; height: 3rem; justify-content: center; width: 3rem; }
.learning-card__body { display: grid; gap: 0.55rem; padding: 1rem; }
.learning-card__body .status-badge { justify-self: start; }
.learning-card__body h2 { font-size: 1.05rem; margin: 0; }
.learning-card__body p { color: var(--color-text-muted); font-size: 0.76rem; line-height: 1.55; margin: 0; min-height: 2.35rem; }
.learning-card__body small { color: var(--color-text-muted); font-size: 0.66rem; }
.learning-card__progress-row { align-items: center; display: grid; gap: 0.55rem; grid-template-columns: minmax(0,1fr) auto; }
.learning-card__progress-row progress { width: 100%; }
.learning-card__progress-row span { color: var(--color-text-primary); font-size: 0.72rem; font-weight: 750; }
.course-progress { appearance: none; background: var(--color-surface-muted); border: 0; border-radius: 999px; height: 0.72rem; overflow: hidden; }
.course-progress::-webkit-progress-bar { background: var(--color-surface-muted); border-radius: 999px; }
.course-progress::-webkit-progress-value { background: linear-gradient(90deg,var(--color-action-primary),var(--color-action-secondary)); border-radius: 999px; }
.course-progress::-moz-progress-bar { background: linear-gradient(90deg,var(--color-action-primary),var(--color-action-secondary)); border-radius: 999px; }
.learning-card__body .button { justify-self: start; margin-top: 0.25rem; }
.learning-empty { align-items: center; background: var(--color-surface); border: 1px dashed var(--color-border); border-radius: var(--radius-card); display: flex; gap: 0.85rem; margin-top: 1rem; min-height: 8rem; padding: 1.25rem; }
.learning-empty > span { color: var(--color-action-primary); font-size: 1.8rem; }
.learning-empty p { color: var(--color-text-muted); font-size: 0.75rem; margin: 0.25rem 0 0; }

/* Invitation acceptance is a focused, public-to-private onboarding surface. */
.invitation-page > .app-header,
.invitation-page > .app-footer { display: none; }
.invitation-shell { align-items: center; background: radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--color-action-primary) 13%, transparent), transparent 32rem), var(--color-surface-soft); display: flex; justify-content: center; min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); }
.invitation-panel { background: var(--color-surface-raised); border: 1px solid var(--color-border-subtle); border-radius: 1.25rem; box-shadow: 0 1.5rem 4rem rgb(15 23 42 / 12%); max-width: 66rem; overflow: hidden; width: 100%; }
.invitation-panel--compact { max-width: 38rem; }
.invitation-panel__header { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: flex; justify-content: space-between; min-height: 4.25rem; padding: 0 1.5rem; }
.invitation-brand { align-items: center; color: var(--color-text-primary); display: inline-flex; gap: 0.65rem; text-decoration: none; }
.invitation-brand > span { align-items: center; background: var(--color-text-primary); border-radius: 0.65rem; color: var(--color-surface-raised); display: inline-flex; font-weight: 800; height: 2.25rem; justify-content: center; width: 2.25rem; }
.invitation-security { align-items: center; color: var(--color-text-muted); display: inline-flex; font-size: 0.75rem; gap: 0.4rem; }
.invitation-security > span { align-items: center; background: color-mix(in srgb, #16835f 12%, transparent); border-radius: 50%; color: #16835f; display: inline-flex; height: 1.35rem; justify-content: center; width: 1.35rem; }
.invitation-panel__body { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr); }
.invitation-summary { background: linear-gradient(145deg, color-mix(in srgb, var(--color-action-primary) 6%, var(--color-surface-raised)), var(--color-surface-raised)); padding: clamp(2rem, 5vw, 4.5rem); }
.invitation-summary h1, .invitation-unavailable h1 { font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -0.055em; line-height: 1.02; margin: 0.65rem 0 1rem; }
.invitation-summary__lead { color: var(--color-text-muted); font-size: 1rem; line-height: 1.6; margin: 0; max-width: 38rem; }
.invitation-destinations { align-items: center; background: var(--color-surface-raised); border: 1px solid var(--color-border-subtle); border-radius: 0.9rem; display: flex; gap: 0.85rem; margin-top: 2rem; padding: 1rem; }
.invitation-destinations__icon { align-items: center; background: color-mix(in srgb, var(--color-action-primary) 12%, transparent); border-radius: 0.7rem; color: var(--color-action-primary); display: inline-flex; flex: 0 0 auto; height: 2.8rem; justify-content: center; width: 2.8rem; }
.invitation-destinations div { display: grid; gap: 0.2rem; }
.invitation-destinations small, .invitation-expiry { color: var(--color-text-muted); font-size: 0.7rem; }
.invitation-destinations strong { font-size: 0.9rem; }
.invitation-expiry { margin: 1rem 0 0; }
.invitation-action-card { align-self: center; padding: clamp(2rem, 4vw, 3.25rem); }
.invitation-action-card h2 { font-size: 1.35rem; letter-spacing: -0.025em; margin: 0 0 0.5rem; }
.invitation-action-card > p { color: var(--color-text-muted); font-size: 0.82rem; line-height: 1.55; margin: 0 0 1.4rem; }
.invitation-action-card__primary { justify-content: center; margin-top: 0.5rem; width: 100%; }
.invitation-register { display: grid; gap: 0.85rem; }
.invitation-register .form-field { gap: 0.35rem; }
.invitation-register .form-field input { width: 100%; }
.invitation-policy { font-size: 0.75rem; line-height: 1.4; }
.invitation-existing { align-items: center; border-top: 1px solid var(--color-border-subtle); color: var(--color-text-muted); display: flex; flex-wrap: wrap; font-size: 0.78rem; gap: 0.35rem; justify-content: center; margin-top: 1.25rem; padding-top: 1.25rem; }
.invitation-unavailable { padding: clamp(2rem, 7vw, 4rem); text-align: center; }
.invitation-unavailable__icon { align-items: center; background: color-mix(in srgb, var(--color-action-primary) 12%, transparent); border-radius: 1rem; color: var(--color-action-primary); display: inline-flex; font-size: 1.4rem; font-weight: 800; height: 3.5rem; justify-content: center; width: 3.5rem; }
.invitation-unavailable p:not(.overline) { color: var(--color-text-muted); line-height: 1.6; margin: 0 auto 1.5rem; max-width: 31rem; }
@media (max-width: 760px) {
  .invitation-shell { align-items: flex-start; padding: 0; }
  .invitation-panel { border: 0; border-radius: 0; min-height: 100vh; }
  .invitation-panel__body { grid-template-columns: 1fr; }
  .invitation-summary, .invitation-action-card { padding: 1.5rem; }
  .invitation-summary h1 { font-size: 2.25rem; }
  .invitation-security { display: none; }
}
.learner-course-page { overflow: hidden; }
.publication-success__body { align-items: center; display: flex; gap: 0.85rem; padding: 1.25rem 1.5rem; }
.publication-success__body p { color: var(--color-text-muted); font-size: 0.75rem; margin: 0.2rem 0 0; }
.publication-success__icon { align-items: center; background: color-mix(in srgb, var(--color-feedback-success) 14%, var(--color-surface)); border-radius: 999px; color: var(--color-feedback-success); display: inline-flex; flex: 0 0 auto; font-size: 1rem; font-weight: 900; height: 2.5rem; justify-content: center; width: 2.5rem; }
.learner-workbench { background: var(--workspace-canvas); height: 100vh; min-height: 100vh; overflow: hidden; }
.learner-topbar { align-items: center; background: color-mix(in srgb, var(--workspace-surface) 97%, transparent); border-bottom: 1px solid var(--workspace-border); display: flex; height: 4rem; justify-content: space-between; padding: 0 1rem; position: sticky; top: 0; z-index: 40; }
.learner-topbar__context { align-items: center; display: flex; gap: 0.8rem; min-width: 0; }
.learner-topbar__brand { align-items: center; display: inline-flex; flex: 0 0 auto; justify-content: center; text-decoration: none; }
.learner-topbar__brand > span { align-items: center; background: var(--workspace-action); border-radius: 0.55rem; color: #fff; display: inline-flex; font-size: 0.82rem; font-weight: 850; height: 2.25rem; justify-content: center; width: 2.25rem; }
.learner-topbar__divider { background: var(--workspace-border); height: 1.75rem; width: 1px; }
.learner-topbar__back { align-items: center; color: var(--workspace-text); display: inline-flex; flex: 0 0 auto; font-size: 0.78rem; font-weight: 700; gap: 0.3rem; text-decoration: none; }
.learner-topbar__back:hover { color: var(--workspace-action); }
.learner-topbar__back svg { height: 1rem; width: 1rem; }
.learner-topbar__title { font-size: 0.82rem; font-weight: 650; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.learner-topbar__course-nav { align-items: stretch; align-self: stretch; display: flex; gap: 1.5rem; min-width: 0; }
.learner-topbar__course-nav a { align-items: center; border-bottom: 3px solid transparent; color: var(--color-text-muted); display: inline-flex; font-size: 0.78rem; font-weight: 750; line-height: 1; padding: 0.18rem 0 0; text-decoration: none; white-space: nowrap; }
.learner-topbar__course-nav a:hover { color: var(--workspace-text); }
.learner-topbar__course-nav a.is-active { border-bottom-color: var(--workspace-action); color: var(--workspace-action); }
.learner-topbar .app-topbar__notification svg, .app-topbar .app-topbar__notification svg { height: 1.2rem; width: 1.2rem; }
.learner-workbench__content { height: calc(100vh - 4rem); min-width: 0; overflow: hidden; }
.execution-settings-dialog { max-width: min(68rem, calc(100vw - 2rem)); }
.execution-settings-dialog .ui-dialog__surface { width: 100%; }
.execution-settings-tabs { gap: 1rem; min-width: 0; }
.execution-settings-tabs .ui-tab-list { margin-inline: -.15rem; }
.execution-settings-section { border-top: 1px solid var(--color-border-subtle); display: grid; gap: .85rem; padding-top: 1rem; }
.execution-settings-section:first-of-type { border-top: 0; padding-top: 0; }
.execution-settings-panel { border-top: 0; padding: .15rem; }
.execution-economy h3,.execution-economy p { margin: 0; }
.execution-commercial-fields { display: grid; gap: 1rem; }
.execution-commercial-fields[hidden], .execution-economy [data-ui-promotion-details][hidden], .execution-economy [data-ui-promotion-schedule][hidden] { display: none; }
.promotion-preview { align-items: center; background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: .65rem; display: flex; min-height: 2.75rem; padding: .65rem .8rem; }
.course-price-group { align-items: baseline; display: flex; flex-wrap: wrap; gap: .4rem .6rem; }
.course-price-group del { color: var(--color-text-muted); font-size: .82em; font-weight: 550; }
.discount-badge { background: color-mix(in srgb,var(--color-action-primary) 13%,var(--color-surface)); border-radius: 999px; color: var(--color-action-primary); font-size: .72rem; font-weight: 800; padding: .18rem .45rem; }
.learner-course { height: 100%; }
.learner-course-surface { height: 100%; min-height: 0; }
.learner-shell { align-items: stretch; display: grid; grid-template-columns: minmax(17.9rem, 22.4rem) minmax(0, 1fr); height: 100%; }
.learner-shell.is-notes-open { grid-template-columns: minmax(17.9rem, 22.4rem) minmax(0, 1fr) minmax(19rem, 24rem); }
.learner-shell.is-notes-expanded { grid-template-columns: minmax(14.6rem, 17.9rem) minmax(18rem, .75fr) minmax(34rem, 1.25fr); }
.learner-outline { background: var(--workspace-surface); border-right: 1px solid var(--color-border-subtle); height: calc(100vh - 4rem); overflow: auto; padding: 0.9rem; position: sticky; top: 4rem; }
.learner-outline__collapse { display: flex; margin: 0; position: absolute; right: 0.9rem; top: 0.9rem; z-index: 2; }
.learner-shell.is-outline-collapsed { grid-template-columns: 3.5rem minmax(0, 1fr); }
.learner-shell.is-outline-collapsed.is-notes-open { grid-template-columns: 3.5rem minmax(0, 1fr) minmax(19rem, 24rem); }
.learner-shell.is-outline-collapsed.is-notes-expanded { grid-template-columns: 3.5rem minmax(18rem, .75fr) minmax(34rem, 1.25fr); }
.learner-outline.is-collapsed { overflow: hidden; padding-inline: 0.7rem; }
.learner-outline.is-collapsed [data-ui-panel-content], .learner-outline.is-collapsed [data-ui-panel-heading] { display: none; }
.learner-outline__section-lock { font-size: 0.62rem; margin-left: 0.2rem; }
.learner-outline__course { border-bottom: 1px solid var(--color-border-subtle); margin-bottom: 0.65rem; padding: 0.15rem 3rem 0.9rem 0.42rem; }
.learner-outline__course summary { list-style: none; }
.learner-outline__course summary::-webkit-details-marker { display: none; }
.learner-outline__course-summary { display: block; }
.learner-outline__course-summary > span { display: grid; gap: 0.2rem; min-width: 0; }
.learner-outline__course-summary small, .learner-outline__course-body small { color: var(--color-text-muted); font-size: 0.62rem; }
.learner-outline__course-summary small { font-weight: 550; letter-spacing: 0.015em; }
.learner-outline__course-summary strong { font-size: 1rem; font-weight: 800; letter-spacing: -0.015em; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.learner-outline__course-body { display: grid; gap: 0.28rem; padding-top: 0.5rem; }
.learner-outline__course-body p { color: var(--color-text-muted); display: -webkit-box; font-size: 0.68rem; line-height: 1.4; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.learner-progress { appearance: none; background: color-mix(in srgb, var(--color-action-primary) 10%, var(--color-surface)); border: 0; border-radius: 999px; height: 0.35rem; margin-top: 0.35rem; overflow: hidden; width: 100%; }
.learner-progress::-webkit-progress-bar { background: color-mix(in srgb, var(--color-action-primary) 10%, var(--color-surface)); }
.learner-progress::-webkit-progress-value { background: var(--color-action-primary); border-radius: 999px; }
.learner-progress::-moz-progress-bar { background: var(--color-action-primary); border-radius: 999px; }
.learner-outline__tree { padding: 0 0 4.5rem; }
.learner-outline__tree > .learner-outline__module { border-left: 2px solid var(--color-border-subtle); margin: 0 0 0.55rem 0.38rem; padding: 0 0 0.25rem 0.55rem; }
.learner-outline__tree > .learner-outline__module[open] { border-left-color: color-mix(in srgb, var(--workspace-action) 28%, var(--color-border-subtle)); }
.learner-outline__standalone { margin: 0 0 0.7rem 0.38rem; }
.learner-outline__standalone > a,
.learner-outline__standalone > .learner-outline__locked { border-left: 3px solid var(--workspace-action); border-radius: 0.65rem; display: grid; gap: 0.2rem; padding: 0.65rem 0.7rem; text-decoration: none; }
.learner-outline__standalone > a:hover,
.learner-outline__standalone > a[aria-current="page"] { background: color-mix(in srgb, var(--workspace-action) 8%, var(--workspace-surface)); }
.learner-outline__standalone strong { color: color-mix(in srgb, var(--workspace-text) 72%, var(--color-text-muted)); display: block; font-size: 0.875rem; line-height: 1.35; }
.learner-outline { --outline-structure-color: #171717; --outline-available-color: #666; --outline-locked-color: #a6abb0; }
.learner-outline__section { align-items: center; border-radius: 0.55rem; color: var(--outline-structure-color); cursor: pointer; display: flex; gap: 0.65rem; justify-content: space-between; padding: 0.5rem 0.45rem 0.55rem; }
.learner-outline__section:hover { background: color-mix(in srgb, var(--workspace-action) 4%, var(--workspace-surface)); }
.learner-outline__section > span { display: grid; gap: 0.14rem; min-width: 0; }
.learner-outline__section-kicker { color: var(--workspace-action) !important; font-size: 0.75rem !important; font-weight: 800; letter-spacing: 0.045em; line-height: 1.2; text-transform: uppercase; }
.learner-outline__section strong { color: var(--outline-structure-color); font-size: 1rem; font-weight: 750; line-height: 1.32; }
.learner-outline__section small { color: var(--color-text-muted); font-size: 0.75rem; }
.learner-outline__section svg { color: var(--color-text-muted); flex: 0 0 auto; height: 0.9rem; transition: transform var(--transition-fast); width: 0.9rem; }
.learner-outline__module:not([open]) .learner-outline__section svg { transform: rotate(-90deg); }
.learner-outline__units { padding: 0.2rem 0 0 0.25rem !important; }
.learner-outline ol { display: grid; gap: 0.12rem; list-style: none; margin: 0; padding: 0; }
.learner-outline li a, .learner-outline__locked { align-items: center; border: 1px solid transparent; border-radius: 0.6rem; display: grid; gap: 0.52rem; grid-template-columns: auto minmax(0, 1fr); min-height: 2.55rem; padding: 0.36rem 0.48rem; }
.learner-outline li a:hover { background: var(--color-surface); border-color: var(--color-border-subtle); }
.learner-outline li a[aria-current="page"] { background: color-mix(in srgb, var(--color-action-primary) 10%, var(--color-surface)); border-color: color-mix(in srgb, var(--color-action-primary) 28%, var(--color-border)); color: var(--color-action-primary); }
.learner-outline__unit-index { align-items: center; background: transparent; border: 1px solid var(--color-border-subtle); border-radius: 0.4rem; color: var(--outline-available-color); display: inline-flex; font-size: 0.59rem; font-weight: 750; height: 1.65rem; justify-content: center; width: 1.65rem; }
.learner-outline__unit-title { color: var(--outline-available-color); display: grid; font-size: 0.875rem; font-weight: 550; gap: 0.1rem; line-height: 1.35; }
.learner-outline__unit-title strong { color: inherit; font-size: 0.875rem; }
.learner-outline__unit-meta { color: var(--outline-available-color); font-size: 0.75rem; font-weight: 500; }
.learner-outline__group { border-left: 1px solid var(--color-border-subtle); margin: 0.35rem 0 0.45rem 0.8rem; padding-left: 0.55rem; }
.learner-outline__group-title { border-bottom: 1px solid var(--color-border-subtle); color: var(--color-text-muted); display: block; font-size: 0.875rem; letter-spacing: 0.015em; margin-bottom: 0.2rem; padding: 0.35rem 0.45rem; }
.learner-outline__group > ol { padding: 0 !important; }
.learner-outline li a[aria-current="page"] .learner-outline__unit-index { background: var(--color-surface); border-color: color-mix(in srgb, var(--workspace-action) 24%, var(--color-border-subtle)); color: var(--workspace-action); }
.learner-outline li a[aria-current="page"] .learner-outline__unit-title { color: var(--outline-available-color); font-weight: 750; }
.learner-outline__locked { background: color-mix(in srgb, var(--workspace-surface) 72%, var(--color-canvas)); border-color: color-mix(in srgb, var(--color-border-subtle) 72%, transparent); color: var(--color-text-muted); text-decoration: none; }
.learner-outline__locked .learner-outline__unit-index { background: color-mix(in srgb, var(--workspace-surface) 82%, var(--color-canvas)); color: var(--outline-locked-color); }
.learner-outline__locked .learner-outline__unit-title, .learner-outline__locked .learner-outline__unit-meta { color: var(--outline-locked-color); font-weight: 500; }
.learner-outline__standalone > .learner-outline__locked strong { color: var(--outline-locked-color); font-weight: 600; }
.learner-outline__locked small { font-size: 0.75rem; }
.learner-reader { background: var(--color-surface); height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: clamp(1.25rem, 2.4vw, 2rem) clamp(1rem, 4vw, 3.5rem) 3rem; }
.learner-reader__heading { align-items: start; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; justify-content: space-between; margin: 0 auto 1.25rem; max-width: 64rem; padding-bottom: 0.9rem; }
.learner-course-completion { align-items: start; background: color-mix(in srgb,var(--color-feedback-success) 11%,var(--color-surface)); border: 1px solid color-mix(in srgb,var(--color-feedback-success) 38%,var(--color-border)); border-radius: var(--radius-card); display: grid; gap: .75rem; grid-template-columns: auto minmax(0,1fr); margin: 0 auto 1.25rem; max-width: 64rem; padding: 1rem 1.1rem; }
.learner-course-completion[hidden] { display: none; }
.learner-course-completion > span { align-items: center; background: var(--color-feedback-success); border-radius: 50%; color: white; display: inline-flex; font-weight: 900; height: 2rem; justify-content: center; width: 2rem; }
.learner-course-completion strong { color: var(--color-feedback-success); }
.learner-course-completion p { margin: .2rem 0 0; }
.learner-reader__heading h1 { font-size: clamp(1.45rem, 2.4vw, 2rem); letter-spacing: -0.035em; margin: 0.15rem 0 0; }
.learning-note-tab { align-items: center; background: var(--color-action-primary); border: 0; border-radius: .75rem 0 0 .75rem; box-shadow: var(--shadow-dialog); color: var(--color-on-action); cursor: pointer; display: inline-flex; gap: .4rem; padding: .8rem .55rem; position: fixed; right: 0; top: 50%; transform: translateY(-50%); writing-mode: vertical-rl; z-index: 18; }
.learning-note-tab:hover { filter: brightness(.96); }
.learning-note-tab[hidden] { display: none; }
.learning-note-tab:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.learning-note-tab svg { fill: none; height: 1.15rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 1.15rem; }
.learning-note-tab span { font-size: .72rem; font-weight: 800; letter-spacing: .03em; }
.execution-posts { display: grid; gap: .75rem; margin: 5px 0 1.5rem; }
.learner-content { display: grid; gap: 1.15rem; margin: 0 auto; max-width: 64rem; }
.learner-content > * { min-width: 0; }
.learner-reader .content-rich-text { font-size: 1rem; line-height: 1.7; }
.learner-reader .content-rich-text h2 { font-size: 1.5rem; line-height: 1.25; }
.learner-reader .content-rich-text h3 { font-size: 1.25rem; line-height: 1.35; }
.learner-reader .content-separator h3 { font-size: 1.25rem; line-height: 1.35; }
.learner-reader .content-callout strong,
.learner-reader .content-video strong,
.learner-reader .content-embed strong,
.learner-reader .content-audio__heading strong,
.learner-reader .content-image figcaption strong,
.learner-reader .content-link a { font-size: 1.125rem; }
.learner-reader .content-callout p,
.learner-reader .content-link p,
.learner-reader .content-video p,
.learner-reader .content-embed p,
.learner-reader .content-audio__heading p,
.learner-reader .content-audio__transcript,
.learner-reader .content-image figcaption p,
.learner-reader .content-file,
.learner-reader .learner-element-lock small,
.learner-reader .learner-lock p { font-size: 1rem; line-height: 1.65; }
.learner-reader .content-code code { font-size: 0.875rem; }
.learner-element { border: 1px solid transparent; border-radius: 0.85rem; min-width: 0; padding: 0.15rem; position: relative; scroll-margin-block: 6rem; }
.learner-element.is-current { border-color: color-mix(in srgb,var(--color-action-primary) 35%,transparent); padding: 0.65rem; }
.learner-reader__heading > div { min-width: 0; }
.learner-unit-state { background: var(--workspace-surface); border: 1px solid var(--color-border-subtle); border-radius: 999px; color: var(--color-text-muted); flex: 0 0 auto; font-size: 0.68rem; font-weight: 750; margin-top: 0.2rem; padding: 0.28rem 0.65rem; }
.learner-unit-state.is-completed { color: var(--color-feedback-success); }
.learner-element-nav { border: 1px solid var(--color-border-subtle); border-radius: 0.8rem; display: grid; gap: 0.55rem; margin: 0 auto 1.1rem; max-width: 64rem; padding: 0.75rem; }
.learner-element-nav > span { color: var(--color-text-muted); font-size: 0.66rem; font-weight: 750; text-transform: uppercase; }
.learner-element-nav ol { display: flex; gap: 0.45rem; list-style: none; margin: 0; overflow-x: auto; padding: 0 0 0.2rem; }
.learner-element-nav a { border: 1px solid var(--color-border-subtle); border-radius: 999px; color: var(--color-text-primary); display: block; font-size: 0.7rem; font-weight: 650; padding: 0.38rem 0.65rem; text-decoration: none; white-space: nowrap; }
.learner-element-nav a[aria-current="location"] { background: var(--color-action-primary); border-color: var(--color-action-primary); color: white; }
.learner-element-nav__locked { align-items: center; border: 1px solid var(--color-border-subtle); border-radius: 999px; color: var(--color-text-muted); display: inline-flex; font-size: 0.7rem; font-weight: 650; gap: 0.35rem; padding: 0.38rem 0.65rem; white-space: nowrap; }
.learner-reader__navigation { align-items: center; border-top: 1px solid var(--color-border-subtle); display: flex; justify-content: space-between; margin: 2rem auto 0; max-width: 64rem; padding-top: 1rem; }
.learner-reader__navigation form { align-items: center; display: flex; gap: 0.5rem; margin: 0; }
.learner-element-lock, .learner-lock { align-items: center; background: color-mix(in srgb, var(--color-feedback-warning) 8%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-feedback-warning) 25%, var(--color-border)); border-radius: 0.75rem; display: flex; gap: 0.75rem; padding: 1rem; }
.learner-element-lock > span, .learner-lock > span { align-items: center; background: var(--color-feedback-warning); border-radius: 0.55rem; color: white; display: inline-flex; height: 2rem; justify-content: center; width: 2rem; }
.learner-element-lock div, .learner-lock div { display: grid; gap: 0.18rem; }
.learner-element-lock small, .learner-lock p { color: var(--color-text-muted); font-size: 0.7rem; margin: 0; }
.learner-lock__requirement { font-size: 0.72rem; font-weight: 750; justify-self: start; margin-top: 0.35rem; }
.learner-reader .learning-empty { margin: 0; }
.learner-results { background: var(--color-surface); height: 100%; overflow-y: auto; padding: clamp(1.25rem, 3vw, 2.5rem); }
.learner-results__heading { align-items: end; border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 0.25rem; grid-template-columns: minmax(0, 1fr) auto; margin: 0 auto 1.35rem; max-width: 68rem; padding-bottom: 1.2rem; }
.learner-results__heading .overline { grid-column: 1; margin: 0; }
.learner-results__heading h1 { font-size: clamp(1.45rem, 2.5vw, 2rem); grid-column: 1; letter-spacing: -0.035em; margin: 0; }
.learner-results__preview { align-items: center; background: color-mix(in srgb, var(--workspace-action) 7%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--workspace-action) 20%, var(--color-border)); border-radius: 0.75rem; display: flex; font-size: 0.72rem; gap: 0.55rem; margin: 0 auto 1rem; max-width: 68rem; padding: 0.7rem 0.85rem; }
.learner-results__preview span { color: var(--color-text-muted); }
.learner-result-status { background: color-mix(in srgb, var(--workspace-action) 10%, var(--color-surface)); border-radius: 999px; color: var(--workspace-action); font-size: 0.74rem; font-weight: 800; grid-column: 2; grid-row: 1 / 3; padding: 0.48rem 0.75rem; }
.learner-result-status.is-success { background: color-mix(in srgb, var(--color-feedback-success) 13%, var(--color-surface)); color: var(--color-feedback-success); }
.learner-result-status.is-warning { background: color-mix(in srgb, var(--color-feedback-warning) 14%, var(--color-surface)); color: color-mix(in srgb, var(--color-feedback-warning) 75%, var(--color-text)); }
.learner-result-metrics { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 auto 1.25rem; max-width: 68rem; }
.learner-result-card { background: var(--workspace-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.9rem; display: grid; gap: 0.85rem; padding: 1.2rem; }
.learner-result-card .overline { margin: 0; }
.learner-result-card h2 { font-size: 1.8rem; margin: 0.12rem 0 0; }
.learner-result-card > p { color: var(--color-text-muted); font-size: 0.75rem; line-height: 1.55; margin: 0; }
.learner-result-card progress { accent-color: var(--workspace-action); height: 0.55rem; width: 100%; }
.learner-condition { color: var(--color-text-muted); font-size: 0.7rem; font-weight: 750; }
.learner-condition.is-met { color: var(--color-feedback-success); }
.learner-evaluation-list { border: 1px solid var(--color-border-subtle); border-radius: 0.9rem; margin: 0 auto; max-width: 68rem; overflow: hidden; }
.learner-evaluation-list__heading { align-items: end; background: var(--workspace-surface); border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; justify-content: space-between; padding: 1.15rem 1.25rem; }
.learner-evaluation-list__heading .overline, .learner-evaluation-list__heading h2 { margin: 0; }
.learner-evaluation-list__heading h2 { font-size: 1rem; margin-top: 0.2rem; }
.learner-evaluation-list__heading > small { color: var(--color-text-muted); font-size: 0.68rem; }
.learner-evaluation-list ol { list-style: none; margin: 0; padding: 0; }
.learner-evaluation-list li { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: 0.8rem; grid-template-columns: auto minmax(0,1fr) auto auto; padding: 0.9rem 1.25rem; }
.learner-evaluation-list li:last-child { border-bottom: 0; }
.learner-evaluation-list__position { align-items: center; background: color-mix(in srgb, var(--workspace-action) 9%, var(--color-surface)); border-radius: 0.5rem; color: var(--workspace-action); display: inline-flex; font-size: 0.66rem; font-weight: 850; height: 2rem; justify-content: center; width: 2rem; }
.learner-evaluation-list li > div { display: grid; gap: 0.15rem; }
.learner-evaluation-list li small { color: var(--color-text-muted); font-size: 0.65rem; }
.learner-evaluation-list__score { min-width: 6rem; text-align: right; }
.learner-evaluation-list__locked { align-items: center; color: var(--color-text-muted); display: inline-flex; font-size: 0.68rem; font-weight: 700; gap: 0.35rem; justify-self: end; max-width: 11rem; text-align: right; }
.learner-about { background: var(--color-surface); height: 100%; overflow-y: auto; padding: clamp(1.25rem, 3vw, 2.5rem); }
.learner-about__content { margin: 0 auto; max-width: 68rem; }
.learner-about__intro { align-items: center; border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: clamp(1.25rem,3vw,2rem); grid-template-columns: minmax(16rem,26rem) minmax(0,1fr); padding-bottom: 1.3rem; }
.learner-about__intro--text-only { grid-template-columns: 1fr; }
.learner-about__cover { aspect-ratio: 16 / 9; background: var(--color-surface-muted); border-radius: 0.9rem; display: block; max-height: 15rem; min-width: 0; object-fit: contain; width: 100%; }
.learner-about__content h1 { font-size: clamp(1.65rem, 3vw, 2.5rem); letter-spacing: -0.045em; margin: 0.15rem 0 0; }
.learner-about__lead { color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.65; margin: 0.7rem 0 0; max-width: 52rem; }
.learner-about__content section { border-bottom: 1px solid var(--color-border-subtle); padding: 1.3rem 0; }
.learner-about__content section h2 { font-size: 1rem; margin: 0 0 0.55rem; }
.learner-about__content section p { color: var(--color-text-muted); font-size: 0.8rem; line-height: 1.7; margin: 0; }
.learner-about__facts { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit,minmax(10rem,1fr)); margin: 1.3rem 0; }
.learner-about__facts > div { background: var(--workspace-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; display: grid; gap: 0.25rem; padding: 0.85rem; }
.learner-about__facts dt { color: var(--color-text-muted); font-size: 0.64rem; font-weight: 750; text-transform: uppercase; }
.learner-about__facts dd { font-size: 0.82rem; font-weight: 700; margin: 0; }
.course-rich-description { color: var(--color-text-muted); font-size: 0.82rem; line-height: 1.7; white-space: pre-line; }
.course-rich-description > :first-child { margin-top: 0; }
.course-rich-description > :last-child { margin-bottom: 0; }
.course-rich-description li + li { margin-top: 0.35rem; }
.course-rich-description a { color: var(--color-action-primary); }
.preserve-lines { white-space: pre-line; }

.student-home { margin: 0 auto; max-width: 92rem; padding: clamp(1.25rem,3vw,2.5rem); }
.student-home__welcome { align-items: end; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: 1.5rem; justify-content: space-between; padding-bottom: 1.15rem; }
.student-home__welcome h1 { font-size: clamp(1.8rem,3.5vw,2.8rem); letter-spacing: -0.05em; margin: 0.2rem 0; }
.student-home__welcome p:last-child { color: var(--color-text-muted); margin: 0; }
.student-home__lead-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0,2fr) minmax(15rem,0.72fr); margin-top: 1.25rem; }
.student-home__continue { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 1rem; display: grid; grid-template-rows: auto 1fr; min-height: 18rem; overflow: hidden; }
.student-home__continue-cover { align-items: center; aspect-ratio: 16/6; background: linear-gradient(145deg,color-mix(in srgb,var(--color-action-primary) 78%,#102039),color-mix(in srgb,var(--color-action-secondary) 55%,#15283f)); color: white; display: flex; font-size: 3rem; font-weight: 850; justify-content: center; }
.student-home__continue-cover img { display: block; height: 100%; object-fit: contain; width: 100%; }
.student-home__continue-body { align-content: center; display: grid; gap: 0.7rem; padding: clamp(1.25rem,3vw,2rem); }
.student-home__continue-body h2,.student-home__section h2 { font-size: clamp(1.35rem,2.4vw,2rem); letter-spacing: -0.04em; margin: 0; }
.student-home__continue-body > p:not(.overline) { color: var(--color-text-muted); line-height: 1.6; margin: 0; }
.student-home__continue-body .button { justify-self: start; margin-top: 0.25rem; }
.student-home__progress { align-items: center; color: var(--color-text-muted); display: grid; font-size: 0.72rem; font-weight: 700; gap: 0.45rem; grid-template-columns: minmax(0,1fr) auto; }
.student-home__progress progress { width: 100%; }
.student-home__continue--empty { align-items: center; display: flex; padding: clamp(1.5rem,4vw,3rem); }
.student-home__continue--empty h2 { margin: 0.25rem 0; }
.student-home__continue--empty p { color: var(--color-text-muted); margin: 0 0 1rem; }
.student-home__summary { background: var(--workspace-text); border-radius: 1rem; color: var(--color-surface); display: grid; padding: 0.55rem 1.2rem; }
.student-home__summary > div { border-bottom: 1px solid rgb(255 255 255 / 14%); padding: 0.9rem 0; }
.student-home__summary span { font-size: 1.55rem; font-weight: 800; }
.student-home__summary p { color: rgb(255 255 255 / 68%); font-size: 0.7rem; margin: 0.12rem 0 0; }
.student-home__summary > a { align-self: center; color: white; font-size: 0.75rem; font-weight: 750; padding-block: 0.75rem; text-decoration: none; }
.student-home__section { margin-top: 2rem; }
.student-home__section > header { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 0.9rem; }
.student-home__section > header a { color: var(--color-action-primary); font-size: 0.74rem; font-weight: 750; }
.student-home__discover-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.student-home__discover-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.85rem; display: grid; grid-template-columns: 8.5rem minmax(0,1fr); min-width: 0; overflow: hidden; }
.student-home__discover-cover { align-items: center; background: var(--workspace-surface); color: var(--color-action-primary); display: flex; font-size: 1.5rem; font-weight: 850; justify-content: center; min-height: 9rem; }
.student-home__discover-cover img { height: 100%; object-fit: contain; width: 100%; }
.student-home__discover-card > div { display: grid; gap: 0.3rem; padding: 0.9rem; }
.student-home__discover-card h3 { font-size: 0.9rem; margin: 0; }
.student-home__discover-card h3 a { color: var(--color-text-primary); text-decoration: none; }
.student-home__discover-card p { color: var(--color-text-muted); display: -webkit-box; font-size: 0.7rem; line-height: 1.45; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.student-home__discover-card small { align-self: end; color: var(--color-text-muted); font-size: 0.62rem; }
.student-home__tools { border-top: 1px solid var(--color-border-subtle); padding-top: 1.5rem; }
.student-home__tool-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit,minmax(13rem,1fr)); }
.student-home__tool-grid a { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.75rem; display: grid; gap: 0.25rem; padding: 1rem; text-decoration: none; }
.student-home__tool-grid a:hover { border-color: var(--color-action-primary); }
.student-home__tool-grid strong { color: var(--color-text-primary); }
.student-home__tool-grid span { color: var(--color-text-muted); font-size: 0.7rem; }

@media (max-width: 1050px) {
  .authoring-canvas { grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr); }
  .authoring-canvas.is-inspector-collapsed:not(.authoring-canvas--preview),
  .authoring-canvas.is-outline-collapsed.is-inspector-collapsed:not(.authoring-canvas--preview) { grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr); }
  .course-outline__resizer { display: none; }
  .unit-inspector { border-left: 0; border-top: 1px solid var(--color-border-subtle); grid-column: 1 / -1; }
  .unit-inspector.is-collapsed { min-height: 3.5rem; }
  .unit-inspector dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .participants-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .authoring-canvas, .authoring-canvas.is-outline-collapsed,
  .authoring-canvas.is-inspector-collapsed:not(.authoring-canvas--preview),
  .authoring-canvas.is-outline-collapsed.is-inspector-collapsed:not(.authoring-canvas--preview),
  .admin-settings { grid-template-columns: 1fr; }
  .course-outline { border-bottom: 1px solid var(--color-border-subtle); border-right: 0; }
  .course-outline .studio-unit-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .material-workspace { min-height: 28rem; }
  .terminology-grid { grid-template-columns: 1fr; }
  .admin-card-grid { grid-template-columns: 1fr; }
  .admin-center__heading, .admin-center__section-heading { align-items: stretch; flex-direction: column; gap: 0.65rem; }
  .admin-center__section-heading > p { text-align: left; }
  .material-list > li { align-items: stretch; grid-template-columns: 1fr; }
  .element-actions { justify-content: flex-end; }
  .content-palette__label { flex-basis: 100%; }
  .participants-heading, .participants-summary { align-items: stretch; flex-direction: column; }
  .learner-shell { grid-template-columns: 1fr; }
  .learner-course-page { overflow: auto; }
  .learner-workbench { height: auto; min-height: 100vh; overflow: visible; }
  .learner-workbench__content, .learner-course, .learner-shell { height: auto; overflow: visible; }
  .learner-course-surface { height: auto; }
  .learner-topbar { padding-inline: 0.75rem; }
  .learner-topbar__divider--course { display: none; }
  .learner-topbar__course-nav { gap: 0.75rem; }
  .learner-topbar__course-nav a { font-size: 0.66rem; }
  .learner-topbar__back span { font-size: 0; }
  .learner-topbar__back span::after { content: "Cursos"; font-size: 0.75rem; }
  .learner-outline { border-bottom: 1px solid var(--color-border-subtle); border-right: 0; height: auto; max-height: 45vh; position: static; }
  .learner-reader, .learner-results, .learner-about { height: auto; min-height: 55vh; overflow: visible; }
  .learner-about__intro { align-items: start; grid-template-columns: 1fr; }
  .learner-about__cover { max-height: 17rem; }
  .learner-result-metrics { grid-template-columns: 1fr; }
  .learner-evaluation-list li { grid-template-columns: auto minmax(0,1fr) auto; }
  .learner-evaluation-list li .button { grid-column: 2 / -1; justify-self: start; }
  .student-home__lead-grid, .student-home__discover-grid { grid-template-columns: 1fr; }
  .student-home__continue { grid-template-columns: 1fr; }
  .student-home__continue-cover { aspect-ratio: 16 / 6; }
  .student-home__welcome { align-items: flex-start; flex-direction: column; }
  .member-search__controls { grid-template-columns: 1fr; }
  .member-results li, .participant-list li { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
  .member-results li > :last-child, .participant-list li > :last-child { grid-column: 2; justify-self: start; }
  .team-assignment { align-items: stretch; flex-direction: column; width: 100%; }
  .participant-list--invitations li { grid-template-columns: auto minmax(0, 1fr) auto; }
  .participant-list--invitations .invitation-menu { grid-column: 3; justify-self: end; }
  .structure-order-dialog, .structure-order-dialog .ui-dialog__surface { width: calc(100vw - 1rem); }
  .structure-order-section__heading { grid-template-columns: minmax(0, 1fr) auto; }
  .structure-order-grip { display: none; }
}
@media (max-width: 560px) {
  .participants-search-dialog__body { min-height: 22rem; padding: 1rem 1rem 1.5rem; }
  .participants-search-dialog .member-search__controls { grid-template-columns: 1fr; }
  .participants-search-dialog .member-search__submit { width: 100%; }
}
.instructor-view-banner {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem 1.25rem;
    border-bottom: 1px solid var(--color-border);
    background: color-mix(in srgb, var(--color-action-primary) 7%, var(--color-surface));
    color: var(--color-text-muted);
}

/* Shared course discovery and learning cards. */
.catalog-hero--compact { padding: 1.25rem 0; }
.catalog-hero--compact > .ui-container { align-items: end; display: grid; gap: 1.25rem 2rem; grid-template-columns: minmax(0,1fr) minmax(20rem,.72fr); }
.catalog-hero--compact h1 { font-size: clamp(1.7rem,3vw,2.55rem); line-height: 1.05; margin: .2rem 0; max-width: none; }
.catalog-hero--compact p { font-size: .82rem; margin: .35rem 0 0; }
.catalog-hero--compact .catalog-search { align-items: center; margin: 0; max-width: none; }
.catalog-search__field { flex: 1; min-width: 0; position: relative; }
.catalog-search__field input { appearance: none; background: var(--color-surface); border: 1px solid color-mix(in srgb,var(--color-action-primary) 22%,var(--color-border)); border-radius: 999px; box-shadow: 0 8px 24px rgba(25,38,64,.08); box-sizing: border-box; color: var(--color-text-primary); font: inherit; min-height: 3.25rem; padding: .75rem 3rem .75rem 3.1rem; transition: border-color .16s ease,box-shadow .16s ease; width: 100%; }
.catalog-search__field input::placeholder { color: var(--color-text-muted); opacity: .9; }
.catalog-search__field input::-webkit-search-cancel-button { appearance: none; }
.catalog-search__field input:hover { border-color: color-mix(in srgb,var(--color-action-primary) 52%,var(--color-border)); }
.catalog-search__field input:focus { border-color: var(--color-action-primary); box-shadow: 0 0 0 4px color-mix(in srgb,var(--color-action-primary) 16%,transparent),0 10px 28px rgba(25,38,64,.11); outline: 0; }
.catalog-search__icon { fill: none; height: 1.25rem; left: 1.15rem; pointer-events: none; position: absolute; stroke: var(--color-action-primary); stroke-linecap: round; stroke-width: 1.8; top: 50%; transform: translateY(-50%); width: 1.25rem; z-index: 1; }
.catalog-search__clear { align-items: center; background: transparent; border: 0; border-radius: 50%; color: var(--color-text-muted); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; position: absolute; right: .7rem; top: 50%; transform: translateY(-50%); width: 2rem; z-index: 1; }
.catalog-search__clear svg { fill: none; height: 1rem; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; width: 1rem; }
.catalog-search__clear[hidden] { display: none; }
.catalog-search__clear:hover { background: var(--color-surface-muted); color: var(--color-text-primary); }
.catalog-search__submit { flex: 0 0 auto; min-height: 3.25rem; padding-inline: 1.35rem; }
.catalog-results { padding-block: 1.5rem 4rem; }
.catalog-results > header { margin-bottom: .9rem; }
.catalog-pagination { align-items: center; display: flex; gap: 1rem; justify-content: center; margin-top: 1.25rem; }
.catalog-pagination span { color: var(--color-text-muted); font-size: .75rem; }

.course-tile-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; margin: 1rem 0 0; padding: 0; }
.course-tile-grid--single { grid-template-columns: minmax(0,1fr); }
.course-tile-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.course-tile-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.course-tile { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); box-shadow: var(--shadow-card); display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; }
.course-tile__cover { align-items: center; aspect-ratio: 16/8.5; background: linear-gradient(135deg,color-mix(in srgb,var(--color-action-primary) 88%,#112c51),color-mix(in srgb,var(--color-action-secondary) 72%,#142938)); color: white; display: flex; font-size: 1.5rem; font-weight: 850; justify-content: center; min-width: 0; overflow: hidden; text-decoration: none; }
.course-tile__cover img { display: block; height: 100%; max-width: 100%; min-width: 0; object-fit: contain; width: 100%; }
.course-tile__body { align-content: start; display: grid; gap: .42rem; min-width: 0; padding: .85rem; }
.course-tile__body h2 { display: -webkit-box; font-size: .96rem; line-height: 1.35; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.course-tile__body h2 a { color: inherit; text-decoration: none; }
.course-tile__description { color: var(--color-text-muted); display: -webkit-box; font-size: .74rem; line-height: 1.45; margin: 0; min-height: 3.15em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.course-tile__body small { color: var(--color-text-muted); font-size: .64rem; }
.course-tile__status { align-items: center; display: flex; gap: .5rem; justify-content: space-between; }
.course-tile__progress { align-items: center; display: grid; gap: .5rem; grid-template-columns: minmax(0,1fr) auto; }
.course-tile__progress progress { width: 100%; }
.course-tile__progress span { font-size: .7rem; font-weight: 750; }
.course-tile__body .button { justify-self: start; margin-top: .15rem; }
.course-tile__meta { display: flex; flex-wrap: wrap; gap: .3rem; }
.course-tile__meta span { background: var(--color-surface-muted); border: 1px solid var(--color-border-subtle); border-radius: 999px; font-size: .65rem; font-weight: 650; padding: .16rem .45rem; }
.course-tile__availability { color: var(--color-action-primary); font-size: .74rem; }
.course-tile__commercial { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem .65rem; justify-content: space-between; margin-top: .15rem; }
.course-price { color: var(--color-text-primary); font-size: .88rem; }
.public-course-price { align-items: center; background: rgb(255 255 255/.16); border: 1px solid rgb(255 255 255/.2); border-radius: 999px; display: inline-flex; font-size: .82rem; min-height: 1.8rem; padding: .3rem .7rem; }
.public-course-enrollment__price { color: var(--color-action-primary); font-size: 1.35rem; }
.course-tile--featured { grid-template-columns: minmax(0,1fr) minmax(0,2fr); grid-template-rows: minmax(15rem,auto); }
.course-tile--featured .course-tile__cover { align-self: stretch; aspect-ratio: auto; height: 100%; max-width: 100%; min-height: 15rem; width: 100%; }
.course-tile--featured .course-tile__body { align-content: center; padding: clamp(1.2rem,3vw,2rem); }
.course-tile--featured .course-tile__body h2 { font-size: clamp(1.25rem,2.3vw,1.8rem); -webkit-line-clamp: 3; }
.course-tile--featured .course-tile__description { font-size: .82rem; min-height: 0; -webkit-line-clamp: 3; }

.learning-stats { display: grid; gap: .75rem; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 1rem; }
.learning-stats > a,.learning-stats > span { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); display: grid; gap: .12rem; padding: .8rem 1rem; text-decoration: none; }
.learning-stats strong { color: var(--color-text-primary); font-size: 1.35rem; line-height: 1; }
.learning-stats span span { color: var(--color-text-muted); font-size: .68rem; }
.student-home__section { margin-top: 1.5rem; }
.student-home__section--finished { opacity: .9; }
.student-home__explore { align-items: center; background: color-mix(in srgb,var(--color-action-primary) 7%,var(--color-surface)); border: 1px solid color-mix(in srgb,var(--color-action-primary) 24%,var(--color-border)); border-radius: var(--radius-card); display: flex; gap: 2rem; justify-content: space-between; margin-top: 1rem; padding: clamp(1.2rem,3vw,2rem); }
.student-home__explore h2 { margin: .2rem 0; }
.student-home__explore p:last-child { color: var(--color-text-muted); margin: 0; }

@media (max-width: 1100px) {
  .course-tile-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .course-tile-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .course-tile-grid--single { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .catalog-hero--compact > .ui-container { align-items: stretch; grid-template-columns: 1fr; }
  .course-tile-grid,.course-tile-grid--three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .course-tile-grid--single { grid-template-columns: 1fr; }
  .course-tile--featured { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .course-tile--featured .course-tile__cover { aspect-ratio: 16/7; height: auto; min-height: 0; }
  .learning-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .course-tile-grid,.course-tile-grid--two,.course-tile-grid--three { grid-template-columns: 1fr; }
  .catalog-search { flex-direction: row; }
  .catalog-search .button { flex: 0 0 auto; }
  .student-home__explore { align-items: stretch; flex-direction: column; gap: 1rem; }
  .student-home__explore .button { justify-content: center; }
}

.instructor-view-banner strong { color: var(--color-text-primary); }

.instructor-visibility-note {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .75rem 0 .35rem;
    color: var(--color-feedback-warning);
    font-size: .82rem;
}

.course-participants-page .learner-workbench__content {
    overflow-y: auto;
    overscroll-behavior: contain;
}

.execution-post-fields {
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(22rem, 1.8fr) minmax(14rem, 1fr);
}

.operation-tabs { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 0.9rem; display: flex; gap: 0.25rem; margin-bottom: 1rem; padding: 0.35rem; }
.operation-tabs__item { border-radius: 0.65rem; color: var(--color-text-muted); font-weight: 750; padding: 0.7rem 1rem; text-decoration: none; }
.operation-tabs__item:hover { background: var(--color-surface-subtle); color: var(--color-text); }
.operation-tabs__item.is-active { background: var(--color-primary-soft); color: var(--color-primary); }
.operation-supplements > form { display: grid; gap: 1rem; }
.operation-supplement-card { border-left: 0.3rem solid var(--color-primary); }
.operation-library { display: grid; gap: 1rem; }
.operation-library__header { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.operation-library__header h2 { margin: .25rem 0; }
.operation-library__header p { color: var(--color-text-muted); margin: 0; }
.operation-library__header .button { flex: 0 0 auto; width: auto; }
.operation-card-list { display: grid; gap: .85rem; }
.operation-card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-card); box-shadow: var(--shadow-card); display: grid; gap: .8rem; padding: 1.1rem 1.2rem; }
.operation-card--announcement { border-left: .3rem solid var(--color-feedback-information, var(--color-action-primary)); }
.operation-card--supplement { border-left: .3rem solid var(--color-action-primary); }
.operation-card h3 { font-size: 1.08rem; margin: 0; }
.operation-card__status,.operation-card__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.operation-card__status { justify-content: space-between; }
.operation-card__actions { border-top: 1px solid var(--color-border-subtle); padding-top: .8rem; }
.operation-card__actions .button,.operation-card__actions form { margin: 0; width: auto; }
.operation-card__pin,.operation-card__date { color: var(--color-text-muted); font-size: .78rem; font-weight: 700; }
.operation-card__meta { background: var(--color-surface-subtle); border-radius: var(--radius-control); display: grid; gap: .7rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: .75rem .85rem; }
.operation-card__meta div { min-width: 0; }
.operation-card__meta dt { color: var(--color-text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.operation-card__meta dd { margin: .18rem 0 0; overflow-wrap: anywhere; }
.operation-card__content { max-width: 70rem; overflow-wrap: anywhere; }
.operation-card__media { border-radius: var(--radius-control); display: block; max-height: 20rem; max-width: 100%; object-fit: contain; }
.status-badge.is-visible { background: color-mix(in srgb,var(--color-feedback-success) 16%,transparent); color: var(--color-feedback-success); }
.status-badge.is-scheduled { background: var(--color-primary-soft); color: var(--color-primary); }
.status-badge.is-ended,.status-badge.is-withdrawn { background: var(--color-surface-subtle); color: var(--color-text-muted); }
.operation-editor-dialog { max-width: min(62rem,calc(100vw - 2rem)); }
.operation-editor-dialog .ui-dialog__surface { width: min(62rem,calc(100vw - 2rem)); }
.operation-editor-form { overflow-x: hidden; }
.operation-editor-grid { display: grid; gap: 1rem; grid-template-columns: minmax(12rem,.75fr) minmax(0,1.25fr); }
.operation-editor-grid__title { grid-column: span 1; }
.operation-editor-grid__anchor { grid-column: 1 / -1; }
.operation-readonly-value { background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); min-height: 2.8rem; padding: .72rem .8rem; }
.operation-editor-section { border: 0; display: grid; gap: 1rem; margin: 0; padding: 0; }
.operation-editor-section + .operation-editor-section { border-top: 1px solid var(--color-border-subtle); margin-top: 1.25rem; padding-top: 1.25rem; }
.operation-editor-section header h3 { font-size: 1.05rem; margin: .2rem 0 0; }
.operation-editor-kind[hidden] { display: none; }
.supplement-type-tabs { background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: .8rem; display: grid; gap: .3rem; grid-template-columns: repeat(4,minmax(0,1fr)); padding: .3rem; }
.supplement-type-tab { align-items: center; background: transparent; border: 1px solid transparent; border-radius: .6rem; color: var(--color-text-muted); cursor: pointer; display: flex; font: inherit; font-weight: 750; gap: .45rem; justify-content: center; min-height: 2.75rem; padding: .55rem .75rem; }
.supplement-type-tab:hover { background: var(--color-surface); color: var(--color-text); }
.supplement-type-tab.is-active { background: var(--color-surface); border-color: var(--color-border); box-shadow: var(--shadow-control,0 1px 2px rgb(0 0 0 / .08)); color: var(--color-primary); }
.supplement-type-tab:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.supplement-type-panel { min-width: 0; }
.supplement-type-panel[hidden] { display: none; }
.execution-supplement-group { background: color-mix(in srgb, var(--color-primary-soft) 42%, var(--color-surface)); border: 1px solid color-mix(in srgb, var(--color-primary) 24%, var(--color-border-subtle)); border-left: 0.3rem solid var(--color-primary); border-radius: 0.9rem; margin: 1.25rem 0; overflow: hidden; }
.execution-supplement-group__heading { align-items: center; border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border-subtle)); display: flex; justify-content: space-between; padding: .8rem clamp(1rem, 2.3vw, 1.5rem); }
.execution-supplement { padding: clamp(1rem, 2.3vw, 1.5rem); }
.execution-supplement + .execution-supplement { border-top: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border-subtle)); }
.execution-supplement h2 { font-size: clamp(1.15rem, 2vw, 1.4rem); margin: 0 0 0.8rem; }
.execution-supplement__link { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 0.7rem; display: flex; font-weight: 750; justify-content: space-between; margin-top: 0.75rem; padding: 0.9rem 1rem; text-decoration: none; }
.execution-supplement__video, .execution-supplement__image { border-radius: 0.7rem; display: block; height: auto; max-height: 34rem; max-width: 100%; width: 100%; }
.execution-supplement figure { margin: 0; }
.execution-supplement figcaption { margin-top: 0.75rem; }
@media (max-width: 42rem) { .operation-tabs { align-items: stretch; flex-direction: column; } .operation-library__header { align-items: stretch; flex-direction: column; } .operation-card__meta,.operation-editor-grid { grid-template-columns: 1fr; } .supplement-type-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); } }

@media (max-width: 900px) {
    .execution-post-fields { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .course-participants-page .learner-workbench__content { overflow: visible; }
}

.execution-students-layout { display: grid; gap: 1rem; grid-template-columns: minmax(0,2.2fr) minmax(17rem,.75fr); align-items: start; }
.execution-students-main { min-width: 0; }
.execution-students-aside { display: grid; gap: 1rem; }
.execution-students-aside .participants-panel { padding: 1rem; }
.execution-students-aside .participants-panel__heading h2 { font-size: 1.05rem; }
.student-record-list { display: grid; gap: .7rem; }
.student-record { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-control); overflow: hidden; }
.student-record[open] { border-color: color-mix(in srgb,var(--color-action-primary) 50%,var(--color-border)); }
.student-record > summary { align-items: center; cursor: pointer; display: grid; gap: .85rem; grid-template-columns: auto minmax(0,1fr) auto auto; list-style: none; padding: 1rem; }
.student-record > summary::-webkit-details-marker { display: none; }
.student-record > summary > svg { fill: none; height: 1.1rem; stroke: currentColor; stroke-width: 2; transition: transform .16s; width: 1.1rem; }
.student-record[open] > summary > svg { transform: rotate(180deg); }
.student-record__identity { display: grid; min-width: 0; }
.student-record__identity strong,.student-record__identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.student-record__identity small,.student-record__metrics,.student-data-note,.student-assessments > p { color: var(--color-text-muted); }
.student-record__metrics { display: flex; gap: 1rem; font-size: .78rem; }
.student-record__metrics span { display: grid; text-align: right; }
.student-record__metrics strong { color: var(--color-text); font-size: .95rem; }
.student-record__body { background: var(--color-surface-subtle); border-top: 1px solid var(--color-border); padding: 1rem; }
.student-record__tabs { border-bottom: 1px solid var(--color-border); display: flex; gap: 1.1rem; margin: 0 0 1rem; }
.student-record__tabs button { background: transparent; border: 0; border-bottom: .18rem solid transparent; color: var(--color-text-muted); cursor: pointer; font: inherit; font-weight: 750; margin-bottom: -1px; padding: .65rem .15rem; }
.student-record__tabs button[aria-selected="true"] { border-bottom-color: var(--color-action-primary); color: var(--color-action-primary); }
.student-record__tabs button:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.student-record__panel[hidden] { display: none; }
.student-data-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
.student-data-grid div { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: .65rem; padding: .75rem; }
.student-data-grid dt { color: var(--color-text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.student-data-grid dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.student-data-note { margin: .9rem 0 0; }
.student-record .learner-result-metrics { margin-bottom: 1rem; max-width: none; }
.student-record .learner-result-card h3 { margin: 0; }
.student-assessments > h3 { margin-bottom: .2rem; }
.student-assessments > p { margin-top: 0; }
.student-assessment-row { background: var(--color-surface); }
.assignment-review { align-items: start; background: var(--color-surface); border-left: .2rem solid var(--color-action-primary); display: grid; gap: .9rem; grid-template-columns: minmax(12rem,.8fr) minmax(0,1.4fr); margin: -.45rem 0 .75rem 3.2rem; padding: 1rem; }
.assignment-review__files,.assignment-feedback { display: grid; gap: .35rem; }
.assignment-grade-form { display: grid; gap: .7rem; grid-template-columns: minmax(7rem,.4fr) minmax(12rem,1fr); }
.assignment-grade-form .button { align-self: end; justify-self: start; }
.assignment-feedback { grid-column: 1 / -1; }
.assignment-feedback p { margin: 0; }
@media(max-width:1050px){.execution-students-layout{grid-template-columns:1fr}.execution-students-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.execution-students-aside,.student-data-grid,.assignment-grade-form{grid-template-columns:1fr}.student-record > summary{grid-template-columns:auto minmax(0,1fr) auto}.student-record__metrics{display:none}.assignment-review{grid-template-columns:1fr;margin-left:0}.student-record__tabs{overflow-x:auto}.student-record__tabs button{white-space:nowrap}}
.instructor-team-panel { margin: 0 auto; max-width: 72rem; }
.instructor-team-list > li { grid-template-columns: auto minmax(0,1fr) auto auto; }

.learning-notes { background: var(--color-surface); height: 100%; overflow-y: auto; padding: clamp(1.25rem,3vw,2.5rem); }
.learning-notes__heading { align-items: end; border-bottom: 1px solid var(--color-border-subtle); display: grid; gap: .35rem 1rem; grid-template-columns: minmax(0,1fr) auto; margin: 0 auto 1.4rem; max-width: 68rem; padding-bottom: 1.2rem; }
.learning-notes__heading .overline,.learning-notes__heading h1,.learning-notes__heading p { grid-column: 1; margin: 0; }
.learning-notes__heading h1 { font-size: clamp(1.55rem,2.7vw,2.15rem); }
.learning-notes__heading p { color: var(--color-text-muted); font-size: .82rem; }
.learning-notes__heading .button { grid-column: 2; grid-row: 1 / 4; }
.learning-notes__empty { align-items: center; border: 1px dashed var(--color-border); border-radius: .9rem; display: flex; gap: 1rem; margin: 2rem auto; max-width: 68rem; padding: 1.4rem; }
.learning-notes__empty > span { align-items: center; background: var(--color-primary-soft); border-radius: .7rem; color: var(--color-action-primary); display: inline-flex; font-size: 1.35rem; height: 3rem; justify-content: center; width: 3rem; }
.learning-notes__empty p { color: var(--color-text-muted); margin: .25rem 0 0; }
.learning-note-groups { display: grid; gap: 1.5rem; margin: 0 auto; max-width: 68rem; }
.learning-note-section { display: grid; gap: 1rem; }
.learning-note-section > header { border-bottom: 1px solid var(--color-border-subtle); padding-bottom: .65rem; }
.learning-note-section h2,.learning-note-unit h3 { margin: 0; }
.learning-note-section h2 { font-size: 1.2rem; margin-top: .15rem; }
.learning-note-unit { display: grid; gap: .7rem; }
.learning-note-unit h3 { color: var(--color-text-muted); font-size: .82rem; }
.learning-note-list { display: grid; gap: .75rem; grid-template-columns: minmax(0,1fr); }
.learning-note-card { background: var(--workspace-surface); border: 1px solid var(--color-border-subtle); border-radius: .85rem; display: grid; gap: .9rem; padding: 1rem; }
.learning-note-card footer { align-items: center; border-top: 1px solid var(--color-border-subtle); display: flex; gap: .6rem; justify-content: space-between; padding-top: .55rem; }
.learning-note-card footer small { color: var(--color-text-muted); font-size: .66rem; line-height: 1.3; }
.learning-note-card__actions { align-items: center; display: flex; gap: .35rem; }
.learning-note-card__actions form { margin: 0; }
.learning-note-card__delete { align-items: center; background: transparent; border: 0; border-radius: .45rem; color: var(--color-text-muted); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; width: 2rem; }
.learning-note-card__delete:hover { background: color-mix(in srgb, var(--color-feedback-danger) 8%, var(--color-surface)); color: var(--color-feedback-danger); }
.learning-note-card__delete:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.learning-note-card__delete svg { fill: none; height: 1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1rem; }
.learning-note-dialog { max-width: min(54rem,calc(100vw - 2rem)); width: min(54rem,calc(100vw - 2rem)); }
.learning-note-dialog .ui-dialog__surface { width: 100%; }
.learning-note-location { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.learning-note-drawer { background: var(--workspace-surface); border-left: 1px solid var(--color-border-subtle); height: calc(100vh - 4rem); min-width: 0; overflow: hidden; padding: 0; position: sticky; top: 4rem; }
.learning-note-drawer[hidden] { display: none; }
.learning-note-drawer__heading { align-items: start; border-bottom: 1px solid var(--color-border-subtle); display: flex; gap: .75rem; justify-content: space-between; padding: 1rem; }
.learning-note-drawer__heading > div { display: grid; gap: .2rem; min-width: 0; }
.learning-note-drawer__heading small { color: var(--color-text-muted); font-size: .65rem; }
.learning-note-drawer__heading strong { font-size: .88rem; line-height: 1.35; }
.learning-note-drawer__heading-actions { align-items: center; display: flex !important; flex: 0 0 auto; gap: .35rem; grid-auto-flow: column; }
.learning-note-drawer__heading-actions svg { fill: none; height: 1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1rem; }
.learning-note-drawer__icon-button { align-items: center; background: transparent; border: 1px solid var(--color-border-subtle); border-radius: .55rem; color: var(--color-text-muted); cursor: pointer; display: inline-flex; height: 2.15rem; justify-content: center; padding: 0; transition: background-color .15s ease,color .15s ease,border-color .15s ease; width: 2.15rem; }
.learning-note-drawer__icon-button:hover { background: var(--color-primary-soft); border-color: var(--color-action-primary); color: var(--color-action-primary); }
.learning-note-drawer__icon-button:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.learning-note-drawer__reduce-icon { display: none; }
.learning-note-drawer__expand[aria-pressed="true"] .learning-note-drawer__expand-icon { display: none; }
.learning-note-drawer__expand[aria-pressed="true"] .learning-note-drawer__reduce-icon { display: block; }
.learning-note-drawer__body { display: grid; gap: 1.2rem; height: calc(100% - 4.5rem); overflow-y: auto; padding: 1rem; }
.learning-note-drawer form { display: grid; gap: .85rem; min-width: 0; }
.learning-note-drawer .rich-editor--profile .rich-editor__surface { min-height: 14rem; }
.learner-shell.is-notes-expanded .learning-note-compose .rich-editor--profile .rich-editor__surface { min-height: 24rem; }
.learning-note-drawer__actions { align-items: center; display: flex; gap: .75rem; justify-content: space-between; }
.learning-note-drawer__actions a { font-size: .72rem; font-weight: 750; }
.learning-note-drawer__saved { border-top: 1px solid var(--color-border-subtle); display: grid; gap: .75rem; padding-top: 1rem; }
.learning-note-drawer__saved > header { align-items: center; display: flex; justify-content: space-between; }
.learning-note-drawer__saved h2 { font-size: .95rem; margin: 0; }
.learning-note-drawer__saved > header span { background: var(--color-primary-soft); border-radius: 999px; color: var(--color-action-primary); font-size: .68rem; font-weight: 800; padding: .18rem .5rem; }
.learning-note-drawer__empty { color: var(--color-text-muted); font-size: .78rem; margin: 0; }
.learning-note-drawer__list { display: grid; gap: .75rem; }
.learning-note-drawer__card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: .75rem; display: grid; gap: .6rem; min-width: 0; padding: .8rem; }
.learning-note-drawer__card > small { color: var(--color-text-muted); font-size: .66rem; }
.learning-note-drawer__card details { border-top: 1px solid var(--color-border-subtle); padding-top: .55rem; }
.learning-note-drawer__card summary { color: var(--color-action-primary); cursor: pointer; font-size: .72rem; font-weight: 800; }
.learning-note-drawer__card details form { margin-top: .7rem; }
.learning-note-drawer__edit-actions { align-items: center; display: flex; gap: .5rem; justify-content: flex-end; }
@media(max-width:1050px){.learner-shell.is-notes-open{grid-template-columns:minmax(14.6rem,17.9rem) minmax(0,1fr) minmax(17rem,20rem)}.learner-shell.is-outline-collapsed.is-notes-open{grid-template-columns:3.5rem minmax(0,1fr) minmax(17rem,20rem)}.learner-shell.is-notes-expanded{grid-template-columns:3.5rem minmax(16rem,.75fr) minmax(28rem,1.25fr)}.learner-shell.is-notes-expanded .learner-outline{overflow:hidden;padding-inline:.7rem}.learner-shell.is-notes-expanded .learner-outline [data-ui-panel-content],.learner-shell.is-notes-expanded .learner-outline [data-ui-panel-heading]{display:none}}
@media(max-width:800px){.learning-note-list{grid-template-columns:1fr}.learner-shell.is-notes-open,.learner-shell.is-outline-collapsed.is-notes-open,.learner-shell.is-notes-expanded,.learner-shell.is-outline-collapsed.is-notes-expanded{grid-template-columns:1fr}.learning-note-drawer{border-left:1px solid var(--color-border-subtle);box-shadow:var(--shadow-dialog);height:calc(100vh - 4rem);position:fixed;right:0;top:4rem;width:min(100%,32rem);z-index:17}.learner-shell.is-notes-expanded .learning-note-drawer{width:100%}.learning-note-tab{bottom:1rem;border-radius:999px;right:.75rem;top:auto;transform:none;writing-mode:horizontal-tb}.learning-notes__heading{grid-template-columns:1fr}.learning-notes__heading .button{grid-column:1;grid-row:auto;justify-self:start}.learning-note-location{grid-template-columns:1fr}.learning-note-drawer__actions{align-items:stretch;flex-direction:column}.learning-note-drawer__actions .button{width:100%}}
.profile-shell { margin: 0 auto; max-width: 68rem; padding: clamp(1.5rem,4vw,3rem) 1rem 4rem; }
.profile-heading { margin-bottom: 1.2rem; max-width: 48rem; }
.profile-heading h1 { font-size: clamp(1.8rem,4vw,2.8rem); margin: .25rem 0 .5rem; }
.profile-heading p { color: var(--color-text-muted); margin: 0; }
.profile-tabs { gap: 1.25rem; }
.profile-tabs .ui-tablist { border-bottom: 1px solid var(--color-border-subtle); }
.profile-tabs .ui-tab { border-bottom: 2px solid transparent; color: var(--color-text-muted); font-weight: 750; }
.profile-tabs .ui-tab[aria-selected="true"] { border-bottom-color: var(--color-action-primary); color: var(--color-action-primary); }
.profile-tabs__panel { min-width: 0; }
.profile-form { overflow: hidden; padding: 0; }
.profile-form__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); padding: clamp(1.25rem,3vw,2rem); }
.profile-form__grid .form-field input { width: 100%; }
.profile-phone-field { display: grid; gap: .65rem; grid-template-columns: minmax(11rem,.9fr) minmax(10rem,1.1fr); min-width: 0; }
.profile-phone-field select,.profile-phone-field input { min-width: 0; width: 100%; }
.profile-consents { border: 0; border-top: 1px solid var(--color-border-subtle); display: grid; gap: .85rem; margin: 0; padding: clamp(1.25rem,3vw,2rem); }
.profile-consents legend { font-weight: 800; padding-top: 1.25rem; }
.profile-photo-note { border-top: 1px solid var(--color-border-subtle); padding: 1.25rem 2rem; }
.profile-photo-note p { color: var(--color-text-muted); margin: .3rem 0 0; }
.profile-form__actions { align-items: center; background: var(--color-surface-subtle); border-top: 1px solid var(--color-border-subtle); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 2rem; }
.profile-form__actions span { color: var(--color-text-muted); font-size: .72rem; }
@media(max-width:680px){.profile-form__grid{grid-template-columns:1fr}.profile-phone-field{grid-template-columns:1fr}.profile-form__actions{align-items:stretch;flex-direction:column}.profile-form__actions .button{width:100%}}

.profile-configuration-pending-page .app-workbench__content { align-items: center; display: flex; justify-content: center; }
.profile-configuration-pending { box-sizing: border-box; display: grid; min-height: calc(100vh - 5.25rem); padding: clamp(1.5rem,5vw,4.5rem); place-items: center; width: 100%; }
.profile-configuration-pending__card { background: var(--color-surface); border: 1px solid var(--color-border-subtle); border-radius: 1.25rem; box-shadow: 0 1.25rem 3.5rem rgb(15 23 42 / .08); display: grid; gap: 1.5rem; max-width: 43rem; padding: clamp(1.5rem,5vw,3.25rem); width: 100%; }
.profile-configuration-pending__icon { align-items: center; background: var(--color-primary-soft); border-radius: 1rem; color: var(--color-action-primary); display: flex; height: 4rem; justify-content: center; width: 4rem; }
.profile-configuration-pending__icon svg { fill: none; height: 2rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 2rem; }
.profile-configuration-pending__copy { display: grid; gap: .65rem; }
.profile-configuration-pending__copy .overline,.profile-configuration-pending__copy h1,.profile-configuration-pending__copy p { margin: 0; }
.profile-configuration-pending__copy h1 { font-size: clamp(1.8rem,4vw,2.75rem); line-height: 1.08; max-width: 16ch; }
.profile-configuration-pending__copy p { color: var(--color-text-muted); font-size: 1.02rem; line-height: 1.65; max-width: 58ch; }
.profile-configuration-pending__note { align-items: start; background: var(--color-surface-subtle); border: 1px solid var(--color-border-subtle); border-radius: .85rem; display: grid; gap: .8rem; grid-template-columns: auto minmax(0,1fr); padding: 1rem; }
.profile-configuration-pending__note > span { align-items: center; background: var(--color-action-primary); border-radius: 50%; color: white; display: inline-flex; font-size: .75rem; font-weight: 800; height: 1.5rem; justify-content: center; width: 1.5rem; }
.profile-configuration-pending__note p { color: var(--color-text-muted); line-height: 1.5; margin: 0; }
.profile-configuration-pending__note strong { color: var(--color-text); }
.profile-configuration-pending__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.profile-configuration-pending__actions form { margin: 0; }
@media(max-width:560px){.profile-configuration-pending{align-items:start;min-height:auto;padding:1rem}.profile-configuration-pending__card{border-radius:1rem;padding:1.35rem}.profile-configuration-pending__actions,.profile-configuration-pending__actions form,.profile-configuration-pending__actions .button{width:100%}}

/* Tenant institutional identity: catalog-backed tokens only; no inline styles. */
.tenant-brand-primary--blue{--tenant-brand-primary:#2864dc}.tenant-brand-primary--navy{--tenant-brand-primary:#172334}.tenant-brand-primary--teal{--tenant-brand-primary:#087f8c}.tenant-brand-primary--green{--tenant-brand-primary:#287a4b}.tenant-brand-primary--violet{--tenant-brand-primary:#6d4bc3}.tenant-brand-primary--rose{--tenant-brand-primary:#b33b63}.tenant-brand-primary--amber{--tenant-brand-primary:#a75d00}.tenant-brand-primary--slate{--tenant-brand-primary:#526071}
.tenant-brand-secondary--blue{--tenant-brand-secondary:#2864dc}.tenant-brand-secondary--navy{--tenant-brand-secondary:#172334}.tenant-brand-secondary--teal{--tenant-brand-secondary:#087f8c}.tenant-brand-secondary--green{--tenant-brand-secondary:#287a4b}.tenant-brand-secondary--violet{--tenant-brand-secondary:#6d4bc3}.tenant-brand-secondary--rose{--tenant-brand-secondary:#b33b63}.tenant-brand-secondary--amber{--tenant-brand-secondary:#a75d00}.tenant-brand-secondary--slate{--tenant-brand-secondary:#526071}
.tenant-brand-tertiary--blue{--tenant-brand-tertiary:#2864dc}.tenant-brand-tertiary--navy{--tenant-brand-tertiary:#172334}.tenant-brand-tertiary--teal{--tenant-brand-tertiary:#087f8c}.tenant-brand-tertiary--green{--tenant-brand-tertiary:#287a4b}.tenant-brand-tertiary--violet{--tenant-brand-tertiary:#6d4bc3}.tenant-brand-tertiary--rose{--tenant-brand-tertiary:#b33b63}.tenant-brand-tertiary--amber{--tenant-brand-tertiary:#a75d00}.tenant-brand-tertiary--slate{--tenant-brand-tertiary:#526071}
[data-tenant-brand]{--color-action-primary:var(--tenant-brand-primary);--color-action-primary-hover:var(--tenant-brand-tertiary);--workspace-action:var(--tenant-brand-primary);--workspace-action-hover:var(--tenant-brand-tertiary);--workspace-rail:var(--tenant-brand-secondary)}

/* Commercial integrations workspace */
@media(max-width:640px){.commerce-tabs>.ui-tab-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.commerce-tabs .ui-tab{white-space:normal;width:100%}}
.commerce-page .workspace-shell{max-width:82rem}.commerce-heading,.commerce-workspace-header,.commerce-section-heading,.commerce-progress__heading{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between}.commerce-heading .button-row{flex-wrap:wrap;justify-content:flex-end}.commerce-list-heading{align-items:end;margin:2rem 0 1rem}.commerce-list-heading h2{margin:.25rem 0 0}.commerce-list-heading p{color:var(--color-text-muted);margin:0}.commerce-empty{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-action-primary) 8%,var(--color-surface-raised)),var(--color-surface-raised));border:1px solid color-mix(in srgb,var(--color-action-primary) 20%,var(--color-border-subtle));border-radius:1rem;display:grid;gap:1.5rem;grid-template-columns:auto minmax(0,38rem);justify-content:center;margin-top:2rem;padding:clamp(2rem,7vw,5rem)}.commerce-empty__icon,.commerce-provider-mark,.commerce-activity-icon{align-items:center;background:color-mix(in srgb,var(--color-action-primary) 11%,var(--color-surface));border-radius:.75rem;color:var(--color-action-primary);display:inline-flex;font-weight:850;justify-content:center}.commerce-empty__icon{font-size:1.7rem;height:3.5rem;width:3.5rem}.commerce-empty h2{font-size:clamp(1.75rem,4vw,2.75rem);margin:.35rem 0}.commerce-empty p{color:var(--color-text-muted);line-height:1.65;margin:0 0 1.25rem}.commerce-choice{border:1px solid var(--color-border-subtle);border-radius:.75rem;display:grid;gap:.25rem;padding:1rem}.commerce-choice.is-selected{background:color-mix(in srgb,var(--color-action-primary) 7%,var(--color-surface));border-color:color-mix(in srgb,var(--color-action-primary) 32%,var(--color-border))}.commerce-choice span{color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.commerce-integration-list{display:grid;gap:.75rem}.commerce-integration-row{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:.85rem;display:grid;gap:1rem;grid-template-columns:auto minmax(0,1fr) minmax(11rem,auto) auto;padding:1rem 1.1rem}.commerce-provider-mark{font-size:.7rem;height:2.75rem;width:2.75rem}.commerce-integration-row h3{font-size:1.08rem;margin:.2rem 0}.commerce-integration-row p,.commerce-integration-row small{color:var(--color-text-muted);font-size:.78rem;margin:0}.commerce-integration-row__facts{align-items:flex-end;display:grid;gap:.35rem;justify-items:end}.commerce-breadcrumb{align-items:center;color:var(--color-text-muted);display:flex;font-size:.82rem;gap:.5rem;margin-bottom:1.25rem}.commerce-breadcrumb a{font-weight:750}.commerce-workspace-header{border-bottom:1px solid var(--color-border-subtle);padding-bottom:1.5rem}.commerce-workspace-header h1{font-size:clamp(2rem,5vw,3.5rem);margin:.25rem 0}.commerce-workspace-header p{color:var(--color-text-muted);margin:0}.commerce-workspace-header__state{align-items:flex-end;display:grid;gap:.5rem;justify-items:end;white-space:nowrap}.commerce-workspace-header__state strong{font-size:.82rem}.commerce-progress{background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:1rem;margin:1.25rem 0;padding:1.1rem}.commerce-progress h2{font-size:1.15rem;margin:.2rem 0 0}.commerce-progress progress{accent-color:var(--color-action-primary);height:.55rem;max-width:18rem;width:100%}.commerce-steps{display:grid;gap:.45rem;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:1rem 0 0;padding:0}.commerce-steps li{align-items:center;border-radius:.65rem;display:flex;gap:.65rem;min-width:0;padding:.65rem}.commerce-steps li>span{align-items:center;border:1px solid var(--color-border-subtle);border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:850;height:1.8rem;justify-content:center;width:1.8rem}.commerce-steps li div{display:grid;min-width:0}.commerce-steps strong,.commerce-steps small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commerce-steps strong{font-size:.77rem}.commerce-steps small{color:var(--color-text-muted);font-size:.68rem}.commerce-steps .is-complete{background:color-mix(in srgb,var(--color-feedback-success) 8%,transparent)}.commerce-steps .is-complete>span{background:var(--color-feedback-success);border-color:var(--color-feedback-success);color:#fff}.commerce-tabs{margin-top:1rem}.commerce-tabs>.ui-tab-list{position:sticky;top:0;z-index:4}.commerce-panel{background:var(--color-surface-raised);border:1px solid var(--color-border-subtle);border-radius:0 0 1rem 1rem;padding:clamp(1.15rem,3vw,2rem)}.commerce-panel h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:.25rem 0}.commerce-panel>p,.commerce-panel-grid>div>p,.commerce-section-heading p{color:var(--color-text-muted);line-height:1.55}.commerce-panel-grid,.commerce-connection-grid,.commerce-dev-docs{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr)}.commerce-facts{display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0}.commerce-facts>div{border-top:1px solid var(--color-border-subtle);display:grid;gap:.25rem;padding:.85rem}.commerce-facts dt{color:var(--color-text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.commerce-facts dd{font-size:.88rem;font-weight:700;margin:0;overflow-wrap:anywhere}.commerce-next-action,.commerce-verification{align-self:start;background:color-mix(in srgb,var(--color-action-primary) 6%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-action-primary) 18%,var(--color-border-subtle));border-radius:.85rem;padding:1.15rem}.commerce-next-action h3,.commerce-verification h3{margin:.65rem 0 .35rem}.commerce-next-action p,.commerce-verification p{color:var(--color-text-muted);font-size:.83rem;line-height:1.5}.commerce-general-actions{align-items:flex-start;border-top:1px solid var(--color-border-subtle);display:flex;gap:.75rem;justify-content:space-between;padding-top:1rem}.commerce-inline-form{min-width:min(25rem,70vw);padding-top:.75rem}.commerce-secret{background:color-mix(in srgb,var(--color-feedback-warning) 8%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-feedback-warning) 32%,var(--color-border));border-radius:.85rem;display:grid;gap:1rem;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);margin:1rem 0;padding:1rem}.commerce-secret h3{margin:.25rem 0}.commerce-secret p{color:var(--color-text-muted);font-size:.82rem}.commerce-secret dl{display:grid;gap:.75rem;margin:0}.commerce-secret dl>div{display:grid;gap:.25rem}.commerce-secret dt{font-size:.7rem;font-weight:800;text-transform:uppercase}.commerce-secret dd{align-items:center;display:flex;gap:.5rem;margin:0;min-width:0}.commerce-secret code,.commerce-endpoint{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:.45rem;display:block;font-size:.75rem;overflow:auto;padding:.55rem}.commerce-secret dd code{flex:1}.commerce-record-list{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.commerce-record-list li{align-items:center;border-top:1px solid var(--color-border-subtle);display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.8rem 0}.commerce-record-list li>div{display:grid;gap:.2rem;min-width:0}.commerce-record-list code{overflow-wrap:anywhere}.commerce-record-list small{color:var(--color-text-muted)}.commerce-subempty{background:var(--color-surface-soft);border-radius:.85rem;padding:2rem;text-align:center}.commerce-product-table{display:grid;margin-top:1rem}.commerce-product-table__head,.commerce-product-table__row{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:grid;gap:.75rem;grid-template-columns:minmax(9rem,1fr) minmax(12rem,1.5fr) minmax(7rem,.7fr) auto auto;padding:.8rem}.commerce-product-table__head{color:var(--color-text-muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.commerce-product-table__row>span{font-size:.82rem}.commerce-product-table__row small{color:var(--color-text-muted);display:block}.commerce-product-edit{background:var(--color-surface-soft);border-radius:.75rem;grid-column:1/-1;margin-top:.65rem;padding:1rem}.commerce-activity-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0}.commerce-activity-grid article{align-items:start;border:1px solid var(--color-border-subtle);border-radius:.85rem;display:flex;gap:.75rem;padding:1rem}.commerce-activity-icon{flex:0 0 auto;height:2rem;width:2rem}.commerce-activity-grid p{color:var(--color-text-muted);font-size:.82rem;margin:.35rem 0}.commerce-guide{counter-reset:commerce-guide;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:1.25rem 0 2rem;padding:0}.commerce-guide li{border:1px solid var(--color-border-subtle);border-radius:.75rem;display:grid;gap:.25rem;padding:.9rem .9rem .9rem 3.2rem;position:relative}.commerce-guide li:before{align-items:center;background:color-mix(in srgb,var(--color-action-primary) 10%,var(--color-surface));border-radius:50%;color:var(--color-action-primary);content:counter(commerce-guide);counter-increment:commerce-guide;display:flex;font-size:.75rem;font-weight:850;height:1.8rem;justify-content:center;left:.8rem;position:absolute;top:.8rem;width:1.8rem}.commerce-guide span{color:var(--color-text-muted);font-size:.8rem}.commerce-dev-docs{border-top:1px solid var(--color-border-subtle);padding-top:1.5rem}.commerce-doc-link{align-items:center;border-top:1px solid var(--color-border-subtle);display:flex;font-weight:750;justify-content:space-between;padding:.7rem 0;text-decoration:none}.commerce-doc-link span{color:var(--color-action-primary);font-size:.75rem}.commerce-errors{margin-top:1.5rem}.commerce-errors dl>div{display:grid;gap:1rem;grid-template-columns:6rem 1fr;padding:.6rem 0}.commerce-errors dt{font-weight:850}.commerce-errors dd{color:var(--color-text-muted);margin:0}.commerce-danger-zone{display:flex;justify-content:flex-end;margin-top:1.25rem}.commerce-product-dialog{max-width:min(42rem,calc(100vw - 2rem))}
@media(max-width:900px){.commerce-integration-row{grid-template-columns:auto minmax(0,1fr) auto}.commerce-integration-row__facts{align-items:start;grid-column:2;justify-items:start}.commerce-integration-row>a{grid-column:3;grid-row:1/3}.commerce-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-panel-grid,.commerce-connection-grid,.commerce-dev-docs{grid-template-columns:1fr}.commerce-product-table__head{display:none}.commerce-product-table__row{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-product-table__row details{justify-self:end}.commerce-product-edit{grid-column:1/-1}.commerce-secret{grid-template-columns:1fr}}
@media(max-width:640px){.commerce-heading,.commerce-workspace-header,.commerce-section-heading,.commerce-progress__heading{display:grid}.commerce-heading .button-row{justify-content:start}.commerce-empty{grid-template-columns:1fr;padding:1.5rem}.commerce-list-heading{align-items:start;display:grid}.commerce-integration-row{grid-template-columns:auto minmax(0,1fr)}.commerce-integration-row__facts{grid-column:2}.commerce-integration-row>a{grid-column:1/-1;grid-row:auto;width:100%}.commerce-workspace-header__state{justify-items:start}.commerce-steps{grid-template-columns:1fr}.commerce-progress progress{max-width:none}.commerce-facts,.commerce-activity-grid,.commerce-guide{grid-template-columns:1fr}.commerce-general-actions{align-items:stretch;display:grid}.commerce-general-actions .button,.commerce-section-heading .button{width:100%}.commerce-secret dd{align-items:stretch;display:grid}.commerce-record-list li{grid-template-columns:minmax(0,1fr) auto}.commerce-record-list form{grid-column:1/-1}.commerce-product-table__row{grid-template-columns:1fr}.commerce-product-table__row details{justify-self:start}.commerce-tabs>.ui-tab-list{background:var(--color-surface-raised)}.commerce-panel{padding:1rem}.commerce-errors dl>div{grid-template-columns:1fr}.commerce-danger-zone .button{width:100%}}
.brand__mark img,.app-rail__brand img,.learner-topbar__brand img{height:100%;object-fit:contain;width:100%}
.brand__copy{max-width:min(22rem,45vw)}.brand__copy strong,.brand__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tenant-identity{margin:0 auto;max-width:72rem;padding:clamp(1.25rem,3vw,2.5rem)}
.tenant-identity__heading{align-items:start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}.tenant-identity__heading h1{font-size:clamp(2rem,4vw,3rem);margin:.3rem 0 .5rem}.tenant-identity__heading p{color:var(--color-text-muted);margin:0;max-width:58ch}
.tenant-identity__tabs{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:1rem;overflow:hidden}.tenant-identity__panel{padding:clamp(1.25rem,3vw,2rem)}
.tenant-identity__form{display:grid;gap:1.25rem}.tenant-identity__contact-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-identity__wide-field{grid-column:1/-1}.tenant-identity__form input,.tenant-identity__form textarea{box-sizing:border-box;width:100%}
.tenant-logo-editor{align-items:center;display:grid;gap:2rem;grid-template-columns:minmax(10rem,15rem) minmax(0,1fr)}.tenant-logo-editor__current{align-items:center;background:var(--tenant-brand-secondary);border:5px solid var(--tenant-brand-primary);border-radius:1.25rem;color:#fff;display:flex;font-size:4rem;font-weight:850;height:10rem;justify-content:center;overflow:hidden}.tenant-logo-editor__current img{height:100%;object-fit:contain;width:100%}.tenant-logo-editor__upload{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.tenant-logo-editor__upload input[type=file]{max-width:22rem}
.tenant-color-picker{border:0;margin:0;padding:0}.tenant-color-picker legend{font-size:1rem;font-weight:800}.tenant-color-picker>p{color:var(--color-text-muted);margin:.25rem 0 1rem}.tenant-color-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.tenant-color-option{align-items:center;border:1px solid var(--color-border-subtle);border-radius:.8rem;cursor:pointer;display:grid;gap:.15rem;grid-template-columns:auto 1fr;padding:.8rem}.tenant-color-option:has(input:checked){border-color:var(--color-action-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 20%,transparent)}.tenant-color-option input{grid-row:1/3}.tenant-color-option__swatch{background:var(--tenant-option-color);border-radius:50%;height:1.45rem;width:1.45rem}.tenant-color-option strong,.tenant-color-option small{grid-column:2}.tenant-color-option small{color:var(--color-text-muted)}
.tenant-color--blue{--tenant-option-color:#2864dc}.tenant-color--navy{--tenant-option-color:#172334}.tenant-color--teal{--tenant-option-color:#087f8c}.tenant-color--green{--tenant-option-color:#287a4b}.tenant-color--violet{--tenant-option-color:#6d4bc3}.tenant-color--rose{--tenant-option-color:#b33b63}.tenant-color--amber{--tenant-option-color:#a75d00}.tenant-color--slate{--tenant-option-color:#526071}
.tenant-brand-preview{border:1px solid var(--color-border-subtle);border-radius:1rem;box-shadow:0 1rem 2.5rem rgb(15 23 42/.09);overflow:hidden}.tenant-brand-preview>header{align-items:center;background:var(--tenant-brand-secondary);color:#fff;display:flex;gap:.8rem;padding:1rem 1.25rem}.tenant-brand-preview>header small{display:block;opacity:.75}.tenant-brand-preview__logo{align-items:center;background:#fff;border:3px solid var(--tenant-brand-primary);border-radius:.7rem;color:var(--tenant-brand-secondary);display:flex;font-size:1.3rem;font-weight:850;height:3rem;justify-content:center;overflow:hidden;width:3rem}.tenant-brand-preview__logo img{height:100%;object-fit:contain;width:100%}.tenant-brand-preview__body{padding:clamp(1.5rem,4vw,3rem)}.tenant-brand-preview__body h2{font-size:clamp(1.5rem,3vw,2.4rem);max-width:20ch}.tenant-brand-preview__body p{color:var(--color-text-muted);max-width:58ch}.tenant-brand-preview__action{background:var(--tenant-brand-primary);border:0;border-radius:.65rem;color:#fff;font:inherit;font-weight:800;padding:.75rem 1rem}.tenant-brand-preview__note{color:var(--color-text-muted);font-size:.8rem}.tenant-identity__reset{align-items:center;border:1px solid var(--color-border-subtle);border-radius:1rem;display:flex;gap:1.5rem;justify-content:space-between;margin-top:1.25rem;padding:1.25rem}.tenant-identity__reset h2,.tenant-identity__reset p{margin:.2rem 0}.tenant-identity__reset p{color:var(--color-text-muted)}
.tenant-brand-preview__action:hover{background:var(--tenant-brand-tertiary)}
@media(max-width:760px){.tenant-identity__heading,.tenant-identity__reset{align-items:stretch;flex-direction:column}.tenant-logo-editor{grid-template-columns:1fr}.tenant-logo-editor__current{max-width:15rem}.tenant-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-identity__contact-grid{grid-template-columns:1fr}.tenant-identity__wide-field{grid-column:auto}}
@media(max-width:440px){.tenant-color-grid{grid-template-columns:1fr}.tenant-logo-editor__upload{align-items:stretch;flex-direction:column}.tenant-logo-editor__upload .button{width:100%}}

.email-template-admin {
  display: grid;
  grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.email-template-admin__catalog,
.email-template-admin__workspace {
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
  padding: 1.5rem;
}

.email-template-admin__catalog {
  position: sticky;
  top: 1rem;
}

.email-template-admin__catalog nav {
  display: grid;
  gap: .5rem;
  margin: 1.25rem 0;
}

.email-template-admin__catalog nav a {
  display: grid;
  gap: .15rem;
  padding: .85rem;
  border: 1px solid var(--line);
  border-radius: .75rem;
  color: inherit;
  text-decoration: none;
}

.email-template-admin__catalog nav a[aria-current="page"] {
  border-color: var(--tenant-brand-primary, var(--accent));
  background: var(--accent-soft);
}

.email-template-admin__catalog nav span,
.email-template-admin__catalog nav small {
  color: var(--muted);
}

.email-template-variables__list {
  display: grid;
  gap: .75rem;
}

.email-template-variables__list article,
.email-template-reset {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1rem;
  border: 1px solid var(--line);
  border-radius: .75rem;
}

.email-template-variables__list article > div:first-child {
  display: grid;
  gap: .2rem;
}

.email-template-variables__list code {
  width: fit-content;
  color: var(--tenant-brand-primary, var(--accent));
}

.email-template-variables__actions,
.email-template-actions > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.email-template-reset {
  margin-top: 1rem;
}

.email-template-reset > div {
  display: grid;
  gap: .25rem;
}

.email-template-preview {
  margin-top: 1.5rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--surface);
}

.email-template-preview__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 4.5rem;
  padding: 1rem 1.5rem;
  border-bottom: .3rem solid var(--tenant-brand-secondary, #172334);
  background: var(--tenant-brand-primary, #2864dc);
  color: white;
}

.email-template-preview__brand img {
  max-width: 11rem;
  max-height: 3.5rem;
  object-fit: contain;
}

.email-template-preview__message,
.email-template-preview details {
  padding: 1.5rem;
}

.email-template-preview details {
  border-top: 1px solid var(--line);
}

.email-template-preview pre {
  margin: 1rem 0 0;
  white-space: pre-wrap;
  font: inherit;
}

@media (max-width: 800px) {
  .email-template-admin {
    grid-template-columns: 1fr;
  }

  .email-template-admin__catalog {
    position: static;
  }

  .email-template-variables__list article,
  .email-template-reset {
    align-items: stretch;
    flex-direction: column;
  }
}

/* External enrollment requests */
.enrollment-request-public{padding-block:clamp(1.5rem,5vw,4rem)}.enrollment-request-public__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);gap:clamp(1.5rem,5vw,4rem);align-items:start;margin-top:1.5rem}.enrollment-request-public__intro h1{font-size:clamp(2.15rem,3.6vw,3.25rem);line-height:1.05;margin:.3rem 0;text-wrap:balance}.enrollment-request-public__intro h2{margin:0 0 .8rem;color:var(--color-text-muted)}.enrollment-request-form{display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.enrollment-request-confirmation{display:grid;min-height:70vh;place-items:center;padding-block:2rem}.enrollment-request-confirmation>.ui-card{max-width:42rem;padding:clamp(1.5rem,4vw,3rem);text-align:center}.enrollment-request-confirmation .button{margin-top:1rem}.admin-filter-bar{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0}.admin-filter-bar .form-field{min-width:12rem}.enrollment-request-list{display:grid;gap:1rem}.enrollment-request-card{display:grid;gap:1rem}.enrollment-request-card__heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.enrollment-request-card__heading h2{margin:.2rem 0}.request-audit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0}.request-audit div{background:var(--color-surface-subtle);border-radius:.7rem;padding:.75rem}.request-audit dt{color:var(--color-text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.request-audit dd{margin:.25rem 0 0;font-weight:700}.enrollment-request-decision{border-top:1px solid var(--color-border);display:grid;gap:1rem;padding-top:1rem}.enrollment-request-decision .button-row{display:flex;flex-wrap:wrap;gap:.75rem}

.training-navigation { margin: 0 0 1.25rem; }
.training-navigation a,
.execution-directory__views a { border-radius: var(--radius-control) var(--radius-control) 0 0; color: var(--color-text-muted); font-size: .9rem; font-weight: 750; padding: .7rem .9rem; text-decoration: none; white-space: nowrap; }
.training-navigation a[aria-current="page"],
.execution-directory__views a[aria-current="page"] { border-bottom: 3px solid var(--color-action-primary); color: var(--color-action-primary); }
.execution-directory { display: grid; gap: 1rem; }
.execution-directory .admin-center__heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.execution-directory .catalog-summary { flex: 0 0 auto; }
.execution-directory__filters { margin: 0; }
.execution-directory__filters .form-field { flex: 1 1 10.5rem; min-width: 9.5rem; }
.execution-directory__filters .execution-directory__search { flex-basis: 16rem; }
.execution-directory__views { margin: .25rem 0 0; }
.execution-directory__list,
.execution-instructor-groups { display: grid; gap: .85rem; }
.execution-directory-item { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); display: grid; gap: .85rem; padding: 1rem 1.1rem; }
.execution-directory-item__main { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.execution-directory-item__main h2 { font-size: 1.05rem; margin: .2rem 0 0; }
.execution-directory-item__facts { display: grid; gap: .65rem; grid-template-columns: minmax(13rem, 2fr) repeat(3, minmax(6rem, 1fr)); margin: 0; }
.execution-directory-item__facts div { background: var(--color-surface-subtle); border-radius: calc(var(--radius-control) * .8); padding: .65rem .75rem; }
.execution-directory-item__facts dt { color: var(--color-text-muted); font-size: .7rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.execution-directory-item__facts dd { font-size: .86rem; font-weight: 700; margin: .2rem 0 0; }
.execution-directory-item__instructors { color: var(--color-text-muted); font-size: .84rem; margin: 0; }
.execution-directory-item__actions { display: flex; justify-content: end; }
.enrollment-directory { display: grid; gap: 1rem; }
.enrollment-directory .admin-center__heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.enrollment-directory__student-search { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); display: grid; gap: .9rem; padding: 1rem 1.1rem; }
.enrollment-directory__student-search h2 { font-size: 1.05rem; margin: .15rem 0; }
.enrollment-directory__student-search p { color: var(--color-text-muted); margin: 0; }
.enrollment-directory__student-results { display: grid; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.enrollment-directory__student-results li { align-items: center; background: var(--color-surface-subtle); border-radius: var(--radius-control); display: flex; gap: 1rem; justify-content: space-between; padding: .7rem .8rem; }
.enrollment-directory__student-results li div { display: grid; gap: .1rem; }
.enrollment-directory__student-results span,
.enrollment-directory__student-results small { color: var(--color-text-muted); }
.enrollment-directory__selected-student { align-items: center; background: var(--color-primary-soft); border-radius: var(--radius-control); display: flex; flex-wrap: wrap; gap: .35rem .7rem; padding: .7rem .8rem; }
.enrollment-directory__selected-student span,
.enrollment-directory__selected-student small { color: var(--color-text-muted); }
.enrollment-directory__selected-student a { margin-left: auto; }
.enrollment-directory__filters { margin: 0; }
.enrollment-directory__filters .form-field { flex: 1 1 10rem; min-width: 9rem; }
.enrollment-directory__table-shell { border: 1px solid var(--color-border); border-radius: var(--radius-card); overflow: hidden; }
.enrollment-directory__table { border-collapse: collapse; width: 100%; }
.enrollment-directory__table th { background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: .72rem; letter-spacing: .04em; padding: .7rem .8rem; text-align: left; text-transform: uppercase; }
.enrollment-directory__table td { border-top: 1px solid var(--color-border); padding: .8rem; vertical-align: middle; }
.enrollment-directory__table td > strong,
.enrollment-directory__table td > span,
.enrollment-directory__table td > small { display: block; }
.enrollment-directory__table td > span,
.enrollment-directory__table td > small,
.enrollment-directory__table time { color: var(--color-text-muted); font-size: .82rem; }
.enrollment-directory__action { text-align: right; white-space: nowrap; }
.execution-instructor-group { border-top: 1px solid var(--color-border); display: grid; gap: .75rem; padding-top: 1rem; }
.execution-instructor-group > header { align-items: end; display: flex; gap: 1rem; justify-content: space-between; }
.execution-instructor-group > header h2 { font-size: 1.1rem; margin: .15rem 0 0; }
.execution-instructor-group > header > span { color: var(--color-text-muted); font-size: .8rem; font-weight: 700; }
@media (max-width: 760px) {
  .execution-directory .admin-center__heading,
  .execution-directory-item__main { align-items: stretch; flex-direction: column; }
  .execution-directory__filters { align-items: stretch; display: grid; grid-template-columns: 1fr; }
  .execution-directory__filters .form-field { min-width: 0; }
  .execution-directory-item__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .execution-directory-item__facts div:first-child { grid-column: 1 / -1; }
  .execution-directory-item__actions .button { width: 100%; }
  .enrollment-directory .admin-center__heading,
  .enrollment-directory__student-results li { align-items: stretch; flex-direction: column; }
  .enrollment-directory__selected-student a { margin-left: 0; }
  .enrollment-directory__filters { align-items: stretch; display: grid; grid-template-columns: 1fr; }
  .enrollment-directory__filters .form-field { min-width: 0; }
  .enrollment-directory__table-shell { border: 0; overflow: visible; }
  .enrollment-directory__table thead { display: none; }
  .enrollment-directory__table,
  .enrollment-directory__table tbody,
  .enrollment-directory__table tr,
  .enrollment-directory__table td { display: block; width: 100%; }
  .enrollment-directory__table tr { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); margin-bottom: .75rem; padding: .35rem .75rem; }
  .enrollment-directory__table td { border: 0; display: grid; gap: .15rem; grid-template-columns: minmax(7rem, .8fr) minmax(0, 1.2fr); padding: .55rem 0; }
  .enrollment-directory__table td::before { color: var(--color-text-muted); content: attr(data-label); font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
  .enrollment-directory__table .enrollment-directory__action { display: block; text-align: left; }
  .enrollment-directory__action .button { width: 100%; }
}

/* Institutional academic overview */
.academic-overview { display: grid; gap: 1.25rem; }
.academic-overview__scope { color: var(--color-text-muted); font-size: .78rem; margin: 0; max-width: 19rem; text-align: right; }
.academic-overview__section-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .7rem; }
.academic-overview__section-heading h2,
.academic-pending h2 { font-size: 1.08rem; margin: .15rem 0 0; }
.academic-overview__section-heading p { color: var(--color-text-muted); font-size: .78rem; margin: 0; }
.academic-metric-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); }
.academic-metric { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); color: inherit; display: grid; gap: .2rem; min-height: 7.2rem; padding: .9rem 1rem; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.academic-metric:hover { border-color: var(--color-action-primary); box-shadow: var(--shadow-card); transform: translateY(-1px); }
.academic-metric:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.academic-metric > span { color: var(--color-text-muted); font-size: .76rem; font-weight: 750; }
.academic-metric > strong { font-size: 1.65rem; line-height: 1.1; }
.academic-metric > small { align-self: end; color: var(--color-text-muted); font-size: .7rem; line-height: 1.35; }
.academic-metric--attention { border-color: color-mix(in srgb, var(--color-feedback-warning) 45%, var(--color-border)); }
.academic-execution-list { display: grid; gap: .65rem; }
.academic-execution-item { align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); display: grid; gap: .8rem; grid-template-columns: minmax(13rem, 1.5fr) auto minmax(18rem, 1fr) auto; padding: .85rem 1rem; }
.academic-execution-item h3 { font-size: .98rem; margin: .15rem 0 0; }
.academic-execution-item dl { display: grid; gap: .5rem; grid-template-columns: 2fr 1fr 1fr; margin: 0; }
.academic-execution-item dl div { min-width: 0; }
.academic-execution-item dt { color: var(--color-text-muted); font-size: .65rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.academic-execution-item dd { font-size: .8rem; font-weight: 700; margin: .15rem 0 0; }
.academic-pending { align-items: center; background: var(--color-surface-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-card); display: flex; gap: 1rem; justify-content: space-between; padding: .85rem 1rem; }
.academic-pending p { color: var(--color-text-muted); font-size: .82rem; margin: 0 0 0 auto; }

@media (max-width: 900px) {
  .academic-overview .admin-center__heading,
  .academic-overview__section-heading { align-items: stretch; flex-direction: column; }
  .academic-overview__scope { max-width: none; text-align: left; }
  .academic-execution-item { align-items: stretch; grid-template-columns: 1fr auto; }
  .academic-execution-item dl { grid-column: 1 / -1; }
  .academic-execution-item > .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 560px) {
  .academic-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academic-metric { min-height: 6.8rem; padding: .8rem; }
  .academic-execution-item { grid-template-columns: 1fr; }
  .academic-execution-item > .status-badge,
  .academic-execution-item dl,
  .academic-execution-item > .button { grid-column: 1; }
  .academic-execution-item dl { grid-template-columns: 1fr 1fr; }
  .academic-execution-item dl div:first-child { grid-column: 1 / -1; }
  .academic-execution-item > .button { width: 100%; }
  .academic-pending { align-items: stretch; flex-direction: column; }
  .academic-pending p { margin: 0; }
}
@media(max-width:760px){.enrollment-request-public__grid{grid-template-columns:1fr}.request-audit{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-request-card__heading{align-items:stretch;flex-direction:column}}
@media(max-width:440px){.request-audit{grid-template-columns:1fr}.enrollment-request-decision .button-row,.enrollment-request-decision .button{width:100%}}

/* Tenant public landing */
.tenant-landing-editor{max-width:76rem;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}
.tenant-landing-editor__heading{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}
.tenant-landing-editor__heading h1{font-size:clamp(2rem,4vw,3rem);margin:.3rem 0 .5rem}
.tenant-landing-editor__heading p,.tenant-landing-editor__status small{color:var(--color-text-muted);margin:0}
.tenant-landing-editor__status{align-items:flex-end;display:grid;gap:.35rem;justify-items:end}
.tenant-landing-editor__tabs{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:1rem;overflow:hidden}
.tenant-landing-editor__panel{padding:clamp(1.25rem,3vw,2rem)}
.tenant-landing-editor__form{display:grid;gap:1.25rem}
.tenant-landing-editor__enable{background:color-mix(in srgb,var(--tenant-brand-primary,var(--color-action-primary)) 8%,var(--color-surface))}
.tenant-landing-editor__action-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.tenant-landing-editor__action-grid fieldset{border:1px solid var(--color-border-subtle);border-radius:.9rem;display:grid;gap:1rem;margin:0;padding:1rem}
.tenant-landing-editor__action-grid legend{font-weight:800;padding:0 .3rem}
.tenant-landing-editor__section-card{border:1px solid var(--color-border-subtle);border-radius:1rem;display:grid;gap:1rem;margin:0;padding:1.25rem}
.tenant-landing-editor__section-card>legend{font-size:1.15rem;font-weight:850;padding:0 .35rem}
.tenant-landing-editor__section-card>p{color:var(--color-text-muted);margin:0}
.tenant-landing-editor__section-fields{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.tenant-landing-editor__field-wide{grid-column:1/-1}
.tenant-landing-editor__featured-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.tenant-landing-editor__featured-option{align-items:flex-start;border:1px solid var(--color-border-subtle);border-radius:.85rem;cursor:pointer;display:grid;gap:.8rem;grid-template-columns:auto minmax(0,1fr);padding:1rem}
.tenant-landing-editor__featured-option:has(input:checked){background:color-mix(in srgb,var(--tenant-brand-primary,var(--color-action-primary)) 7%,var(--color-surface));border-color:var(--tenant-brand-primary,var(--color-action-primary));box-shadow:0 0 0 2px color-mix(in srgb,var(--tenant-brand-primary,var(--color-action-primary)) 15%,transparent)}
.tenant-landing-editor__featured-option>span{display:grid;gap:.25rem}
.tenant-landing-editor__featured-option small{color:var(--color-text-muted);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.tenant-landing-editor__featured-option em{color:var(--tenant-brand-primary,var(--color-action-primary));font-size:.7rem;font-style:normal;font-weight:800;text-transform:uppercase}
.tenant-landing-editor__image-layout{align-items:center;display:grid;gap:2rem;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.1fr)}
.tenant-landing-editor__image-preview{align-items:center;aspect-ratio:16/9;background:var(--color-surface-subtle);border:1px dashed var(--color-border);border-radius:1rem;display:flex;flex-direction:column;gap:.5rem;justify-content:center;overflow:hidden}
.tenant-landing-editor__image-preview img{height:100%;object-fit:cover;width:100%}
.tenant-landing-editor__image-preview>span{color:var(--color-text-muted);font-size:2.5rem}
.tenant-landing-editor__upload,.tenant-landing-editor__publish-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}
.tenant-landing-editor__publish-card,.tenant-landing-editor__reset{align-items:center;border:1px solid var(--color-border-subtle);border-radius:1rem;display:flex;gap:1.5rem;justify-content:space-between;padding:1.25rem}
.tenant-landing-editor__publish-card h2,.tenant-landing-editor__publish-card p,.tenant-landing-editor__reset h2,.tenant-landing-editor__reset p{margin:.25rem 0}
.tenant-landing-editor__publish-card p,.tenant-landing-editor__reset p{color:var(--color-text-muted)}
.tenant-landing-editor__reset{margin-top:1rem}

.tenant-public-landing-page .site-main{padding:0}
.tenant-landing{background:var(--color-surface);min-height:calc(100vh - 5rem)}
.tenant-landing__preview-banner{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;gap:1rem;justify-content:center;padding:.75rem 1rem}
.tenant-landing__preview-banner span{color:var(--color-text-muted)}
.tenant-landing__hero{background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-brand-primary,#2864dc) 10%,var(--color-surface)) 0%,var(--color-surface) 58%,color-mix(in srgb,var(--tenant-brand-secondary,#172334) 8%,var(--color-surface)) 100%);border-bottom:1px solid var(--color-border-subtle);padding:clamp(3rem,8vw,7rem) 0}
.tenant-landing__hero-grid{align-items:center;display:grid;gap:clamp(2rem,6vw,5rem);grid-template-columns:minmax(0,1.05fr) minmax(18rem,.95fr)}
.tenant-landing__hero-copy h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.045em;line-height:1.02;margin:.45rem 0 1rem;max-width:13ch}
.tenant-landing__lead{color:var(--color-text-muted);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65;max-width:55ch}
.tenant-landing__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.tenant-landing__hero-media{aspect-ratio:4/3;border-radius:1.5rem;box-shadow:0 2rem 5rem rgb(15 23 42/.16);margin:0;overflow:hidden}
.tenant-landing__hero-media img{height:100%;object-fit:cover;width:100%}
.tenant-landing__hero-art{aspect-ratio:4/3;background:linear-gradient(145deg,var(--tenant-brand-secondary,#172334),color-mix(in srgb,var(--tenant-brand-secondary,#172334) 78%,#fff));border-radius:1.5rem;box-shadow:0 2rem 5rem rgb(15 23 42/.16);overflow:hidden;position:relative}
.tenant-landing__hero-art span{background:color-mix(in srgb,var(--tenant-brand-primary,#2864dc) 82%,#fff);border-radius:999px;display:block;position:absolute}
.tenant-landing__hero-art span:nth-child(1){height:44%;left:-7%;top:11%;width:44%}.tenant-landing__hero-art span:nth-child(2){background:rgb(255 255 255/.92);height:27%;right:12%;top:18%;width:27%}.tenant-landing__hero-art span:nth-child(3){background:color-mix(in srgb,var(--tenant-brand-primary,#2864dc) 35%,#fff);bottom:-12%;height:58%;right:-5%;width:58%}.tenant-landing__hero-art span:nth-child(4){background:rgb(255 255 255/.2);bottom:16%;height:18%;left:22%;width:18%}
.tenant-landing__section{padding:clamp(3rem,7vw,6rem) 0}
.tenant-landing__section--about{background:var(--color-surface-subtle)}
.tenant-landing__narrow{max-width:54rem;text-align:center}
.tenant-landing__narrow h2,.tenant-landing__section-heading h2,.tenant-landing__contact h2{font-size:clamp(2rem,4vw,3.2rem);margin:.35rem 0 1rem}
.tenant-landing__narrow>p:last-child{color:var(--color-text-muted);font-size:1.1rem;line-height:1.8;white-space:pre-line}
.tenant-landing__section-heading{align-items:end;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:2rem}
.tenant-landing__course-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.tenant-landing__course{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:1rem;box-shadow:0 1rem 2.5rem rgb(15 23 42/.07);overflow:hidden}
.tenant-landing__course-image{aspect-ratio:16/9;background:var(--color-surface-muted);display:block;overflow:hidden}.tenant-landing__course-image img{height:100%;object-fit:contain;transition:transform .25s;width:100%}.tenant-landing__course:hover .tenant-landing__course-image img{transform:scale(1.025)}
.tenant-landing__course>div{display:grid;gap:.65rem;padding:1.25rem}.tenant-landing__course h3,.tenant-landing__course p{margin:0}.tenant-landing__course h3 a{color:inherit;text-decoration:none}.tenant-landing__course p{color:var(--color-text-muted);display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tenant-landing__course .text-link{color:var(--tenant-brand-primary,var(--color-action-primary));font-weight:800;text-decoration:none}
.tenant-landing__empty{border:1px dashed var(--color-border);border-radius:1rem;padding:2rem;text-align:center}.tenant-landing__empty h3,.tenant-landing__empty p{margin:.25rem}.tenant-landing__empty p{color:var(--color-text-muted)}
.tenant-landing__section--contact{background:var(--tenant-brand-secondary,#172334);color:#fff}
.tenant-landing__contact{align-items:start;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr)}
.tenant-landing__contact p{opacity:.75}.tenant-landing__contact ul{display:grid;gap:.75rem;list-style:none;margin:0;padding:0}.tenant-landing__contact li{border-bottom:1px solid rgb(255 255 255/.18);display:grid;gap:.2rem;padding:.75rem 0}.tenant-landing__contact li span{font-size:.72rem;font-weight:800;opacity:.65;text-transform:uppercase}.tenant-landing__contact a{color:#fff;font-weight:750}

@media(max-width:850px){.tenant-landing-editor__action-grid,.tenant-landing-editor__section-fields,.tenant-landing-editor__featured-grid,.tenant-landing-editor__image-layout,.tenant-landing__hero-grid,.tenant-landing__contact{grid-template-columns:1fr}.tenant-landing-editor__field-wide{grid-column:auto}.tenant-landing__course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-landing__hero{padding-top:3rem}.tenant-landing__hero-copy h1{max-width:none}.tenant-landing__hero-media,.tenant-landing__hero-art{aspect-ratio:auto;min-height:18rem;width:100%}.tenant-landing-editor__heading,.tenant-landing-editor__publish-card,.tenant-landing-editor__reset{align-items:stretch;flex-direction:column}.tenant-landing-editor__status{justify-items:start}}
@media(max-width:560px){.tenant-landing__course-grid{grid-template-columns:1fr}.tenant-landing__section-heading,.tenant-landing__preview-banner{align-items:stretch;flex-direction:column}.tenant-landing__actions,.tenant-landing__actions .button,.tenant-landing-editor__publish-actions,.tenant-landing-editor__publish-actions .button{width:100%}.tenant-landing-editor{padding:1rem}.tenant-landing-editor__panel{padding:1rem}.tenant-landing__hero-grid{gap:2rem}}
.auth-card__intro .auth-card__title {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    letter-spacing: -0.035em;
}
.assessment-review__feedback{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--color-feedback-information,var(--color-action-primary)) 34%,var(--color-border));border-left-width:.3rem;border-radius:var(--radius-control);background:color-mix(in srgb,var(--color-feedback-information,var(--color-action-primary)) 9%,var(--color-surface));color:var(--color-text-primary)}.assessment-review__feedback-icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--color-feedback-information,var(--color-action-primary));color:#fff;font-size:.85rem;font-weight:900}.assessment-review__feedback strong{color:var(--color-feedback-information,var(--color-action-primary))}.assessment-review__feedback p{margin:.25rem 0 0;line-height:1.55}

/* Student enrollment requests */
.student-requests,.student-request-detail{box-sizing:border-box;margin:0 auto;max-width:72rem;padding:clamp(1.25rem,4vw,3rem)}
.student-requests__heading{margin-bottom:1.5rem}.student-requests__heading h1{font-size:clamp(2rem,4vw,3.25rem);margin:.3rem 0}.student-requests__heading p{color:var(--color-text-muted);margin:0}
.student-requests__empty{border:1px dashed var(--color-border);border-radius:1rem;display:grid;gap:.65rem;justify-items:start;padding:clamp(1.25rem,4vw,2.5rem)}.student-requests__empty p{color:var(--color-text-muted);margin:0 0 .4rem}
.student-request-list{display:grid;gap:.85rem}.student-request-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:1rem;display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.25rem}.student-request-card h2{font-size:1.1rem;margin:.25rem 0}.student-request-card h2 a{color:inherit;text-decoration:none}.student-request-card h2 a:hover{text-decoration:underline}.student-request-card p{color:var(--color-text-muted);font-size:.85rem;margin:0}
.student-request-detail>.catalog-back{color:var(--color-action-primary);margin-bottom:1rem}.student-request-detail__card{display:grid;gap:1.25rem;padding:clamp(1.25rem,4vw,2rem)}.student-request-detail__card>header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.student-request-detail__card h1{font-size:clamp(1.6rem,3vw,2.35rem);margin:.3rem 0}
@media(max-width:760px){.student-request-detail__card>header{align-items:stretch;flex-direction:column}.student-request-card{align-items:flex-start;flex-direction:column}}
/* External commerce credentials are long opaque values and must remain readable on narrow screens. */
.commerce-credential-value { overflow-wrap: anywhere; word-break: break-word; }
.commerce-credential-list > li, .commerce-credential-list > li > div { min-width: 0; }

/* Outbound webhook administration */
.webhook-settings{border:1px solid var(--color-border-subtle);border-radius:1rem;display:grid;gap:1rem;margin:1.25rem 0;padding:1.25rem}
.webhook-events{border:0;display:grid;gap:.65rem;margin:0;padding:0}.webhook-events legend{font-weight:850;margin-bottom:.5rem}.webhook-events label,.webhook-scope{align-items:start;border:1px solid var(--color-border-subtle);border-radius:.75rem;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.85rem}.webhook-events label:has(input:checked),.webhook-scope:has(input:checked){background:color-mix(in srgb,var(--color-action-primary) 6%,var(--color-surface));border-color:color-mix(in srgb,var(--color-action-primary) 45%,var(--color-border))}.webhook-events span,.webhook-scope span{display:grid;gap:.2rem}.webhook-events small,.webhook-scope small,.webhook-history small{color:var(--color-text-muted)}
.webhook-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}.webhook-history{border:1px solid var(--color-border-subtle);border-radius:.85rem;overflow:hidden}.webhook-history__head,.webhook-history__row{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(15rem,2fr) minmax(7rem,.7fr) minmax(8rem,.8fr) minmax(9rem,.8fr) auto;padding:.8rem 1rem}.webhook-history__head{background:var(--color-surface-soft);font-size:.75rem;font-weight:850;text-transform:uppercase}.webhook-history__row+.webhook-history__row{border-top:1px solid var(--color-border-subtle)}.webhook-history__row>span{display:grid;gap:.15rem;min-width:0}.webhook-history code{overflow-wrap:anywhere}
@media(max-width:850px){.webhook-history__head{display:none}.webhook-history__row{align-items:start;grid-template-columns:1fr}.webhook-actions,.webhook-actions form,.webhook-actions .button{width:100%}}

/* Commercial API examples are read in place; raw files remain a secondary download. */
.commerce-code-examples { border-top: 1px solid var(--color-border-subtle); margin-top: 1.5rem; padding-top: 1.5rem; }
.commerce-code-example { border: 1px solid var(--color-border-subtle); border-radius: .75rem; margin-top: .65rem; overflow: hidden; }
.commerce-code-example summary { background: var(--color-surface-soft); cursor: pointer; font-weight: 800; padding: .85rem 1rem; }
.commerce-code-example__actions { display: flex; justify-content: flex-end; padding: .75rem 1rem 0; }
.commerce-code-example pre { background: #111b27; color: #edf5f7; margin: .75rem 1rem 1rem; max-height: 28rem; overflow: auto; padding: 1rem; white-space: pre; }
.commerce-code-example code { font-size: .76rem; line-height: 1.55; }
@media (max-width: 640px) {
  .commerce-code-example pre { margin: .5rem; padding: .8rem; }
}
/* Centro de Documentación de la API */
.developer-docs-page .app-header,.developer-docs-page .app-footer{display:none}
.developer-docs-page{background:#f8fafb;color:#17212b}
.developer-docs [hidden]{display:none!important}
.developer-docs{display:grid;grid-template-columns:17.5rem minmax(0,1fr) 14rem;grid-template-rows:4.5rem minmax(calc(100vh - 4.5rem),auto);min-height:100vh}
.developer-docs__top{grid-column:1/-1;position:sticky;top:0;z-index:20;display:grid;grid-template-columns:17.5rem minmax(18rem,42rem) 1fr;align-items:center;gap:2rem;padding:0 1.5rem;border-bottom:1px solid #dbe3e8;background:#fff}
.developer-docs__brand{display:flex;flex-direction:column;text-decoration:none;color:#17212b}.developer-docs__brand strong{font-size:1.15rem;color:#087f8c}.developer-docs__brand span{font-size:.75rem;color:#657482}
.developer-docs__search{display:flex;align-items:center;border:1px solid #cbd6dc;border-radius:.65rem;background:#f7f9fa;padding:.2rem .65rem}.developer-docs__search:focus-within{border-color:#078a98;box-shadow:0 0 0 3px rgba(7,138,152,.12)}.developer-docs__search input{width:100%;border:0;background:transparent;padding:.55rem;font:inherit;outline:0}.developer-docs__search kbd{border:1px solid #ccd5da;border-radius:.3rem;background:#fff;padding:.1rem .35rem;color:#6d7982}
.developer-docs__version{justify-self:end;border:1px solid #b8d9dc;border-radius:999px;padding:.35rem .7rem;color:#086f79;font-weight:700;font-size:.78rem}
.developer-docs__navigation{position:sticky;top:4.5rem;height:calc(100vh - 4.5rem);overflow:auto;border-right:1px solid #dbe3e8;background:#fff;padding:1.4rem 1rem 3rem}.developer-docs__navigation section+section{margin-top:1.5rem}.developer-docs__navigation h2{margin:0 0 .45rem;padding:0 .55rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#72808c}.developer-docs__navigation a{display:flex;align-items:center;gap:.5rem;border-radius:.45rem;padding:.5rem .55rem;color:#3f4d58;text-decoration:none;font-size:.88rem;line-height:1.25}.developer-docs__navigation a:hover{background:#f0f6f7;color:#075f67}.developer-docs__navigation a.is-active{background:#e5f3f4;color:#075f67;font-weight:700}.developer-docs__no-results{padding:1rem;color:#657482;font-size:.88rem}
.http-method{display:inline-flex;min-width:2.7rem;justify-content:center;border-radius:.25rem;padding:.14rem .28rem;font-size:.62rem;font-weight:800;letter-spacing:.035em}.http-method--get{background:#e4f3eb;color:#17643b}.http-method--post{background:#e7eef9;color:#255a98}
.developer-docs__content{min-width:0;padding:2rem clamp(1.5rem,4vw,4.5rem) 5rem}.developer-docs__content article{max-width:54rem}.developer-docs__breadcrumbs{display:flex;gap:.5rem;color:#77838c;font-size:.82rem;margin-bottom:2.2rem}.developer-docs__breadcrumbs a{color:#087f8c}.developer-docs__article-header{padding-bottom:2rem;border-bottom:1px solid #dbe3e8}.developer-docs__article-header h1{max-width:48rem;margin:.75rem 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.06;letter-spacing:-.035em}.developer-docs__article-header p{max-width:45rem;margin:0;color:#566570;font-size:1.08rem;line-height:1.7}.developer-docs__endpoint{display:flex;align-items:center;gap:.7rem}.developer-docs__endpoint code{font-size:.88rem;color:#44525d;overflow-wrap:anywhere}
.developer-docs__content article>section{padding-top:2.2rem;scroll-margin-top:5.5rem}.developer-docs__content h2{font-size:1.45rem;margin:0 0 .8rem}.developer-docs__content p,.developer-docs__content li{line-height:1.7;color:#46555f}.developer-docs__content li+li{margin-top:.4rem}.developer-docs__inline-code{font-family:inherit;color:#34434e;background:transparent}.developer-docs__content pre{overflow:auto;border-radius:.6rem;background:#12211f;color:#dcebe7;padding:1rem 1.15rem;font-size:.82rem;line-height:1.65}
.developer-code{border:1px solid #d6e0e5;border-radius:.75rem;overflow:hidden;background:#12211f}.developer-code>div{display:flex;align-items:center;justify-content:space-between;padding:.55rem .8rem;background:#1b2c29;color:#c5d8d3;font-size:.76rem}.developer-code button{border:0;background:transparent;color:#8bd7d8;font:inherit;font-weight:700;cursor:pointer}.developer-code pre{margin:0;border-radius:0;max-height:34rem}.developer-code-tabs>[role=tablist]{display:flex;gap:.25rem;overflow:auto;border-bottom:1px solid #d6e0e5;margin-bottom:.75rem}.developer-code-tabs [role=tab]{border:0;border-bottom:2px solid transparent;background:transparent;padding:.65rem .75rem;color:#596974;font:inherit;font-size:.82rem;white-space:nowrap;cursor:pointer}.developer-code-tabs [role=tab][aria-selected=true]{border-color:#078a98;color:#075f67;font-weight:750}
.developer-docs__pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid #dbe3e8}.developer-docs__pager a{display:flex;flex-direction:column;border:1px solid #d6e0e5;border-radius:.65rem;padding:1rem;text-decoration:none;color:#21313c}.developer-docs__pager a:last-child{text-align:right;grid-column:2}.developer-docs__pager span{font-size:.72rem;color:#75838d;text-transform:uppercase;letter-spacing:.05em}.developer-docs__pager strong{margin-top:.25rem}
.developer-docs__toc{position:sticky;top:4.5rem;height:calc(100vh - 4.5rem);overflow:auto;padding:2rem 1.25rem;border-left:1px solid #e2e8eb;background:#fbfcfc}.developer-docs__toc strong{display:block;margin-bottom:.75rem;font-size:.78rem}.developer-docs__toc a{display:block;padding:.35rem 0;color:#657482;text-decoration:none;font-size:.78rem}.developer-docs__toc a:hover{color:#087f8c}.developer-docs__toc hr{border:0;border-top:1px solid #dbe3e8;margin:1rem 0}
@media(max-width:1050px){.developer-docs{grid-template-columns:16rem minmax(0,1fr)}.developer-docs__top{grid-template-columns:16rem minmax(0,1fr) auto}.developer-docs__toc{display:none}}
@media(max-width:760px){.developer-docs{display:block;padding-top:8.5rem}.developer-docs__top{position:fixed;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;height:8.5rem;gap:.5rem 1rem;padding:.8rem 1rem}.developer-docs__search{grid-column:1/-1;grid-row:2}.developer-docs__navigation{position:static;height:auto;border:0;border-bottom:1px solid #dbe3e8;padding:1rem}.developer-docs__navigation nav{display:none}.developer-docs__navigation:focus-within nav{display:block}.developer-docs__content{padding:1.5rem 1rem 4rem}.developer-docs__pager{grid-template-columns:1fr}.developer-docs__pager a:last-child{grid-column:1;text-align:left}}

/* Medios de pago tenant-scoped y solicitud compacta de matrícula. */
.enrollment-request-public__cover{aspect-ratio:16/7;border-radius:1rem;display:block;margin-bottom:1rem;object-fit:cover;width:min(100%,38rem)}
.payment-method-picker{display:grid;gap:.65rem}.payment-method-picker h2{font-size:1.05rem;margin:.1rem 0}.payment-method-picker__list{display:grid;gap:.5rem}
.payment-coordination{border:0;display:grid;gap:.85rem;margin:0;min-width:0;padding:0}.payment-coordination>legend{font-size:1.05rem;font-weight:700;margin-bottom:.1rem}.payment-coordination__choices{display:grid;gap:.55rem}.payment-coordination__choice{align-items:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.8rem;cursor:pointer;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr);padding:.85rem 1rem}.payment-coordination__choice.is-selected{background:var(--color-primary-soft);border-color:var(--color-action-primary)}.payment-coordination__choice input{margin-top:.25rem}.payment-coordination__choice span{display:grid;gap:.15rem}.payment-coordination__choice small{color:var(--color-text-muted);line-height:1.4}.payment-coordination__receipt{display:grid;gap:1rem;padding-top:.25rem}
.payment-coordination__receipt[hidden]{display:none}
.payment-method-public-card{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:.75rem;overflow:hidden}.payment-method-public-card summary{align-items:center;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;list-style:none;min-height:3.75rem;padding:.8rem 1rem}.payment-method-public-card summary::-webkit-details-marker{display:none}.payment-method-public-card summary>span:first-child{display:grid;gap:.15rem;min-width:0}.payment-method-public-card summary strong,.payment-method-public-card summary small{overflow-wrap:anywhere}.payment-method-public-card summary small{color:var(--color-text-muted)}.payment-method-public-card__indicator{align-items:center;border:1px solid var(--color-border);border-radius:50%;display:inline-flex;flex:0 0 2rem;height:2rem;justify-content:center;transition:transform .18s ease}.payment-method-public-card__indicator svg{fill:none;height:1.05rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:1.05rem}.payment-method-public-card[open] .payment-method-public-card__indicator{transform:rotate(180deg)}
.payment-method-public-card dl{border-top:1px solid var(--color-border);display:grid;margin:0;padding:.3rem 1rem}.payment-method-public-card dl div{align-items:baseline;display:grid;gap:1rem;grid-template-columns:minmax(6rem,7rem) minmax(0,1fr);padding:.65rem 0}.payment-method-public-card dl div+div{border-top:1px solid var(--color-border-subtle)}.payment-method-public-card dt{color:var(--color-text-muted);font-size:.78rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.payment-method-public-card dd{font-weight:700;margin:0;overflow-wrap:anywhere}.payment-method-public-card p{border-top:1px solid var(--color-border);font-size:.9rem;line-height:1.5;margin:0;padding:.8rem 1rem}
.payment-method-settings{max-width:90rem;padding-block:clamp(1.5rem,4vw,3rem) clamp(3rem,7vw,5rem)}.payment-method-settings__heading{align-items:end;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:clamp(1.5rem,4vw,2.5rem)}.payment-method-settings__heading>div{display:grid;gap:.45rem}.payment-method-settings__heading h1,.payment-method-settings__heading p{margin:0}.payment-method-settings__heading h1{margin-top:.55rem}.payment-method-settings__heading p{max-width:58rem}.payment-method-settings .settings-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card)}.payment-method-registry{max-width:70rem}.payment-method-empty{align-items:center;display:grid;gap:1rem;justify-items:start;padding:clamp(1.5rem,4vw,2.5rem)}.payment-method-empty p{color:var(--color-text-muted);margin:0;max-width:44rem}.payment-method-admin-list{display:grid;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}.payment-method-admin-card{align-items:center;border:1px solid var(--color-border);border-radius:.8rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.payment-method-admin-card__main{align-items:center;display:flex;gap:1rem;min-width:0}.payment-method-admin-card h3{margin:0 0 .2rem}.payment-method-admin-card p{margin:0;overflow-wrap:anywhere}.payment-method-admin-card small{color:var(--color-text-muted)}.payment-method-dialog{max-width:min(48rem,calc(100vw - 2rem))}
@media(max-width:760px){.payment-method-settings__heading{align-items:stretch;flex-direction:column}.payment-method-settings__heading>.button{align-self:start}.payment-method-admin-card,.payment-method-admin-card__main{align-items:flex-start}.payment-method-admin-card__main,.payment-method-admin-card{flex-direction:column}.payment-method-admin-card>.button{width:100%}}
