:root{font:15px/1.5 system-ui,sans-serif;color:#20364a;background:#f3f7f5}*{box-sizing:border-box}
body{margin:0}main.dashboard{max-width:1050px;margin:auto;padding:26px 18px}h1,h2,h3,p{margin:0 0 10px}button,input,textarea,select{font:inherit;color:inherit}button,select{cursor:pointer}a{color:#15534c}label{display:grid;gap:4px;font-weight:650;margin-bottom:8px}input,textarea,select{min-width:0;border:1px solid #aec3c1;background:white;border-radius:8px;padding:.5em .65em}button,.launch{border:1px solid #b8cdca;background:white;border-radius:8px;padding:.48em .7em;font-weight:650}button.primary,.launch{background:#17675b;color:white;text-decoration:none}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.box{border:1px solid #c9dcd6;background:white;border-radius:13px;padding:16px;margin:12px 0}.hero{background:#e6f2eb}.muted{color:#4a6263}.error{color:#932b27}.workspace-card{display:grid;gap:9px}.workspace-card h3,.workspace-card p{margin:0}.comment{border-top:1px solid #d7e3e1;padding:10px 0}.comment p{white-space:pre-wrap;overflow-wrap:anywhere}.role{display:inline-block;background:#eef3f8;border-radius:50px;padding:3px 8px;font-size:.78rem;font-weight:700}.app-workspace-bar{margin:0;padding:8px 14px;background:#e7f3ec;border-bottom:1px solid #bfd5cd;color:#173d37;font:14px/1.4 system-ui,sans-serif;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-workspace-bar a{color:#15534c}.app-workspace-bar .app-save{margin-left:auto}.app-workspace-bar button{font-size:.82rem}.workspace-comments{width:min(550px,calc(100% - 22px));max-height:85vh;overflow:auto;padding:18px;border:1px solid #b8cdca;border-radius:13px;color:#20364a;background:white}.workspace-comments::backdrop{background:#142f3a66}.workspace-comments label{font-size:.85rem}.workspace-comments textarea{display:block;width:100%;min-height:75px}.workspace-comments ol{list-style:none;padding:0}.work-pending{color:#854913}.course-table{width:100%;border-collapse:collapse}.course-table th,.course-table td{text-align:left;padding:7px;border-bottom:1px solid #d7e3e1} [hidden]{display:none!important}

.sharing-preview { color: #525762; background: #f1f2f4; border-color: #d2d6de; }
.admin-entry { padding: .65rem 0; border-bottom: 1px solid #e1e6e5; overflow-wrap: anywhere; }
.admin-entry p { margin: .3rem 0; }
#admin-content textarea { width: 100%; }
.app-workspace-bar [aria-current="page"] { font-weight: 700; text-decoration: underline; }

.pilot-header{width:min(1060px,calc(100% - 32px));margin:clamp(12px,2.2vw,26px) auto 0}
.pilot-banner{display:block;width:100%;height:auto;max-height:250px;object-fit:cover;object-position:center 78%;border-radius:24px}
.pilot-header nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;padding:13px 0 0}
.pilot-header nav a{font-weight:650;overflow-wrap:anywhere}
@media(max-width:760px){.pilot-banner{border-radius:16px}}

.activity-table{margin-bottom:16px}
.activity-table td[data-heat="1"]{background:#edf6f0}
.activity-table td[data-heat="2"]{background:#cfe6d7}
.activity-table td[data-heat="3"]{background:#9bc9ad}
.activity-table td[data-heat="4"]{background:#276249;color:#fff}
#admin-content h3:not(:first-child){margin-top:24px}

.admin-table-scroll{overflow-x:auto;margin-bottom:14px}
.admin-table-scroll .activity-table{margin-bottom:0}
.admin-table-scroll th,.admin-table-scroll td{overflow-wrap:anywhere}

#admin > summary { font-size: 1.2rem; font-weight: 750; cursor: pointer; }
.pilot-admin-layout { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; margin-top: 18px; }
.pilot-admin-layout nav { align-self: start; display: grid; gap: 4px; padding: 8px; background: #f0f6f2; border: 1px solid #d9e7df; border-radius: 12px; }
.pilot-admin-layout nav a { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 8px 10px; border-radius: 7px; text-decoration: none; font-weight: 650; }
.pilot-admin-layout nav a:hover { background: #e2efe7; }
.pilot-admin-layout nav a[aria-current] { background: #d6eadd; color: #16483a; box-shadow: inset 3px 0 #29775a; }
.pilot-nav-count { padding: 0 7px; border-radius: 20px; background: #fff; font-size: .84rem; }
.pilot-admin-panels > section { scroll-margin-top: 16px; }
.pilot-admin-panels h3 { font-size: 1.45rem; }
.pilot-admin-panels h4 { margin: 12px 0 5px; }
.pilot-registration, .pilot-request-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pilot-registration { padding: 8px 12px; border-radius: 10px; background: #f4f8f6; margin-bottom: 12px; }
.pilot-request { border: 1px solid #d8e5de; border-radius: 12px; padding: 12px 14px; margin: 12px 0; overflow-wrap: anywhere; }
.pilot-request h4, .pilot-request p { margin: 0; }
.pilot-request small { color: #52635d; }
.pilot-badge { font-size: .82rem; font-weight: 700; border-radius: 20px; padding: 3px 9px; color: #344f5c; background: #e9f0f3; }
.pilot-badge.is-active { background: #dfefe4; color: #205c42; }
.pilot-badge.is-pending { background: #f9edcf; color: #704c11; }
#pilot-invitation { width: min(540px, calc(100% - 32px)); }
#pilot-invitation input { min-width: 0; width: 100%; }
@media (max-width: 720px) {
  .pilot-admin-layout { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .pilot-admin-layout nav { display: flex; flex-wrap: wrap; }
}

.pilot-overview-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pilot-overview-card { display: flex; flex-direction: column; padding: 14px; border: 1px solid #d8e5de; border-top: 4px solid #397762; border-radius: 12px; background: #f3f8f5; }
.pilot-overview-card[data-metric="workspaces"] { border-top-color: #42728b; background: #f2f7fa; }
.pilot-overview-card[data-metric="activity"] { border-top-color: #88652d; background: #fbf7ef; }
.pilot-overview-card h4, .pilot-overview-roles h4 { margin: 0; font-size: 1rem; }
.pilot-overview-value { margin: 5px 0; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 780; line-height: 1.2; font-variant-numeric: tabular-nums; }
.pilot-overview-detail { font-size: .88rem; color: #435954; margin-bottom: 12px; }
.pilot-overview-card a { margin-top: auto; font-size: .88rem; font-weight: 650; text-underline-offset: 3px; }
.pilot-overview-roles { margin: 16px 0 12px; border: 1px solid #d8e5de; border-radius: 12px; padding: 14px; }
.pilot-overview-roles ul { list-style: none; margin: 0; padding: 0; }
.pilot-overview-roles li { display: grid; grid-template-columns: 72px minmax(36px, 1fr) auto; align-items: center; gap: 12px; padding: 7px 0; border-top: 1px solid #e6eeea; }
.pilot-overview-roles li span { font-size: .88rem; font-variant-numeric: tabular-nums; }
.pilot-overview-roles progress { appearance: none; width: 100%; height: 7px; border: 0; border-radius: 8px; background: #e9f0eb; accent-color: #36735d; }
.pilot-overview-roles progress::-webkit-progress-bar { background: #e9f0eb; border-radius: 8px; }
.pilot-overview-roles progress::-webkit-progress-value { background: #36735d; border-radius: 8px; }
.pilot-overview-roles progress::-moz-progress-bar { background: #36735d; border-radius: 8px; }
.pilot-overview-definitions { padding: 6px 0; font-size: .88rem; color: #435954; }
.pilot-overview-definitions summary { width: fit-content; cursor: pointer; font-weight: 650; }
.pilot-overview-definitions p:first-of-type { margin-top: 8px; }
@media (max-width: 600px) {
  .pilot-overview-cards { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .pilot-overview-roles li { grid-template-columns: 62px minmax(20px, 1fr) auto; gap: 6px; }
}

.pilot-feedback-dialog .pilot-feedback-summary { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 3px 14px; margin: 10px 0 16px; padding: 10px 12px; border-radius: 8px; background: #edf5f0; font-size: .9rem; }
.pilot-feedback-summary dt { font-weight: 700; }
.pilot-feedback-summary dd { margin: 0; overflow-wrap: anywhere; }
.pilot-feedback-dialog small { font-weight: 400; }
.pilot-feedback-dialog .muted { font-size: .86rem; }
.pilot-feedback-entry .pilot-feedback-text { margin: 10px 0; white-space: pre-wrap; }

.pilot-review-sidebar { position: fixed; z-index: 30; inset: 0 0 0 auto; width: min(320px, 94vw); overflow: auto; padding: 16px; background: #f8fbf9; color: #20364a; border-inline-start: 1px solid #c9dcd6; box-shadow: -4px 0 18px #213c3120; font: 14px/1.45 system-ui,sans-serif; }
.pilot-review-sidebar h2 { font-size: 1.18rem; margin: 0; }
.pilot-review-heading,.pilot-review-controls { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.pilot-review-heading { justify-content: space-between; }
.pilot-review-controls [aria-pressed="true"] { background: #d6eadd; color: #16483a; border-color: #77a38e; }
.pilot-review-sidebar textarea { width: 100%; resize: vertical; }
.pilot-review-sidebar p,.pilot-review-sidebar strong { overflow-wrap: anywhere; }
.pilot-review-thread { background: white; border: 1px solid #d8e5de; border-radius: 9px; margin: 10px 0; padding: 9px; }
.pilot-review-message time { display: block; color: #4a6263; font-size: .8rem; }
.pilot-review-message p { white-space: pre-wrap; margin: 5px 0 8px; }
.pilot-review-replies:not(:empty) { border-inline-start: 2px solid #d6eadd; margin: 8px 0; padding-inline-start: 9px; }
.pilot-review-group h3 { margin: 14px 0 5px; font-size: 1.02rem; }
.pilot-review-group h4 { margin: 10px 0 3px; }
.pilot-review-subject { color: #435954; font-size: .86rem; }
.pilot-review-detail-toggle { margin: 0 0 8px 16px; }
#detail.pilot-review-detail .pilot-review-detail-toggle { display: none; }
#detail .pilot-review-sidebar { position: relative; inset: auto; width: auto; border: 1px solid #c9dcd6; border-radius: 9px; margin: 8px 16px; box-shadow: none; }
@media (min-width: 1250px) {
  body.pilot-review-open { padding-inline-end: 320px; }
  #detail.pilot-review-detail { width: min(1050px, 96vw); padding-inline-end: 320px; }
  #detail.pilot-review-detail .pilot-review-sidebar { position: absolute; inset: 0 0 auto auto; width: 310px; max-height: 80vh; margin: 0; }
}
@media print {
  .pilot-review-sidebar,.pilot-review-detail-toggle { display: none !important; }
  body.pilot-review-open { padding-inline-end: 0; }
}


.pilot-account-bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; min-width:0; }
.pilot-account-bar strong { overflow-wrap:anywhere; }
.app-workspace-bar .pilot-account-bar { flex:1 0 100%; padding-bottom:6px; border-bottom:1px solid #bfd5cd; }
#my-workspaces { margin-top:16px; scroll-margin-top:16px; }

/* Workspace type choice, filters and app colours */
.workspace-type-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}
.workspace-type-choices button{text-align:left;display:grid;gap:5px;padding:18px;border:2px solid #b8cdca;border-radius:12px;background:#f3f9f5;color:#175b4e}
.workspace-type-choices button strong{font-size:1.15rem}.workspace-type-choices button span{font-size:.9rem;font-weight:450}
.workspace-type-choices [data-workspace-kind="workshop"]{border-color:#dcc2cc;background:#fcf5f8;color:#813a52}
.workspace-type-choices [data-workspace-kind="curriculum"][aria-pressed="true"]{border-color:#17675b;box-shadow:inset 0 0 0 1px #17675b;background:#e3f1e9}
.workspace-type-choices [data-workspace-kind="workshop"][aria-pressed="true"]{border-color:#95455f;box-shadow:inset 0 0 0 1px #95455f;background:#f4e2e9}
.workspace-create fieldset{border:0;border-top:1px solid #d7e3e1;padding:18px 0 0;margin:16px 0 0;min-width:0}
.workspace-create legend{font-size:1.1rem;font-weight:750;padding:0 0 8px}.workspace-create label{max-width:640px}
.workspace-create[data-kind="workshop"] .primary{background:#95455f;border-color:#95455f}
.workspace-list-heading{margin:32px 0 14px}.workspace-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}
.workspace-filters [aria-pressed="true"]{background:#17675b;border-color:#17675b;color:white}
.workspace-filters [data-workspace-filter="workshop"]{color:#813a52;border-color:#cdaab8}
.workspace-filters [data-workspace-filter="workshop"][aria-pressed="true"]{background:#95455f;border-color:#95455f;color:white}
.workspace-card[data-kind="curriculum"]{border-left:5px solid #17675b;background:#fbfefc}
.workspace-card[data-kind="workshop"]{border-color:#dcc2cc;border-left:5px solid #95455f;background:#fffafb}
.workspace-card[data-kind="workshop"] h3,.workspace-card[data-kind="workshop"] summary{color:#813a52}
.workspace-card[data-kind="workshop"] .launch{background:#95455f;border-color:#95455f}
.workspace-card[data-kind="workshop"] button{border-color:#dcc2cc;color:#813a52}
.workspace-card[data-kind="workshop"] .role{background:#f4e2e9;color:#813a52}
@media(max-width:600px){.workspace-type-choices{grid-template-columns:1fr}}

.workspace-archive-badge{justify-self:start;background:#eceff0;color:#465456;border-radius:20px;padding:4px 10px;font-size:.85rem;font-weight:700}.workspace-card[data-archived="true"]{border-style:dashed}.archive-list-title{margin:26px 0 10px}.workspace-archive-action{margin-left:auto}.workspace-filters [data-workspace-filter="archived"][aria-pressed="true"]{background:#536367;border-color:#536367;color:white}
