:root {
  font-family: 'Poppins', Arial, sans-serif;
  color: #202331;
  background: #f7f9fe;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --utiva-blue: #050794;
  --utiva-blue-dark: #03045f;
  --utiva-blue-soft: #e8ebff;
  --utiva-yellow: #fbaf1b;
  --utiva-yellow-soft: #fff4d8;
  --text: #202331;
  --text-soft: #596176;
  --surface-soft: #f2f6ff;
  --border: #dbe3f3;
  --white: #ffffff;
  --success: #147d5a;
  --danger: #d64152;
  --shadow-sm: 0 8px 24px rgba(4, 10, 62, 0.06);
  --shadow-md: 0 18px 48px rgba(4, 10, 62, 0.12);
}

/* Shared workspace switcher */
.workspace-switcher-page{min-height:100vh;padding:20px clamp(18px,4vw,58px) 32px;color:var(--text);background:radial-gradient(circle at 85% 3%,#ffe9b6 0,transparent 25%),linear-gradient(135deg,#edf3ff,#fafbff 58%,#fff9ed)}
.workspace-switcher-page>header{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:20px}.workspace-switcher-page>header .button{min-height:42px}
.workspace-switcher-shell{width:min(1060px,100%);margin:26px auto 0;padding:24px;border:1px solid rgba(219,227,243,.92);border-radius:26px;background:rgba(255,255,255,.82);box-shadow:0 28px 80px rgba(3,4,95,.11);backdrop-filter:blur(14px)}
.workspace-switcher-hero{min-height:130px;padding:22px 24px;border-radius:19px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;color:#fff;background:linear-gradient(130deg,var(--utiva-blue-dark),var(--utiva-blue));position:relative;overflow:hidden}
.workspace-switcher-hero::after{content:'';width:240px;height:240px;border:35px solid rgba(255,255,255,.055);border-radius:50%;position:absolute;right:-95px;top:-105px}
.workspace-switcher-hero__copy{display:flex;align-items:center;gap:15px;position:relative;z-index:1}.workspace-switcher-hero__copy>span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;color:var(--utiva-blue-dark);background:var(--utiva-yellow)}
.workspace-switcher-hero .eyebrow{margin:0 0 4px;color:#ffd66e;font-size:12px}.workspace-switcher-hero h1{margin:0;color:#fff;font-size:clamp(28px,3.8vw,39px);line-height:1.05;letter-spacing:-1px}.workspace-switcher-hero__copy p:last-child{margin:6px 0 0;color:rgba(255,255,255,.73);font-size:15px}
.workspace-switcher-identity{padding:7px 12px 7px 7px;border:1px solid rgba(255,255,255,.16);border-radius:13px;display:flex;align-items:center;gap:9px;position:relative;z-index:1;background:rgba(255,255,255,.1)}.workspace-switcher-identity>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue-dark);background:#fff;font-size:13px;font-weight:800}.workspace-switcher-identity strong,.workspace-switcher-identity small{display:block}.workspace-switcher-identity strong{color:#fff;font-size:13px}.workspace-switcher-identity small{margin-top:1px;color:rgba(255,255,255,.65);font-size:12px}
.workspace-switcher-people{grid-column:1/-1;display:flex;align-items:center;gap:11px;position:relative;z-index:1}.workspace-switcher-people>div{display:flex}.workspace-switcher-people>div span{width:30px;height:30px;margin-left:-6px;border:2px solid #101277;border-radius:50%;display:grid;place-items:center;color:var(--utiva-blue-dark);background:#fff;font-size:10px;font-weight:800}.workspace-switcher-people>div span:first-child{margin-left:0;background:#dfe5ff}.workspace-switcher-people>div span:nth-child(2){background:#ffe7ad}.workspace-switcher-people>div span:nth-child(3){color:#fff;background:#5557d5}.workspace-switcher-people p{margin:0}.workspace-switcher-people strong,.workspace-switcher-people small{display:block}.workspace-switcher-people strong{font-size:12px}.workspace-switcher-people small{margin-top:1px;color:rgba(255,255,255,.62);font-size:11px}
.workspace-room-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.workspace-room{min-height:245px;padding:18px;border:1px solid var(--border);border-radius:17px;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow-sm);transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}.workspace-room:hover{transform:translateY(-3px);border-color:#bdc8ea;box-shadow:0 18px 38px rgba(3,4,95,.12)}.workspace-room.is-current{border:2px solid var(--utiva-blue);box-shadow:0 16px 34px rgba(5,7,148,.13)}
.workspace-room__top{display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-room__top>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--utiva-blue-soft)}.workspace-room--trainer .workspace-room__top>span{color:#9a6400;background:#fff3d5}.workspace-room--admin .workspace-room__top>span{color:#fff;background:var(--utiva-blue-dark)}.workspace-room__top em{padding:4px 8px;border-radius:999px;color:var(--text-soft);background:var(--surface-soft);font-size:11px;font-style:normal;font-weight:800}.workspace-room.is-current .workspace-room__top em{color:var(--utiva-blue);background:var(--utiva-blue-soft)}
.workspace-room>.eyebrow{margin:16px 0 4px;font-size:11px}.workspace-room h2{margin:0;color:var(--utiva-blue-dark);font-size:20px;line-height:1.2}.workspace-room>p:not(.eyebrow){margin:6px 0 12px;color:var(--text-soft);font-size:13px;line-height:1.45}.workspace-room__human{margin:0 0 13px;display:flex;align-items:center;gap:7px;color:var(--text-soft)}.workspace-room__human span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:var(--utiva-blue);background:var(--surface-soft);font-size:9px;font-weight:800}.workspace-room__human strong{font-size:11px}.workspace-room>.button{margin-top:auto;min-height:42px;font-size:12px}
.workspace-switcher-footer{min-height:44px;margin-top:13px;padding:0 13px;border-radius:12px;display:flex;align-items:center;gap:9px;color:var(--utiva-blue);background:#f2f5ff}.workspace-switcher-footer p{margin:0;display:flex;gap:6px;align-items:baseline}.workspace-switcher-footer strong{font-size:12px}.workspace-switcher-footer span{color:var(--text-soft);font-size:12px}.workspace-switcher-footer>svg:last-child{margin-left:auto;color:var(--success)}
@media(max-width:840px){.workspace-switcher-shell{padding:16px}.workspace-switcher-hero{grid-template-columns:1fr}.workspace-switcher-identity{width:max-content}.workspace-room-grid{grid-template-columns:1fr}.workspace-room{min-height:220px}}
@media(max-width:560px){.workspace-switcher-page{padding:14px}.workspace-switcher-page>header .button{width:42px;padding:0;font-size:0}.workspace-switcher-page>header .button svg{margin:0}.workspace-switcher-shell{margin-top:18px;padding:11px;border-radius:20px}.workspace-switcher-hero{padding:19px}.workspace-switcher-hero__copy{align-items:flex-start}.workspace-switcher-hero h1{font-size:29px}.workspace-switcher-people{display:none}.workspace-room{padding:16px}.workspace-switcher-footer p{display:block}.workspace-switcher-footer span{display:none}}

button, input, select, textarea { font-family: inherit; }

/* Production core */
.production-core-page { min-height: 100%; padding-bottom: 42px; background: #f6f8fd; }
.production-core-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: -32px -34px 24px; padding: 34px; color: #fff; background: linear-gradient(135deg, #050794 0%, #03045f 76%); }
.production-core-hero h1 { margin: 4px 0 7px; color: #fff; font-size: clamp(31px, 3vw, 42px); line-height: 1.06; letter-spacing: -1.2px; }
.production-core-hero p:last-child { max-width: 690px; margin: 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.55; }
.production-core-hero .eyebrow { color: #fbd06a; }
.production-core-status { display: flex; flex: 0 0 auto; align-items: center; gap: 11px; min-width: 228px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.1); }
.production-core-status > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; color: #161875; background: var(--utiva-yellow); }
.production-core-status > div { display: grid; gap: 2px; }
.production-core-status small { color: rgba(255,255,255,.68); font-size: 12px; font-weight: 600; }
.production-core-status strong { color: #fff; font-size: 14px; }
.production-core-status.is-ready > span { color: #fff; background: #20845f; }
.production-core-foundations { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.production-core-foundations article { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 17px; }
.production-core-foundations article > span { display: grid; flex: 0 0 auto; width: 42px; height: 42px; place-items: center; border-radius: 11px; color: var(--utiva-blue); background: #eef0ff; }
.production-core-foundations article > div { display: grid; min-width: 0; gap: 3px; }
.production-core-foundations small { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.production-core-foundations strong { font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.production-core-foundations em { display: inline-flex; align-items: center; gap: 4px; color: var(--success); font-size: 12px; font-style: normal; font-weight: 700; }
.production-core-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr); gap: 18px; margin-bottom: 18px; }
.production-core-boundary, .production-core-roles, .production-core-schema { padding: 22px; }
.production-core-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.production-core-section-heading h2 { margin: 3px 0 0; color: var(--utiva-blue-dark); font-size: 20px; line-height: 1.25; }
.production-core-section-heading > svg { color: var(--utiva-blue); }
.production-core-stack { display: grid; grid-template-columns: minmax(0,1fr) 18px minmax(0,1fr) 18px minmax(0,1fr); align-items: center; gap: 8px; margin: 23px 0; }
.production-core-stack > div { display: flex; align-items: flex-start; gap: 9px; min-height: 89px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; background: #fbfcff; }
.production-core-stack > div > span { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: var(--utiva-blue); background: #eef0ff; }
.production-core-stack strong { display: block; font-size: 13px; line-height: 1.35; }
.production-core-stack p { margin: 4px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.production-core-stack > svg { color: #a3abc0; }
.production-core-callout { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 14px; border-radius: 12px; color: #664300; background: #fff4d8; }
.production-core-callout > svg { color: #a46600; }
.production-core-callout strong { display: block; font-size: 13px; }
.production-core-callout p { margin: 3px 0 0; color: #765e2e; font-size: 13px; line-height: 1.45; }
.production-core-callout.is-ready { color: #0e6548; background: #e8f7f1; }
.production-core-callout.is-ready p { color: #397460; }
.production-core-role-list { display: grid; margin: 18px 0; border-top: 1px solid var(--border); }
.production-core-role-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 45px; border-bottom: 1px solid var(--border); }
.production-core-role-list span { font-size: 13px; font-weight: 700; }
.production-core-role-list strong { color: var(--text-soft); font-size: 12px; }
.production-core-wide-button { width: 100%; justify-content: center; }
.production-core-schema { overflow: hidden; }
.production-core-schema + .production-core-schema { margin-top: 18px; }
.production-core-schema-table { margin-top: 19px; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; }
.production-core-schema-row { display: grid; grid-template-columns: minmax(190px,.7fr) minmax(280px,1.3fr) minmax(170px,.65fr); align-items: center; gap: 18px; min-height: 55px; padding: 9px 14px; border-bottom: 1px solid var(--border); background: #fff; }
.production-core-schema-row:last-child { border-bottom: 0; }
.production-core-schema-row strong { color: var(--utiva-blue-dark); font-size: 13px; overflow-wrap: anywhere; }
.production-core-schema-row span { color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.production-core-schema-row em { width: fit-content; padding: 5px 8px; border-radius: 999px; color: #176d50; background: #e8f7f1; font-size: 12px; font-style: normal; font-weight: 700; }
.production-core-schema-row--head { min-height: 41px; color: #5f687d; background: #f3f6fc; }
.production-core-schema-row--head span { color: inherit; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.production-core-dialog { position: relative; width: min(610px, calc(100vw - 30px)); max-height: calc(100vh - 40px); overflow: auto; padding: 27px; border-radius: 22px; background: #fff; box-shadow: 0 26px 80px rgba(3,4,95,.28); animation: modal-rise 220ms ease both; }
.production-core-dialog-close { position: absolute; top: 17px; right: 17px; }
.production-core-dialog-icon { display: grid; width: 48px; height: 48px; margin-bottom: 17px; place-items: center; border-radius: 13px; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.production-core-dialog h2 { margin: 4px 0 17px; color: var(--utiva-blue-dark); font-size: clamp(24px, 3vw, 30px); line-height: 1.15; }
.production-core-checklist, .production-core-test-list { display: grid; border-top: 1px solid var(--border); }
.production-core-checklist > div, .production-core-test-list > div { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--border); }
.production-core-checklist > div > svg, .production-core-test-list > div > svg { margin-top: 2px; color: var(--success); }
.production-core-checklist strong, .production-core-test-list strong { display: block; font-size: 13px; }
.production-core-checklist small, .production-core-test-list small { display: block; margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.production-core-step { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: var(--utiva-blue); background: #eef0ff; font-size: 12px; font-weight: 800; }
.production-core-dialog-action { width: 100%; margin-top: 20px; justify-content: center; }

@media (max-width: 1100px) {
  .production-core-foundations { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .production-core-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .production-core-hero { align-items: flex-start; flex-direction: column; margin: -20px -18px 20px; padding: 25px 18px; }
  .production-core-status { width: 100%; }
  .production-core-foundations { grid-template-columns: 1fr; }
  .production-core-stack { grid-template-columns: 1fr; }
  .production-core-stack > svg { justify-self: center; transform: rotate(90deg); }
  .production-core-callout { grid-template-columns: 22px 1fr; }
  .production-core-callout .button { grid-column: 1 / -1; justify-content: center; }
  .production-core-schema { padding: 18px; }
  .production-core-schema .production-core-section-heading { align-items: stretch; flex-direction: column; }
  .production-core-schema-row { grid-template-columns: 1fr; gap: 4px; padding: 12px; }
  .production-core-schema-row--head { display: none; }
}

:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid rgba(5,7,148,.38); outline-offset: 3px; }
.skip-link { min-height: 40px; position: fixed; left: 14px; top: 10px; z-index: 1000; padding: 10px 14px; border-radius: 8px; display: inline-flex; align-items: center; color: #fff; background: var(--utiva-blue-dark); font-size: 12px; font-weight: 800; text-decoration: none; transform: translateY(-150%); transition: transform 160ms ease; }
.skip-link:focus { transform: translateY(0); }

/* Admin learning path and bundle operations */
.path-workspace-page { min-height: 100%; background: #f4f7ff; color: var(--text); }
.path-workspace-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 24px 32px 26px; color: #fff; background: linear-gradient(135deg, #050794 0%, #03045f 72%); }
.path-workspace-header h1 { margin: 5px 0 3px; font-size: clamp(25px, 2.5vw, 35px); line-height: 1.08; }
.path-workspace-header > div:first-child > span { color: rgba(255,255,255,.72); font-size: 12px; }
.path-workspace-header .course-builder-back { color: rgba(255,255,255,.82); }
.path-workspace-header .eyebrow { color: #fbd06a; }
.path-workspace-header__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.path-workspace-header__actions .health-pill { min-height: 34px; padding: 0 13px; background: rgba(255,255,255,.13); color: #fff; }
.path-workspace-header__actions .button--secondary { border-color: rgba(255,255,255,.24); background: #fff; }
.path-workspace-header__actions .button--primary { background: var(--utiva-yellow); color: #11135c; }
.path-tabs { display: flex; gap: 24px; padding: 0 32px; background: #fff; border-bottom: 1px solid var(--border); }
.path-tabs button { min-height: 49px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-soft); font: 700 12px/1 Poppins, sans-serif; }
.path-tabs button.is-active { color: var(--utiva-blue); border-color: var(--utiva-blue); }
.path-builder-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, .62fr); gap: 18px; padding: 22px 32px 34px; }
.path-builder-grid main, .path-builder-grid aside { display: grid; align-content: start; gap: 18px; }
.path-format-card, .path-products, .path-summary-card, .path-quick-check, .path-rule-panel, .path-rule-preview, .path-enrolments { padding: 22px; }
.path-format-card { display: grid; grid-template-columns: minmax(200px, .75fr) minmax(340px, 1.25fr); align-items: center; gap: 22px; }
.path-format-card h2 { margin: 3px 0 5px; font-size: 17px; }
.path-format-card p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.path-format-switch { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.path-format-switch > button { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 9px; min-height: 72px; padding: 10px; border: 1px solid var(--border); border-radius: 11px; background: #fff; color: var(--text); text-align: left; }
.path-format-switch > button > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: #eef1ff; color: var(--utiva-blue); }
.path-format-switch > button > div { display: grid; gap: 3px; }
.path-format-switch strong { font-size: 12px; }
.path-format-switch small { color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.path-format-switch > button.is-active { border-color: var(--utiva-blue); background: #f5f6ff; box-shadow: inset 0 0 0 1px var(--utiva-blue); }
.path-format-switch > button.is-active > span { background: var(--utiva-blue); color: #fff; }
.path-product-list { display: grid; gap: 10px; margin-top: 18px; }
.path-product-list article { display: grid; grid-template-columns: 22px 30px 38px minmax(0, 1fr) auto 64px 32px; align-items: center; gap: 10px; min-height: 78px; padding: 10px 10px 10px 7px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.path-product-grip { color: #a3abc0; }
.path-product-number { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #f2f4fa; color: var(--text-soft); font-size: 12px; font-weight: 800; }
.path-product-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: #eef1ff; color: var(--utiva-blue); }
.path-product-icon--assessment { background: #fff2d7; color: #9c6500; }
.path-product-icon--live-workshop { background: #e5f8ef; color: #177d5a; }
.path-product-list h3 { margin: 2px 0; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.path-product-list small, .path-product-list p { margin: 0; color: var(--text-soft); font-size: 12px; }
.path-required-toggle { min-height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 999px; background: #fff; color: var(--text-soft); font: 700 12px/1 Poppins, sans-serif; }
.path-required-toggle.is-required { border-color: #cbd4f6; background: #eef1ff; color: var(--utiva-blue); }
.path-order-actions { display: flex; gap: 2px; }
.path-order-actions .icon-button,.path-product-list .path-remove { width: 40px; height: 40px; }
.path-order-actions .icon-button:first-child svg { transform: rotate(180deg); }
.path-remove { color: #8b5160; }
.panel.path-summary-card { color: #fff; background: linear-gradient(150deg, #050794, #03045f); border: 0; }
.path-summary-card .eyebrow { color: #fbd06a; }
.path-summary-card h2 { margin: 3px 0 14px; font-size: 17px; }
.path-summary-card > div:not(.path-summary-result) { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.13); }
.path-summary-card > div > span { color: rgba(255,255,255,.64); font-size: 12px; }
.path-summary-card > div > strong { font-size: 12px; text-align: right; }
.path-summary-result { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 12px; border-radius: 10px; background: rgba(255,255,255,.1); }
.path-summary-result svg { color: var(--utiva-yellow); }
.path-summary-result p { margin: 0; color: rgba(255,255,255,.82); font-size: 12px; line-height: 1.5; }
.path-release-evidence { margin-top: 12px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 7px; align-items: start; color: #8ef0c8; background: rgba(255,255,255,.1); }
.path-release-evidence p { min-width: 0; margin: 0; }
.path-release-evidence strong,.path-release-evidence small { display: block; overflow-wrap: anywhere; }
.path-release-evidence strong { color: #fff; font-size: 13px; }
.path-release-evidence small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.45; }
.path-quick-check h2 { margin: 3px 0 10px; font-size: 17px; }
.path-quick-check > div { display: flex; align-items: center; gap: 8px; min-height: 34px; color: #4f596d; font-size: 12px; font-weight: 600; }
.path-quick-check > div svg { color: #20845f; }
.path-quick-check > div.is-warning svg { color: #c28000; }
.path-rules-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: 18px; padding: 22px 32px 34px; }
.path-rule-panel > label { display: grid; gap: 7px; margin-top: 15px; }
.path-rule-panel > label > span { color: #3f4659; font-size: 12px; font-weight: 700; }
.path-rule-panel select, .path-rule-panel input { width: 100%; min-height: 43px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font: 500 13px/1.2 Poppins, sans-serif; }
.path-rule-panel .builder-switch { display: flex; }
.path-rule-note { display: flex; gap: 10px; margin-top: 17px; padding: 13px; border-radius: 10px; background: #eef0ff; color: #343878; }
.path-rule-note p { margin: 0; font-size: 13px; line-height: 1.5; }
.path-rule-preview { align-self: start; }
.path-rule-preview h2 { margin: 3px 0 13px; font-size: 17px; }
.path-rule-preview > span { display: flex; align-items: flex-start; gap: 9px; padding: 11px 0; border-top: 1px solid var(--border); }
.path-rule-preview > span svg { flex: 0 0 auto; color: #20845f; }
.path-rule-preview p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.path-enrolments { margin: 22px 32px 34px; }
.path-enrolment-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.path-enrolment-stats > div { display: grid; gap: 3px; padding: 14px; border-radius: 11px; background: #f3f5ff; }
.path-enrolment-stats span { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.path-enrolment-stats strong { color: var(--utiva-blue); font-size: 21px; }
.path-cohort-list { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; }
.path-cohort-list > button { display: grid; grid-template-columns: 34px 1fr 110px 20px; align-items: center; gap: 11px; width: 100%; min-height: 62px; padding: 9px 13px; border: 0; border-bottom: 1px solid var(--border); background: #fff; color: var(--text); text-align: left; }
.path-cohort-list > button:last-child { border-bottom: 0; }
.path-cohort-list > button > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #eef1ff; color: var(--utiva-blue); }
.path-cohort-list > button > div { display: grid; gap: 3px; }
.path-cohort-list strong { font-size: 12px; }
.path-cohort-list small { color: var(--text-soft); font-size: 12px; }
.path-catalogue-modal { width: min(650px, calc(100vw - 28px)); }
.path-catalogue-list { display: grid; gap: 9px; margin: 18px 0; }
.path-catalogue-list article { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--border); border-radius: 11px; }
.path-catalogue-list article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: #eef1ff; color: var(--utiva-blue); }
.path-catalogue-list article > div { display: grid; gap: 3px; }
.path-catalogue-list strong { font-size: 12px; }
.path-catalogue-list small { color: var(--text-soft); font-size: 12px; }
.path-preview-layer { align-items: center; }
.path-preview-modal { width: min(580px, calc(100vw - 28px)); max-height: calc(100vh - 36px); overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(3,4,95,.28); }
.path-preview-modal header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px; color: #fff; background: linear-gradient(135deg, var(--utiva-blue), var(--utiva-blue-dark)); }
.path-preview-modal header h2 { margin: 4px 0; font-size: 23px; }
.path-preview-modal header span { color: rgba(255,255,255,.72); font-size: 12px; }
.path-preview-modal header .eyebrow { color: var(--utiva-yellow); }
.path-preview-modal header .icon-button { color: #fff; }
.path-preview-modal main { padding: 20px; }
.path-preview-progress { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px; padding-bottom: 17px; }
.path-preview-progress > span { display: grid; gap: 2px; }
.path-preview-progress span strong { font-size: 12px; }
.path-preview-progress small { color: var(--text-soft); font-size: 12px; }
.path-preview-progress > strong { color: var(--utiva-blue); font-size: 12px; }
.path-preview-list { display: grid; gap: 9px; }
.path-preview-list article { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; padding: 11px; border: 1px solid var(--border); border-radius: 11px; }
.path-preview-list article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #f1f3fa; color: #7a8498; font-size: 12px; font-weight: 800; }
.path-preview-list article.is-current { border-color: #c6cff7; background: #f8f9ff; }
.path-preview-list article.is-current > span { background: var(--utiva-blue); color: #fff; }
.path-preview-list article > div { display: grid; gap: 2px; }
.path-preview-list small, .path-preview-list p { margin: 0; color: var(--text-soft); font-size: 12px; }
.path-preview-list strong { font-size: 12px; }
.path-preview-list article.is-complete > span { color: #fff; background: var(--success); }
.path-preview-complete { margin-top: 12px; padding: 14px; border-radius: 11px; display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 9px; align-items: center; color: var(--success); background: #effbf6; }
.path-preview-complete p { min-width: 0; margin: 0; }
.path-preview-complete strong,.path-preview-complete small { display: block; }
.path-preview-complete strong { color: var(--text); font-size: 13px; }
.path-preview-complete small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.path-publish-modal { width: min(610px, calc(100vw - 28px)); }
.path-publish-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0; }
.path-publish-summary > div { display: grid; gap: 4px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; }
.path-publish-summary span { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.path-publish-summary strong { font-size: 12px; }
.path-publish-modal textarea { font: 500 13px/1.55 Poppins,Arial,sans-serif; }
.path-assignment-modal,.path-cohort-modal { width: min(560px,calc(100vw - 28px)); }
.path-cohort-detail { margin: 18px 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.path-cohort-detail > div { min-width: 0; padding: 13px; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.path-cohort-detail > div:nth-child(odd) { border-left: 0; }
.path-cohort-detail > div:nth-child(-n+2) { border-top: 0; }
.path-cohort-detail span,.path-cohort-detail strong { display: block; overflow-wrap: anywhere; }
.path-cohort-detail span { color: var(--text-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; font-weight: 800; }
.path-cohort-detail strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 13px; }

/* Admin live workshop operations */
.workshop-workspace-page { min-height: 100%; background: #f4f7ff; color: var(--text); }
.workshop-workspace-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 24px 32px 26px; color: #fff; background: linear-gradient(135deg, #050794 0%, #03045f 72%); }
.workshop-workspace-header h1 { margin: 5px 0 3px; font-size: clamp(25px, 2.5vw, 35px); line-height: 1.08; }
.workshop-workspace-header > div:first-child > span { color: rgba(255,255,255,.72); font-size: 12px; }
.workshop-workspace-header .course-builder-back { color: rgba(255,255,255,.82); }
.workshop-workspace-header .eyebrow { color: #fbd06a; }
.workshop-workspace-header__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.workshop-workspace-header__actions .health-pill { min-height: 34px; padding: 0 13px; background: rgba(255,255,255,.13); color: #fff; }
.workshop-workspace-header__actions .button--secondary { border-color: rgba(255,255,255,.24); background: #fff; }
.workshop-workspace-header__actions .button--primary { background: var(--utiva-yellow); color: #11135c; }
.workshop-tabs { display: flex; gap: 24px; padding: 0 32px; background: #fff; border-bottom: 1px solid var(--border); }
.workshop-tabs button { min-height: 49px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-soft); font: 700 12px/1 Poppins, sans-serif; }
.workshop-tabs button span { margin-left: 5px; padding: 2px 7px; border-radius: 999px; background: #eef1ff; }
.workshop-tabs button.is-active { color: var(--utiva-blue); border-color: var(--utiva-blue); }
.workshop-setup-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .72fr); gap: 18px; padding: 22px 32px 34px; }
.workshop-setup-grid main, .workshop-setup-grid aside { display: grid; align-content: start; gap: 18px; }
.workshop-section { padding: 22px; }
.workshop-section .section-heading p { max-width: 520px; }
.workshop-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.workshop-form-grid label, .workshop-attendance-rules label { display: grid; gap: 7px; }
.workshop-form-grid label > span, .workshop-attendance-rules label > span { color: #3f4659; font-size: 12px; font-weight: 700; }
.workshop-form-grid input, .workshop-form-grid select, .workshop-attendance-rules select, .workshop-material-form input { width: 100%; min-height: 43px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font: 500 13px/1.2 Poppins, sans-serif; }
.workshop-form-grid__wide { grid-column: 1 / -1; }
.meet-classroom-card { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px; margin: 4px 0 18px; padding: 14px; border: 1px solid #cfd8f4; border-radius: 13px; background: linear-gradient(135deg, #f7f9ff, #eef2ff); }
.meet-classroom-card__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; background: var(--utiva-blue); color: #fff; box-shadow: 0 8px 18px rgba(5,7,148,.18); }
.meet-classroom-card h3 { margin: 2px 0 3px; font-size: 15px; }
.meet-classroom-card p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.meet-classroom-card .eyebrow { color: var(--utiva-blue); font-size: 12px; }
.meet-classroom-card .health-pill { white-space: nowrap; }
.panel.meet-workspace-status { background: linear-gradient(150deg, #050794 0%, #03045f 100%); color: #fff; border: 0; }
.meet-workspace-status__top { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.meet-workspace-status__top > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: var(--utiva-yellow); color: var(--utiva-blue); }
.meet-workspace-status__top h2 { margin: 2px 0 0; font-size: 16px; }
.meet-workspace-status .eyebrow { color: #fbd06a; }
.meet-workspace-status__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.13); }
.meet-workspace-status__row span { color: rgba(255,255,255,.64); font-size: 12px; }
.meet-workspace-status__row strong { font-size: 12px; text-align: right; }
.meet-status-confirmed { display: inline-flex; align-items: center; gap: 4px; color: #8ef0c8; }
.meet-api-note { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; padding: 11px; border-radius: 10px; background: rgba(255,255,255,.1); }
.meet-api-note svg { flex: 0 0 auto; color: var(--utiva-yellow); }
.meet-api-note p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.5; }
.meet-workspace-status .button--secondary { border: 0; background: #fff; color: var(--utiva-blue); }
.meet-connection-modal { width: min(610px, calc(100vw - 28px)); }
.meet-connection-steps { display: grid; gap: 10px; margin: 19px 0; }
.meet-connection-steps > div { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; }
.meet-connection-steps > div > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; background: #eef1ff; color: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.meet-connection-steps > div.is-complete > span { background: #e1f7ed; color: #167655; }
.meet-connection-steps > div > div { display: grid; gap: 3px; }
.meet-connection-steps strong { font-size: 12px; }
.meet-connection-steps small { color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.meet-connection-result { display: flex; gap: 9px; padding: 12px; border-radius: 10px; background: #eef0ff; color: #343878; }
.meet-connection-result p { margin: 0; font-size: 13px; line-height: 1.5; }
.workshop-schedule-error { margin: -4px 0 14px; padding: 10px 12px; border: 1px solid #efbec5; border-radius: 10px; display: flex; align-items: center; gap: 8px; color: #a92d3e; background: #fff3f5; font-size: 13px; font-weight: 600; }
.workshop-release-evidence { margin: 0 0 16px; padding: 11px 12px; border-radius: 10px; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 8px; align-items: start; color: var(--success); background: #effbf6; }
.workshop-release-evidence p { min-width: 0; margin: 0; }
.workshop-release-evidence strong,.workshop-release-evidence small,.workshop-release-evidence span { display: block; overflow-wrap: anywhere; }
.workshop-release-evidence strong { color: var(--text); font-size: 13px; }
.workshop-release-evidence small,.workshop-release-evidence span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.workshop-materials { display: grid; gap: 9px; margin: 16px 0 12px; }
.workshop-materials > div { display: grid; grid-template-columns: 34px minmax(0,1fr) 40px; align-items: center; gap: 9px; min-height: 54px; padding: 7px 8px; border: 1px solid var(--border); border-radius: 10px; }
.workshop-materials > div > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; background: #eef1ff; color: var(--utiva-blue); }
.workshop-materials strong { font-size: 13px; overflow-wrap: anywhere; }
.workshop-materials .icon-button { width: 40px; height: 40px; }
.workshop-material-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.workshop-attendance-rules { gap: 16px; }
.workshop-attendance-rules > h2, .workshop-checklist > h2 { margin: 2px 0 12px; }
.workshop-attendance-rules > label { margin-top: 13px; }
.workshop-attendance-rules .builder-switch { display: flex; }
.workshop-rule-note, .workshop-session-access, .workshop-preview-notice { display: flex; gap: 10px; margin-top: 16px; padding: 12px; border-radius: 10px; background: #eef0ff; color: #343878; }
.workshop-rule-note p, .workshop-session-access p, .workshop-preview-notice p { margin: 0; font-size: 12px; line-height: 1.5; }
.workshop-checklist > div { display: flex; align-items: center; gap: 9px; min-height: 34px; color: #4f596d; font-size: 12px; font-weight: 600; }
.workshop-checklist > div svg { color: #20845f; }
.workshop-checklist > div.is-warning svg { color: #c28000; }
.workshop-sessions, .workshop-attendance { margin: 22px 32px 34px; padding: 22px; }
.workshop-session-list { display: grid; gap: 11px; margin-top: 18px; }
.workshop-session-list article { display: grid; grid-template-columns: 74px 1fr auto auto; align-items: center; gap: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; }
.workshop-session-date { display: grid; place-items: center; align-content: center; min-height: 57px; border-radius: 10px; background: #f1f3ff; color: var(--utiva-blue); }
.workshop-session-date strong { font-size: 15px; }
.workshop-session-date span { font-size: 12px; }
.workshop-session-list h3 { margin: 3px 0; font-size: 14px; }
.workshop-session-list small { color: var(--text-soft); font-size: 12px; }
.workshop-session-list p { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--text-soft); font-size: 12px; }
.workshop-session-list article > div:nth-child(2) { min-width: 0; }
.workshop-session-list h3,.workshop-session-list p { overflow-wrap: anywhere; }
.workshop-session-access { align-items: flex-start; }
.workshop-attendance-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0; }
.workshop-attendance-stats > div { display: grid; gap: 3px; padding: 14px; border-radius: 11px; background: #f3f5ff; }
.workshop-attendance-stats span { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.workshop-attendance-stats strong { color: var(--utiva-blue); font-size: 21px; }
.workshop-attendance-table { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; }
.workshop-attendance-table > div, .workshop-attendance-table > button { display: grid; grid-template-columns: 1.3fr .8fr .8fr .9fr 20px; align-items: center; width: 100%; min-height: 48px; padding: 0 14px; border: 0; border-bottom: 1px solid var(--border); background: #fff; color: var(--text); text-align: left; font: 500 12px/1.2 Poppins, sans-serif; }
.workshop-attendance-table > div { min-height: 36px; background: #f7f8fc; color: var(--text-soft); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.workshop-attendance-table > button:last-child { border-bottom: 0; }
.workshop-session-modal,.workshop-attendance-modal { width: min(610px,calc(100vw - 28px)); }
.workshop-attendance-detail { margin: 18px 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.workshop-attendance-detail > div { min-width: 0; padding: 13px; border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
.workshop-attendance-detail > div:nth-child(odd) { border-left: 0; }
.workshop-attendance-detail > div:nth-child(-n+2) { border-top: 0; }
.workshop-attendance-detail span,.workshop-attendance-detail strong { display: block; overflow-wrap: anywhere; }
.workshop-attendance-detail span { color: var(--text-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .55px; font-weight: 800; }
.workshop-attendance-detail strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 13px; }
.workshop-preview-layer { align-items: center; }
.workshop-preview-modal { width: min(520px, calc(100vw - 28px)); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 28px 80px rgba(3,4,95,.28); }
.workshop-preview-modal header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px; color: #fff; background: linear-gradient(135deg, var(--utiva-blue), var(--utiva-blue-dark)); }
.workshop-preview-modal header h2 { margin: 4px 0; font-size: 23px; }
.workshop-preview-modal header span { color: rgba(255,255,255,.72); font-size: 12px; }
.workshop-preview-modal header .eyebrow { color: var(--utiva-yellow); }
.workshop-preview-modal header .icon-button { color: #fff; }
.workshop-preview-modal main { padding: 22px; }
.workshop-preview-time { display: flex; align-items: center; gap: 12px; }
.workshop-preview-time > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 11px; background: var(--utiva-yellow); color: var(--utiva-blue); }
.workshop-preview-time div { display: grid; gap: 3px; }
.workshop-preview-time small { color: var(--text-soft); }
.workshop-preview-detail, .workshop-publish-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin: 18px 0; }
.workshop-preview-detail > div, .workshop-publish-summary > div { display: grid; gap: 4px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; }
.workshop-preview-detail span, .workshop-publish-summary span { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.workshop-preview-detail strong, .workshop-publish-summary strong { font-size: 12px; }
.workshop-publish-modal { width: min(610px, calc(100vw - 28px)); }
.workshop-publish-modal textarea { font: 500 13px/1.55 Poppins,Arial,sans-serif; }

@media (max-width: 980px) {
  .path-workspace-header { align-items: flex-start; flex-direction: column; }
  .path-workspace-header__actions { justify-content: flex-start; }
  .path-builder-grid, .path-rules-grid { grid-template-columns: 1fr; }
  .path-format-card { grid-template-columns: 1fr; }
  .workshop-workspace-header { align-items: flex-start; flex-direction: column; }
  .workshop-workspace-header__actions { justify-content: flex-start; }
  .workshop-setup-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .learner-notification-centre { width: 100vw; border-left: 0; }
  .learner-notification-centre > header { padding: 20px 18px 15px; }
  .notification-centre-toolbar { padding: 9px 15px; }
  .learner-notification-item { padding: 14px 15px; grid-template-columns: 36px minmax(0,1fr) 7px; }
  .learner-notification-item > svg { display: none; }
  .notification-preference-trigger,.notification-preferences { padding-left: 18px; padding-right: 18px; }
  .path-workspace-header, .path-builder-grid, .path-rules-grid, .path-enrolments { padding-left: 18px; padding-right: 18px; }
  .path-workspace-header__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .path-workspace-header__actions .button { width: 100%; justify-content: center; }
  .path-enrolments { margin-left: 0; margin-right: 0; }
  .path-tabs { padding: 0 18px; overflow-x: auto; }
  .path-format-switch, .path-enrolment-stats, .path-publish-summary { grid-template-columns: 1fr; }
  .path-product-list article { grid-template-columns: 28px 34px minmax(0, 1fr) auto; }
  .path-product-grip { display: none; }
  .path-product-list article > .path-required-toggle { grid-column: 3; justify-self: start; }
  .path-product-list article > .path-order-actions { grid-column: 4; grid-row: 2; }
  .path-product-list article > .path-remove { grid-column: 4; grid-row: 1; }
  .path-preview-complete { grid-template-columns: 24px 1fr; }
  .path-preview-complete .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .path-cohort-list > button { grid-template-columns: 34px 1fr 18px; }
  .path-cohort-list > button > div:nth-child(3) { grid-column: 2; }
  .workshop-workspace-header, .workshop-setup-grid, .workshop-sessions, .workshop-attendance { padding-left: 18px; padding-right: 18px; }
  .workshop-workspace-header__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .workshop-workspace-header__actions .button { width: 100%; justify-content: center; }
  .workshop-sessions, .workshop-attendance { margin-left: 0; margin-right: 0; }
  .workshop-tabs { padding: 0 18px; overflow-x: auto; }
  .workshop-form-grid { grid-template-columns: 1fr; }
  .workshop-form-grid__wide { grid-column: auto; }
  .meet-classroom-card { grid-template-columns: 42px 1fr; }
  .meet-classroom-card > .health-pill { grid-column: 2; justify-self: start; }
  .workshop-session-list article { grid-template-columns: 58px 1fr; }
  .workshop-session-list article > .health-pill, .workshop-session-list article > .button { grid-column: 2; justify-self: start; }
  .workshop-attendance-stats, .workshop-preview-detail, .workshop-publish-summary { grid-template-columns: repeat(2, 1fr); }
  .workshop-attendance-table { display: grid; gap: 10px; border: 0; overflow: visible; }
  .workshop-attendance-table > div { display: none; }
  .workshop-attendance-table > button { min-width: 0; padding: 13px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: 1fr 1fr; gap: 10px 14px; align-items: start; }
  .workshop-attendance-table > button > span { min-width: 0; display: grid; gap: 3px; overflow-wrap: anywhere; }
  .workshop-attendance-table > button > span::before { content: attr(data-label); color: var(--text-soft); font-size: 10px; line-height: 1.2; text-transform: uppercase; letter-spacing: .5px; font-weight: 800; }
  .workshop-attendance-table > button > .health-pill { width: fit-content; }
  .workshop-attendance-table > button > svg { display: none; }
}

* { box-sizing: border-box; }

html { min-width: 320px; background: #f7f9fe; }

body { margin: 0; min-width: 320px; min-height: 100vh; font-size: 15px; line-height: 1.56; -webkit-text-size-adjust: 100%; }

button, input { font: inherit; }

button { color: inherit; }

button:focus-visible, input:focus-visible { outline: 3px solid rgba(251, 175, 27, 0.55); outline-offset: 2px; }

h1, h2, h3, p { margin-top: 0; }

button { border: 0; }

.app-shell { min-height: 100vh; }

.app-main { margin-left: 248px; min-height: 100vh; }
.app-shell--client-portal .app-main { margin-left: 0; background: #f7f9fe; }

.client-portal-topbar { min-height: 74px; padding: 0 clamp(20px,4vw,64px); border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.client-portal-topbar > .brand { justify-self: start; }
.client-portal-topbar__scope { min-height: 40px; padding: 0 14px; border: 1px solid #d8e8e2; border-radius: 11px; display: flex; align-items: center; gap: 9px; color: var(--success); background: #f1fbf7; }
.client-portal-topbar__scope span, .client-portal-topbar__profile p { margin: 0; }
.client-portal-topbar__scope strong, .client-portal-topbar__scope small, .client-portal-topbar__profile strong, .client-portal-topbar__profile small { display: block; }
.client-portal-topbar__scope strong { color: var(--text); font-size: 12px; }
.client-portal-topbar__scope small { color: var(--text-soft); font-size: 12px; }
.client-portal-topbar__actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
.client-portal-topbar__actions .text-button { display: inline-flex; align-items: center; gap: 6px; }
.client-portal-topbar__profile { padding-left: 17px; border-left: 1px solid var(--border); display: flex; align-items: center; gap: 9px; }
.client-portal-topbar__profile strong { color: var(--text); font-size: 12px; }
.client-portal-topbar__profile small { color: var(--text-soft); font-size: 12px; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 248px;
  padding: 29px 18px 20px;
  display: flex;
  flex-direction: column;
  background: var(--utiva-blue-dark);
  color: #fff;
}

.sidebar__top { min-height: 45px; padding: 0 10px; display: flex; align-items: flex-start; justify-content: space-between; }
.sidebar__close { display: none !important; color: #fff !important; }

.brand { display: inline-flex; align-items: baseline; color: #fff; position: relative; }
.brand__word { font-size: 24px; font-weight: 800; line-height: 1; letter-spacing: -1.3px; }
.brand__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--utiva-yellow); margin: 0 6px 0 2px; }
.brand__product { font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px; color: rgba(255,255,255,.65); font-weight: 700; }
.brand--compact { color: var(--utiva-blue); }
.brand--compact .brand__dot { width: 6px; height: 6px; }

.nav { flex: 1; margin: 30px 0 12px; padding-right: 3px; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; min-height: 0; }
.eyebrow { margin: 0 0 7px; text-transform: uppercase; letter-spacing: 1.25px; font-size: 12px; line-height: 1.4; font-weight: 700; color: var(--text-soft); }
.nav__label { color: rgba(255,255,255,.42); padding: 0 14px 7px; }
.nav__item {
  width: 100%; min-height: 44px; padding: 0 13px; border-radius: 10px; display: flex; align-items: center; gap: 12px;
  color: rgba(255,255,255,.72); background: transparent; cursor: pointer; text-align: left; font-size: 13px; font-weight: 500;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.nav__item:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav__item.is-active { background: #fff; color: var(--utiva-blue); font-weight: 700; box-shadow: 0 8px 20px rgba(0,0,0,.13); }
.nav__item.is-active::before { content: ''; position: absolute; left: 0; width: 4px; height: 23px; border-radius: 0 5px 5px 0; background: var(--utiva-yellow); }
.nav__count { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 9px; display: grid; place-items: center; font-size: 12px; font-weight: 700; background: rgba(255,255,255,.11); }
.nav__item.is-active .nav__count { color: var(--utiva-blue); background: var(--utiva-yellow-soft); }

.sidebar__bottom { margin-top: auto; }
.support-card { width: calc(100% - 6px); margin: 0 3px 13px; padding: 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 9px; color: #fff; background: rgba(255,255,255,.06); text-align: left; cursor: pointer; }
.support-card:hover { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.1); }
.support-card__icon { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.support-card strong { display: block; font-size: 12px; }
.support-card p { margin: 1px 0 0; font-size: 12px; color: rgba(255,255,255,.56); }
.sidebar__profile { margin: 16px -2px -2px; padding: 15px 12px 2px; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.sidebar__profile strong { display: block; font-size: 12px; }
.sidebar__profile span { display: block; font-size: 12px; color: rgba(255,255,255,.48); }

.avatar { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: linear-gradient(135deg, #5d63e8, var(--utiva-blue)); font-size: 12px; font-weight: 800; }
.avatar--small { width: 35px; height: 35px; background: #6266c9; }
.avatar--post { width: 38px; height: 38px; border-radius: 50%; background: var(--utiva-yellow-soft); color: #8c5b00; }

.topbar { height: 74px; padding: 0 clamp(22px, 3.4vw, 54px); border-bottom: 1px solid rgba(219,227,243,.8); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: rgba(255,255,255,.9); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 20; }
.topbar__search { width: min(430px, 48vw); height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 9px; color: #798198; background: #f8faff; }
.topbar__search input { border: 0; outline: 0; flex: 1; min-width: 0; background: transparent; color: var(--text); font-size: 13px; }
.topbar__search input::placeholder { color: #949bae; }
.topbar__search > span { padding: 2px 6px; border: 1px solid var(--border); border-radius: 5px; color: #8b92a4; font-size: 12px; background: #fff; }
.topbar__actions { display: flex; align-items: center; gap: 18px; position: relative; }
.icon-button { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; display: grid; place-items: center; background: transparent; color: var(--text-soft); cursor: pointer; }
.icon-button:hover { background: var(--surface-soft); color: var(--utiva-blue); }
.notification { position: relative; }
.notification.is-active { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.notification > span { position: absolute; right: 2px; top: 1px; min-width: 17px; height: 17px; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); font-size: 12px; font-weight: 800; }

.notification-layer { position: fixed; inset: 0; z-index: 120; display: flex; justify-content: flex-end; background: rgba(3,4,95,.26); backdrop-filter: blur(3px); animation: fade-in 180ms ease; }
.learner-notification-centre { width: min(520px,100vw); height: 100%; border-left: 1px solid var(--border); display: flex; flex-direction: column; color: var(--text); background: #fff; box-shadow: -20px 0 60px rgba(3,4,95,.16); animation: drawer-in 220ms ease; }
.learner-notification-centre > header { padding: 24px 24px 18px; border-bottom: 1px solid #edf0f7; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.learner-notification-centre > header .icon-button { width: 40px; height: 40px; flex: 0 0 40px; }
.learner-notification-centre > header h2 { margin: 4px 0 5px; color: var(--utiva-blue-dark); font-size: 28px; line-height: 1.08; }
.learner-notification-centre > header p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.notification-centre-toolbar { min-height: 58px; padding: 10px 20px; border-bottom: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.notification-centre-toolbar > div { display: flex; flex-wrap: wrap; gap: 6px; }
.notification-centre-toolbar [role="tab"] { min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-soft); background: #fff; font: 700 12px Poppins,sans-serif; cursor: pointer; }
.notification-centre-toolbar [role="tab"].is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.notification-centre-toolbar .text-button:disabled { opacity: .42; cursor: default; }
.notification-feed { min-height: 0; flex: 1; overflow-y: auto; }
.learner-notification-item { width: 100%; min-height: 132px; padding: 18px 20px; border: 0; border-bottom: 1px solid #edf0f7; display: grid; grid-template-columns: 42px minmax(0,1fr) 7px 16px; gap: 12px; align-items: start; color: inherit; background: #fff; text-align: left; cursor: pointer; }
.learner-notification-item:hover { background: #fafbff; }
.learner-notification-item:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(5,7,148,.22); outline-offset: -3px; }
.learner-notification-item.is-unread { background: linear-gradient(90deg,rgba(5,7,148,.055),#fff 42%); }
.learner-notification-item__icon { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.learner-notification-item__icon--assignment { color: #9a5e00; background: var(--utiva-yellow-soft); }
.learner-notification-item__icon--payment { color: #286a50; background: #e8f7f1; }
.learner-notification-item__icon--credential { color: #7149a3; background: #f2eafa; }
.learner-notification-item__icon--community { color: #146983; background: #e7f5fa; }
.learner-notification-item > span:nth-child(2) { min-width: 0; }
.learner-notification-item small,.learner-notification-item strong,.learner-notification-item p { display: block; }
.learner-notification-item small { margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 700; }
.learner-notification-item strong { color: var(--text); font-size: 13px; line-height: 1.35; }
.learner-notification-item p { margin: 5px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.learner-notification-item em { width: fit-content; margin-top: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--utiva-blue); font-size: 12px; font-style: normal; font-weight: 800; }
.learner-notification-item em.is-action { padding: 4px 8px; border-radius: 999px; background: var(--utiva-blue-soft); }
.learner-notification-item > i { width: 7px; height: 7px; margin-top: 6px; border-radius: 50%; background: var(--utiva-blue); }
.learner-notification-item > svg { margin-top: 10px; color: #a3a9b8; }
.notification-empty { padding: 50px 20px; color: var(--text-soft); text-align: center; }
.notification-empty > svg { width: 44px; height: 44px; margin: 0 auto 10px; padding: 10px; border-radius: 50%; color: var(--success); background: #e8f7f1; }
.notification-empty h3 { margin: 0 0 4px; color: var(--text); font-size: 14px; }
.notification-empty p { margin: 0; font-size: 12px; }
.learner-notification-centre > footer { border-top: 1px solid #edf0f7; background: #fbfcff; }
.notification-preference-trigger { width: 100%; min-height: 54px; padding: 0 22px; border: 0; display: flex; align-items: center; justify-content: space-between; color: var(--utiva-blue); background: transparent; cursor: pointer; }
.notification-preference-trigger > span { display: inline-flex; align-items: center; gap: 8px; }
.notification-preference-trigger strong { color: var(--text); font-size: 12px; }
.notification-preference-trigger > svg { transition: transform 180ms ease; }
.notification-preference-trigger > svg.is-open { transform: rotate(180deg); }
.notification-preferences { padding: 0 22px 18px; }
.notification-preferences > p { margin: 0 0 8px; color: var(--text-soft); font-size: 12px; }
.notification-preferences label { min-height: 42px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.notification-preferences label span { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.notification-preferences label svg { color: var(--utiva-blue); }
.notification-preferences input { width: 17px; height: 17px; accent-color: var(--utiva-blue); }
.notification-preferences > small { display: block; margin-top: 9px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.trainer-notification-item { min-height: 118px; }
.learner-notification-centre--production>header p:last-child{font-size:14px}.learner-notification-centre--production .notification-centre-toolbar [role="tab"]{font-size:13px}.learner-notification-centre--production .learner-notification-item{min-height:126px}.learner-notification-centre--production .learner-notification-item small{font-size:12px}.learner-notification-centre--production .learner-notification-item strong{font-size:15px}.learner-notification-centre--production .learner-notification-item p{font-size:13px}.learner-notification-centre--production .learner-notification-item em{font-size:13px}.learner-notification-centre--production .learner-notification-item em svg{width:13px}.learner-notification-centre--production .learner-notification-item>svg{width:17px}.notification-production-loading{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.notification-production-loading>span{width:30px;height:30px;border:3px solid #dfe4f2;border-top-color:var(--utiva-blue);border-radius:50%;animation:spin 800ms linear infinite}.notification-preferences--production{padding-top:4px}.notification-preference-grid,.notification-channel-grid{display:grid}.notification-preference-grid{grid-template-columns:1fr 1fr;gap:0 16px}.notification-channel-grid{margin:8px 0 14px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:#fff}.notification-preferences--production label span{font-size:13px}.notification-preferences--production .button{min-height:44px}
@media(max-width:520px){.notification-preference-grid{grid-template-columns:1fr}.learner-notification-centre--production .notification-centre-toolbar{align-items:flex-start;flex-direction:column}.learner-notification-centre--production .notification-centre-toolbar .text-button{align-self:flex-end}}
.trainer-notification-centre--production>header p:last-child{font-size:14px}.trainer-notification-centre--production .learner-notification-item strong{font-size:15px}.trainer-notification-centre--production .learner-notification-item p{font-size:13px}.trainer-notification-centre--production .trainer-notification-priority{font-size:12px}.trainer-notification-centre--production .learner-notification-item__icon svg{width:19px}.trainer-notification-centre--production .notification-preference-grid label:first-child span svg{fill:currentColor}
.admin-notification-centre>header p:last-child{font-size:14px}.admin-notification-centre .learner-notification-item{min-height:126px}.admin-notification-centre .learner-notification-item strong{font-size:15px}.admin-notification-centre .learner-notification-item p{font-size:13px}.admin-notification-centre .learner-notification-item__icon svg{width:19px}.admin-notification-priority{width:max-content;margin-top:8px;padding:4px 8px;border-radius:999px;display:inline-flex;color:#586174;background:#eef1f7;font-size:12px;font-style:normal;font-weight:800;text-transform:uppercase}.admin-notification-priority--critical{color:#b42332;background:#ffe9ec}.admin-notification-priority--high{color:#9a5e00;background:#fff2cf}.admin-notification-item__icon--security{color:#b42332;background:#ffe9ec}.admin-notification-item__icon--integration{color:#3159bd;background:#eaf0ff}.admin-notification-item__icon--finance{color:#147248;background:#e7f8ef}.admin-notification-item__icon--support{color:#7149a3;background:#f2eafa}.admin-notification-item__icon--platform{color:#146983;background:#e7f5fa}
.topbar__search{cursor:text}.topbar__search input[readonly]{cursor:text}.global-search-layer{position:fixed;inset:0;z-index:170;padding:8vh 18px 18px;display:flex;justify-content:center;align-items:flex-start;background:rgba(3,4,95,.54);backdrop-filter:blur(7px);animation:fade-in 180ms ease}.global-search-dialog{width:min(720px,100%);max-height:min(760px,84vh);border:1px solid rgba(255,255,255,.2);border-radius:22px;display:flex;flex-direction:column;overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(3,4,95,.28);animation:fade-rise 220ms ease}.global-search-dialog>header{min-height:68px;padding:0 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:11px}.global-search-dialog>header>svg{width:22px;color:var(--utiva-blue)}.global-search-dialog>header input{min-width:0;flex:1;border:0;outline:0;color:var(--text);background:transparent;font:600 17px Poppins,Arial,sans-serif}.global-search-dialog>header .icon-button{width:40px;height:40px}.global-search-title{padding:17px 20px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.global-search-title h2{margin:2px 0 0;color:var(--utiva-blue-dark);font-size:20px}.global-search-title>span{padding:5px 8px;border-radius:7px;color:#16704a;background:#e7f8ef;font-size:12px;font-weight:800}.global-search-results{min-height:0;padding:5px 10px 14px;overflow-y:auto}.global-search-results>button{width:100%;min-height:68px;padding:10px 12px;border:0;border-radius:12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 18px;align-items:center;gap:11px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.global-search-results>button:hover,.global-search-results>button.is-active{background:#f1f4ff}.global-search-results>button>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:var(--utiva-blue);background:#e9edff}.global-search-results>button>span svg{width:19px}.global-search-results p{display:flex;flex-direction:column;gap:3px;margin:0}.global-search-results strong{font-size:15px}.global-search-results small{color:var(--text-soft);font-size:13px}.global-search-results em{padding:4px 7px;border-radius:6px;color:var(--text-soft);background:var(--surface-soft);font-size:12px;font-style:normal;font-weight:700}.global-search-results>button>svg{width:16px;color:var(--text-soft)}.global-search-state{min-height:240px;padding:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center}.global-search-state>span{width:30px;height:30px;border:3px solid #dfe4f2;border-top-color:var(--utiva-blue);border-radius:50%;animation:spin 800ms linear infinite}.global-search-state>svg{width:30px;color:var(--utiva-blue)}.global-search-state p{margin:0;color:var(--text-soft);font-size:14px}.global-search-dialog>footer{min-height:52px;padding:10px 18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:15px;color:var(--text-soft);background:#fafbff;font-size:12px;font-weight:700}.global-search-dialog>footer span{display:flex;align-items:center;gap:6px}.global-search-dialog>footer span:last-child{margin-left:auto}.global-search-dialog>footer b{padding:3px 6px;border:1px solid var(--border);border-radius:5px;color:var(--text);background:#fff;font-size:11px}.global-search-dialog>footer svg{width:14px}
@media(max-width:600px){.global-search-layer{padding:0}.global-search-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}.global-search-results>button{grid-template-columns:42px minmax(0,1fr) 16px}.global-search-results em{display:none}.global-search-dialog>footer span:last-child{display:none}}
.trainer-notification-priority { width: fit-content; margin-top: 7px; padding: 3px 7px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 12px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .45px; }
.trainer-notification-priority--urgent { color: #a82e3c; background: #fff0f2; }
.trainer-notification-priority--high { color: #8c5b00; background: var(--utiva-yellow-soft); }
.trainer-notification-priority--normal { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.topbar__profile { min-width: 40px; min-height: 40px; padding: 0; display: grid; grid-template-columns: auto auto auto; gap: 9px; align-items: center; text-align: left; background: transparent; cursor: default; }
.topbar__profile[aria-expanded] { cursor: pointer; }
.topbar__profile[aria-expanded]:hover { opacity: .8; }
.topbar__profile strong { display: block; font-size: 12px; }
.topbar__profile span { display: block; color: var(--text-soft); font-size: 12px; }
.profile-menu { position: absolute; z-index: 40; right: 0; top: 49px; width: 268px; padding: 9px; border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: var(--shadow-md); animation: rise-in 180ms ease; }
.profile-menu__status { margin-bottom: 5px; padding: 11px; border-radius: 10px; display: flex; gap: 9px; align-items: center; color: var(--success); background: #edf9f4; }
.profile-menu__status > span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: #fff; }
.profile-menu__status strong, .profile-menu__status small { display: block; }
.profile-menu__status strong { color: #125e46; font-size: 12px; }
.profile-menu__status small { margin-top: 1px; color: #4a7869; font-size: 12px; }
.profile-menu > button { width: 100%; min-height: 42px; padding: 0 10px; border-radius: 9px; display: flex; align-items: center; gap: 9px; color: var(--text); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.profile-menu > button:hover { background: var(--surface-soft); }
.profile-menu > button svg:last-child { margin-left: auto; }
.profile-menu > .profile-menu__signout { color: var(--danger); }
.menu-button { display: none; }

.page { width: min(1240px, calc(100% - 72px)); margin: 0 auto; padding: 38px 0 70px; }
.page-heading { margin-bottom: 26px; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.page-heading h1 { margin: 0; font-size: clamp(30px, 2.5vw, 38px); line-height: 1.12; letter-spacing: -1px; color: var(--utiva-blue-dark); font-weight: 800; }
.page-heading h1 span { font-size: .8em; }
.page-heading > div > p:last-child { margin: 7px 0 0; color: var(--text-soft); font-size: 14px; }
.page-heading--simple { align-items: center; padding: 10px 0 3px; }
.page-heading--simple h1 { font-size: clamp(30px, 3.2vw, 43px); max-width: 780px; }

.streak { padding: 10px 13px 10px 10px; border: 1px solid #f4deb0; border-radius: 13px; display: flex; align-items: center; gap: 10px; background: #fffaf0; text-align: left; cursor: pointer; }
.streak:hover { border-color: #e9bd60; box-shadow: 0 7px 18px rgba(183,114,0,.08); }
.streak > span { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; color: #ed8d00; background: var(--utiva-yellow-soft); }
.streak strong { display: block; font-size: 12px; }
.streak p { margin: 1px 0 0; color: var(--text-soft); font-size: 12px; }

.button { min-height: 42px; padding: 0 18px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 800; cursor: pointer; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fff; background: var(--utiva-blue); box-shadow: 0 7px 16px rgba(5,7,148,.18); }
.button--primary:hover { background: var(--utiva-blue-dark); box-shadow: 0 9px 22px rgba(5,7,148,.25); }
.button--yellow { color: var(--utiva-blue-dark); background: var(--utiva-yellow); box-shadow: 0 7px 18px rgba(183,114,0,.17); }
.button--yellow:hover { background: #ffc13c; }
.button--secondary { border: 1px solid var(--border); color: var(--utiva-blue); background: #fff; }
.button--secondary:hover { border-color: #afb9d4; background: var(--surface-soft); }
.button--full { width: 100%; }
.text-button { min-height: 40px; padding: 5px; display: inline-flex; align-items: center; gap: 5px; color: var(--utiva-blue); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }

.focus-card { min-height: 315px; padding: clamp(30px, 4vw, 53px); border-radius: 22px; overflow: hidden; display: grid; grid-template-columns: 1.08fr .92fr; color: #fff; background: var(--utiva-blue); position: relative; box-shadow: 0 20px 40px rgba(5,7,148,.16); }
.focus-card::before { content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%; top: -275px; left: 26%; background: rgba(255,255,255,.055); }
.focus-card__copy { position: relative; z-index: 2; max-width: 600px; }
.focus-card__label { width: fit-content; margin-bottom: 16px; padding: 6px 9px; border-radius: 7px; display: flex; align-items: center; gap: 6px; color: var(--utiva-yellow); background: rgba(0,0,0,.18); text-transform: uppercase; letter-spacing: 1.1px; font-size: 12px; font-weight: 700; }
.focus-card h2 { margin: 0 0 10px; max-width: 580px; font-size: clamp(28px, 3.3vw, 45px); line-height: 1.06; letter-spacing: -1.2px; font-weight: 800; }
.focus-card__copy > p { max-width: 565px; margin: 0 0 15px; color: rgba(255,255,255,.74); font-size: 14px; }
.focus-card__meta { margin-bottom: 23px; display: flex; gap: 20px; color: rgba(255,255,255,.62); font-size: 12px; }
.focus-card__meta span { display: inline-flex; gap: 7px; align-items: center; }
.focus-card__visual { min-height: 210px; position: relative; }
.progress-ring { width: 138px; height: 138px; border-radius: 50%; position: absolute; left: 50%; top: 48%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at center, var(--utiva-blue) 56%, transparent 58%), conic-gradient(var(--utiva-yellow) 0 68%, rgba(255,255,255,.13) 68% 100%); box-shadow: 0 0 0 17px rgba(255,255,255,.035); }
.progress-ring span { font-size: 29px; line-height: 1; font-weight: 800; }
.progress-ring small { margin-top: 5px; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,.55); font-size: 12px; }
.visual-note { position: absolute; padding: 8px 11px; border: 1px solid rgba(255,255,255,.19); border-radius: 9px; background: rgba(255,255,255,.09); backdrop-filter: blur(5px); font-size: 12px; font-weight: 700; }
.visual-note--one { left: 6%; top: 8%; transform: rotate(-5deg); }
.visual-note--two { right: 5%; top: 21%; transform: rotate(5deg); }
.visual-note--three { right: 9%; bottom: 7%; transform: rotate(-3deg); color: var(--utiva-blue-dark); background: var(--utiva-yellow); border-color: var(--utiva-yellow); }

.dashboard-grid { margin-top: 22px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 22px; align-items: start; }
.panel { border: 1px solid rgba(219,227,243,.92); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.panel--courses, .assignment-panel, .community-card { padding: 23px; }
.section-heading { margin-bottom: 17px; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.section-heading h2 { margin: 0; font-size: 18px; line-height: 1.25; color: var(--utiva-blue-dark); }
.section-heading .eyebrow { margin-bottom: 4px; }

.course-list { display: flex; flex-direction: column; gap: 2px; }
.course-row { width: 100%; padding: 13px 9px; border-radius: 12px; display: grid; grid-template-columns: 86px minmax(0,1fr) auto; gap: 15px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.course-row:hover { background: #f8faff; }
.course-art { height: 154px; border-radius: 13px; overflow: hidden; position: relative; background: #dfe1ff; }
.course-art--compact { width: 86px; height: 70px; border-radius: 10px; }
.course-art--yellow { background: linear-gradient(145deg, #fff1c5, #f9bd3f); }
.course-art--blue { background: linear-gradient(145deg, #d9ddff, #4249c7); }
.course-art--lavender { background: linear-gradient(145deg, #eee8ff, #8876d9); }
.course-art__orb { position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; right: -18%; bottom: -35%; box-shadow: 0 0 0 20px rgba(255,255,255,.16), 0 0 0 41px rgba(255,255,255,.11); }
.course-art__grid { position: absolute; width: 80%; height: 80%; top: -20%; left: -20%; transform: rotate(32deg); background-image: linear-gradient(rgba(3,4,95,.12) 1px, transparent 1px), linear-gradient(90deg,rgba(3,4,95,.12) 1px,transparent 1px); background-size: 13px 13px; }
.course-art__monogram { position: absolute; right: 15px; bottom: 7px; font-size: 50px; line-height: 1; color: rgba(3,4,95,.69); font-weight: 800; }
.course-art--compact .course-art__monogram { right: 8px; bottom: 4px; font-size: 27px; }
.course-row__body { min-width: 0; }
.course-row__body > p { margin: 0 0 2px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.course-row__body h3 { margin: 0 0 7px; color: var(--text); font-size: 14px; }
.course-row__body small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--text-soft); font-size: 12px; }
.course-row__progress { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.course-row__progress span { color: var(--utiva-blue); font-size: 12px; font-weight: 700; }
.course-row__arrow { width: 31px; height: 31px; border: 1px solid var(--border); border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); }
.progress { height: 6px; overflow: hidden; border-radius: 10px; background: #e9edf6; }
.progress span { height: 100%; display: block; border-radius: inherit; background: var(--utiva-blue); }
.progress--compact { height: 5px; flex: 1; max-width: 170px; }

.live-card { padding: 22px; min-height: 100%; position: relative; overflow: hidden; }
.live-card::after { content: ''; position: absolute; width: 150px; height: 150px; right: -82px; bottom: -90px; border: 24px solid var(--utiva-yellow-soft); border-radius: 50%; }
.live-card__top { margin-bottom: 20px; display: flex; align-items: center; color: var(--danger); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.live-card__top button { margin-left: auto; padding: 0; color: var(--text-soft); background: transparent; }
.live-dot { width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 0 5px rgba(214,65,82,.09); animation: pulse 2s infinite; }
.live-card__date { margin-bottom: 15px; display: flex; align-items: center; gap: 9px; }
.live-card__date strong { font-size: 37px; line-height: 1; color: var(--utiva-blue); }
.live-card__date span { color: var(--text-soft); font-size: 12px; line-height: 1.25; font-weight: 700; }
.live-card h2 { margin: 0 0 6px; font-size: 20px; line-height: 1.25; color: var(--utiva-blue-dark); }
.live-card__course { margin: 0 0 17px; color: var(--text-soft); font-size: 12px; }
.live-card__meta { margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 12px; color: var(--text-soft); font-size: 12px; }
.live-card__meta span { display: flex; align-items: center; gap: 5px; }

.assignment-row { width: 100%; min-height: 65px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 12px; align-items: center; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.assignment-row:hover { background: #fafbff; }
.assignment-row__icon { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.assignment-row h3 { margin: 0; font-size: 13px; }
.assignment-row p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; }
.assignment-row__due { text-align: right; }
.assignment-row__due strong, .assignment-row__due span { display: block; }
.assignment-row__due strong { font-size: 12px; }
.assignment-row__due span { margin-top: 2px; color: #9a5e00; font-size: 12px; }
.status-pill { width: fit-content; padding: 5px 8px; border-radius: 20px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 700; white-space: nowrap; }
.status-pill--warning { color: #9a5e00; background: var(--utiva-yellow-soft); }
.status-pill--live { display: inline-flex; align-items: center; gap: 5px; color: #b0293b; background: #fff0f2; }
.status-pill--live span { width: 6px; height: 6px; border-radius: 50%; background: var(--danger); }

.community-card { min-height: 100%; }
.community-post { margin: 5px 0 17px; display: flex; align-items: flex-start; gap: 11px; }
.community-post > div:last-child { min-width: 0; }
.community-post p { margin: 0 0 5px; color: var(--text-soft); font-size: 12px; }
.community-post p strong { color: var(--text); }
.community-post h3 { margin: 0 0 6px; font-size: 13px; line-height: 1.45; }
.community-post span { color: var(--text-soft); font-size: 12px; }

.learning-plan-card { grid-column: 1 / -1; padding: 24px; }
.learning-plan-card__heading { margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.learning-plan-card__actions { display: flex; align-items: center; gap: 10px; }
.learning-plan-card__heading h2 { margin: 0 0 4px; color: var(--utiva-blue-dark); font-size: 20px; }
.learning-plan-card__heading p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.learning-plan-card__grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 14px; }
.weekly-goal, .plan-stat { min-height: 102px; padding: 17px; border: 1px solid var(--border); border-radius: 13px; display: flex; align-items: center; gap: 15px; background: #fbfcff; }
.plan-stat { width: 100%; text-align: left; }
button.plan-stat { cursor: pointer; }
button.plan-stat:hover { border-color: #b8c4dd; background: #f7f9ff; }
button.plan-stat > svg:last-child { margin-left: auto; color: var(--text-soft); }
.weekly-goal__ring { width: 67px; height: 67px; border-radius: 50%; display: grid; place-content: center; grid-template-columns: auto auto; align-items: baseline; flex: 0 0 auto; color: var(--utiva-blue); background: radial-gradient(circle at center,#fff 59%,transparent 61%),conic-gradient(var(--utiva-yellow) 0 56%,#e9edf6 56% 100%); }
.weekly-goal__ring strong { font-size: 21px; line-height: 1; }
.weekly-goal__ring span { font-size: 12px; }
.weekly-goal > div:last-child { flex: 1; }
.weekly-goal > div:last-child > span, .weekly-goal > div:last-child > strong { display: block; }
.weekly-goal > div:last-child > span { color: var(--text-soft); font-size: 12px; }
.weekly-goal > div:last-child > strong { margin: 3px 0 10px; font-size: 12px; }
.plan-stat > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.plan-stat small, .plan-stat strong { display: block; }
.plan-stat small { color: var(--text-soft); font-size: 12px; }
.plan-stat strong { margin: 3px 0; font-size: 12px; }
.plan-stat p { margin: 0; color: var(--text-soft); font-size: 12px; }

.learner-activity-page { max-width: 1180px; }
.learner-activity-heading { align-items: center; }
.learner-activity-heading h1 { max-width: 720px; }
.activity-period { padding: 4px; border-radius: 11px; display: flex; gap: 3px; background: var(--surface-soft); }
.activity-period button { min-height: 38px; padding: 0 14px; border-radius: 8px; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.activity-period button.is-active { color: var(--utiva-blue); background: #fff; box-shadow: 0 4px 12px rgba(3,4,95,.09); }
.activity-source-note { margin: -7px 0 18px; padding: 12px 15px; border: 1px solid #dce4f6; border-radius: 12px; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); background: #f7f9ff; }
.activity-source-note p { margin: 0; }
.activity-source-note strong, .activity-source-note small { display: block; }
.activity-source-note strong { font-size: 12px; }
.activity-source-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.activity-metric-grid { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.activity-metric-grid article { min-height: 116px; padding: 18px; border: 1px solid var(--border); border-radius: 15px; display: flex; align-items: center; gap: 13px; background: #fff; box-shadow: var(--shadow-sm); }
.activity-metric-grid article > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.activity-metric-grid article:first-child > span { color: #d97706; background: var(--utiva-yellow-soft); }
.activity-metric-grid p { min-width: 0; margin: 0; }
.activity-metric-grid small, .activity-metric-grid strong, .activity-metric-grid em { display: block; }
.activity-metric-grid small { color: var(--text-soft); font-size: 12px; font-style: normal; }
.activity-metric-grid strong { margin: 4px 0; color: var(--utiva-blue-dark); font-size: 23px; line-height: 1.1; }
.activity-metric-grid em { color: var(--text-soft); font-size: 12px; line-height: 1.45; font-style: normal; }
.learner-activity-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(260px,.45fr); gap: 18px; align-items: start; }
.activity-history { padding: 22px; }
.activity-history .section-heading p:last-child { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.activity-event-list { margin-top: 12px; }
.activity-event-list article { min-height: 68px; padding: 10px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; }
.activity-event-icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.activity-event-icon--project { color: #7b4ec4; background: #f2ecff; }
.activity-event-icon--session { color: #16765b; background: #e8f7f1; }
.activity-event-list p { margin: 0; }
.activity-event-list p strong, .activity-event-list p small, .activity-event-list article > div strong, .activity-event-list article > div small { display: block; }
.activity-event-list p strong { font-size: 12px; }
.activity-event-list p small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.activity-event-list article > div { text-align: right; }
.activity-event-list article > div strong { color: var(--utiva-blue); font-size: 12px; }
.activity-event-list article > div small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.activity-goal-card { padding: 23px; text-align: center; }
.activity-goal-card h2 { margin: 3px 0 19px; color: var(--utiva-blue-dark); font-size: 20px; }
.activity-goal-ring { width: 126px; height: 126px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-content: center; grid-template-columns: auto auto; align-items: baseline; color: var(--utiva-blue); background: radial-gradient(circle at center,#fff 58%,transparent 60%),conic-gradient(var(--utiva-yellow) 0 var(--activity-progress),#e9edf6 var(--activity-progress) 100%); }
.activity-goal-ring strong { font-size: 31px; line-height: 1; }
.activity-goal-ring span { font-size: 12px; }
.activity-goal-card > p { margin: 0 0 14px; }
.activity-goal-card > p strong, .activity-goal-card > p small { display: block; }
.activity-goal-card > p strong { font-size: 12px; }
.activity-goal-card > p small { margin-top: 4px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }

.filter-row { margin: 10px 0 22px; padding-bottom: 1px; border-bottom: 1px solid var(--border); display: flex; gap: 25px; }
.filter-row button { padding: 10px 2px 12px; position: relative; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 600; cursor: pointer; }
.filter-row button > span { min-width: 20px; margin-left: 6px; padding: 2px 6px; border-radius: 999px; display: inline-block; color: var(--text-soft); background: #edf1f8; font-size: 12px; text-align: center; }
.filter-row button.is-active { color: var(--utiva-blue); font-weight: 700; }
.filter-row button.is-active > span { color: var(--utiva-blue); background: #e6e9ff; }
.filter-row button.is-active::after { content: ''; position: absolute; height: 3px; border-radius: 3px 3px 0 0; inset: auto 0 -1px; background: var(--utiva-blue); }
.library-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.course-card { overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); transition: transform 180ms ease, box-shadow 180ms ease; }
.course-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.course-card__body { padding: 21px; }
.course-card__label { min-height: 25px; display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.course-card__label .eyebrow { margin: 0; }
.course-card__body h2 { margin: 0 0 8px; color: var(--utiva-blue-dark); font-size: 19px; }
.course-card__next { min-height: 30px; margin: 0 0 11px; color: var(--text-soft); font-size: 12px; }
.course-card__resume { min-height: 88px; margin-bottom: 16px; padding: 12px; border: 1px solid #e3e8f5; border-radius: 12px; display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; background: #f8faff; }
.course-card__resume > span { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: #e9edff; }
.course-card__resume p { min-width: 0; margin: 0; }
.course-card__resume small, .course-card__resume strong, .course-card__resume em { display: block; }
.course-card__resume small { color: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.course-card__resume strong { min-height: 27px; margin: 3px 0; overflow: hidden; color: var(--text); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12px; line-height: 1.35; }
.course-card__resume em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.course-card__progress { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }
.course-card__progress span { color: var(--utiva-blue); font-size: 12px; font-weight: 700; }
.course-card__footer { margin-top: 17px; padding-top: 15px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; align-items: center; }
.course-card__footer > span { color: var(--text-soft); font-size: 12px; }
.learning-summary { margin: 4px 0 22px; padding: 18px 22px; border: 1px solid var(--border); border-radius: 15px; display: flex; gap: 0; background: #fff; box-shadow: var(--shadow-sm); }
.learning-summary div { min-width: 170px; padding-right: 28px; margin-right: 28px; border-right: 1px solid var(--border); }
.learning-summary div:last-child { border: 0; }
.learning-summary strong, .learning-summary span { display: block; }
.learning-summary strong { color: var(--utiva-blue-dark); font-size: 21px; }
.learning-summary span { color: var(--text-soft); font-size: 12px; }
.library-source-note { margin: -8px 0 18px; padding: 11px 14px; border: 1px solid #dce4f6; border-radius: 12px; display: flex; align-items: center; gap: 9px; color: var(--utiva-blue); background: #f7f9ff; }
.library-source-note p { margin: 0; }
.library-source-note strong, .library-source-note small { display: block; }
.library-source-note strong { font-size: 12px; }
.library-source-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.library-toolbar { margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.library-toolbar .filter-row { flex: 1; margin: 0; }
.library-controls { display: flex; align-items: center; gap: 9px; }
.library-result-count { padding: 6px 9px; border-radius: 999px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; white-space: nowrap; }
.library-reset { min-height: 36px; white-space: nowrap; }
.library-sort { min-width: 148px; height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 7px; color: var(--text-soft); background: #fbfcff; }
.library-sort select { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.library-toolbar .mini-search { width: 240px; margin-bottom: 0; }
.learning-empty { margin-top: 20px; padding: 50px 20px; border: 1px dashed var(--border); border-radius: 16px; }

.discovery-hero { min-height: 310px; padding: clamp(30px,4vw,52px); border-radius: 24px; display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 40px; align-items: center; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue)); position: relative; overflow: hidden; box-shadow: 0 24px 50px rgba(5,7,148,.17); }
.discovery-hero::after { content: ''; position: absolute; width: 360px; height: 360px; right: -170px; top: -150px; border: 52px solid rgba(255,255,255,.05); border-radius: 50%; }
.discovery-hero > div { position: relative; z-index: 1; }
.discovery-hero .eyebrow { color: var(--utiva-yellow); }
.discovery-hero h1 { max-width: 700px; margin: 0 0 10px; font-size: clamp(34px,4vw,52px); line-height: 1.04; letter-spacing: -1.5px; }
.discovery-hero p { max-width: 650px; color: rgba(255,255,255,.72); font-size: 13px; }
.discovery-search { width: min(570px,100%); height: 52px; margin-top: 26px; padding: 0 16px; border-radius: 12px; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); background: #fff; }
.discovery-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--text); font-size: 12px; }
.discovery-hero__graphic { width: 190px; height: 190px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; justify-self: center; background: rgba(255,255,255,.07); box-shadow: 0 0 0 22px rgba(255,255,255,.03); text-align: center; }
.discovery-hero__graphic > span { width: 45px; height: 45px; border-radius: 13px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.discovery-hero__graphic strong { margin-top: 12px; font-size: 32px; line-height: 1; }
.discovery-hero__graphic p { max-width: 125px; margin: 5px 0 0; font-size: 12px; }
.skill-collections { margin: 22px 0 34px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.skill-collections button { min-height: 92px; padding: 16px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; background: #fff; text-align: left; cursor: pointer; box-shadow: var(--shadow-sm); }
.skill-collections button:hover { transform: translateY(-2px); border-color: #bdc7eb; }
.skill-collections button > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.skill-collections strong, .skill-collections small { display: block; }
.skill-collections strong { color: var(--utiva-blue-dark); font-size: 12px; }
.skill-collections small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.catalogue-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.catalogue-heading h2 { margin: 0; color: var(--utiva-blue-dark); font-size: 24px; }
.catalogue-heading > span { color: var(--text-soft); font-size: 12px; }
.catalogue-heading__actions { display: flex; align-items: center; gap: 12px; }
.catalogue-heading__actions > span { color: var(--text-soft); font-size: 12px; white-space: nowrap; }
.catalogue-sort { min-height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 6px; color: var(--text-soft); background: #fff; }
.catalogue-sort > span { font-size: 12px; font-weight: 800; }
.catalogue-sort select { border: 0; outline: 0; color: var(--text); background: transparent; font: 700 12px Poppins,Arial,sans-serif; }
.shortlist-summary { margin: 16px 0 19px; padding: 13px 15px; border: 1px solid #dce4f6; border-radius: 13px; display: grid; grid-template-columns: 36px 1fr auto; gap: 11px; align-items: center; color: var(--utiva-blue); background: #f7f9ff; }
.shortlist-summary > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); }
.shortlist-summary p { margin: 0; }
.shortlist-summary strong,.shortlist-summary small { display: block; }
.shortlist-summary strong { color: var(--text); font-size: 12px; }
.shortlist-summary small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.shortlist-summary em { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; font-style: normal; white-space: nowrap; }
.discovery-filters { margin: 19px 0 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.discovery-filters button { min-height: 36px; padding: 0 15px; border: 1px solid var(--border); border-radius: 20px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.discovery-filters button.is-active { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); }
.catalogue-filter-bar { margin: -8px 0 22px; padding: 13px; border: 1px solid var(--border); border-radius: 13px; display: flex; align-items: flex-end; gap: 10px; background: #fff; box-shadow: var(--shadow-sm); }
.catalogue-filter-bar label { min-width: 145px; display: grid; gap: 5px; }
.catalogue-filter-bar label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.catalogue-filter-bar select { height: 36px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; font-weight: 700; }
.catalogue-filter-bar .text-button { min-height: 36px; margin-left: 2px; }
.catalogue-filter-count { margin-left: auto; padding: 8px 10px; border-radius: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; white-space: nowrap; }
.discovery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.discovery-card { border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: #fff; box-shadow: var(--shadow-sm); transition: transform 180ms ease,box-shadow 180ms ease; }
.discovery-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.discovery-card__art { position: relative; }
.discovery-card__art .course-art { height: 148px; border-radius: 0; }
.discovery-card__art > span { position: absolute; left: 13px; top: 13px; padding: 5px 8px; border-radius: 7px; color: var(--utiva-blue-dark); background: rgba(255,255,255,.92); font-size: 12px; font-weight: 800; }
.discovery-card__art > button { position: absolute; right: 13px; top: 13px; width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: rgba(255,255,255,.92); cursor: pointer; }
.discovery-card__art > button.is-saved { color: #fff; background: var(--utiva-blue); }
.discovery-card__body { padding: 19px; }
.discovery-card__body h3 { min-height: 45px; margin: 0 0 14px; color: var(--utiva-blue-dark); font-size: 17px; line-height: 1.3; }
.programme-meta { margin-bottom: 17px; display: flex; flex-wrap: wrap; gap: 11px; color: var(--text-soft); font-size: 12px; }
.programme-meta span { display: flex; align-items: center; gap: 4px; }
.programme-meta span:last-child { color: #a26700; }
.discovery-card__saved-at { margin: -7px 0 13px; display: flex; align-items: center; gap: 5px; color: var(--utiva-blue); font-size: 12px; font-weight: 700; }

/* Connected learner programme discovery */
.learner-discovery-page{display:grid;gap:22px}.learner-discovery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.learner-discovery-heading h1{margin:2px 0 0;color:var(--utiva-blue-dark);font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-1px}.learner-discovery-tools{padding:15px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:16px;background:#fff;box-shadow:var(--shadow-sm)}.learner-discovery-tools>label{min-width:260px;flex:1;height:46px;padding:0 14px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;gap:9px;color:var(--text-soft);background:#f9fbff}.learner-discovery-tools>label svg{width:19px}.learner-discovery-tools input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font:500 15px Poppins,Arial,sans-serif}.learner-discovery-tools>div{display:flex;gap:7px;flex-wrap:wrap}.learner-discovery-tools>div button{min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:20px;color:var(--text-soft);background:#fff;font-size:13px;font-weight:700;cursor:pointer}.learner-discovery-tools>div button.is-active{border-color:var(--utiva-blue);color:#fff;background:var(--utiva-blue)}.learner-discovery-count{color:var(--text-soft);font-size:14px}.learner-discovery-count strong{color:var(--text);font-size:16px}.learner-discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.learner-discovery-card{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.learner-discovery-card__art{height:150px;padding:16px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff}.learner-discovery-card__art.is-yellow,.learner-discovery-modal__art.is-yellow{color:var(--utiva-blue-dark);background:linear-gradient(135deg,#ffd871,var(--utiva-yellow))}.learner-discovery-card__art.is-blue,.learner-discovery-modal__art.is-blue{background:linear-gradient(135deg,#397ce8,var(--utiva-blue))}.learner-discovery-card__art.is-purple,.learner-discovery-modal__art.is-purple{background:linear-gradient(135deg,#8c72e8,#4b2b9b)}.learner-discovery-card__art.is-navy,.learner-discovery-modal__art.is-navy{background:linear-gradient(135deg,#203a75,var(--utiva-blue-dark))}.learner-discovery-card__art>svg{width:46px;height:46px;opacity:.9}.learner-discovery-card__art>span{position:absolute;left:14px;top:14px;padding:5px 9px;border-radius:7px;color:var(--utiva-blue-dark);background:rgba(255,255,255,.92);font-size:12px;font-weight:800}.learner-discovery-card__art>button{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:#fff;cursor:pointer}.learner-discovery-card__art>button svg{width:18px}.learner-discovery-card__art>button.is-saved{color:#fff;background:var(--utiva-blue)}.learner-discovery-card__body{padding:19px}.learner-discovery-card__body>div{display:flex;gap:7px}.learner-discovery-card__body>div span{padding:4px 7px;border-radius:6px;color:var(--text-soft);background:var(--surface-soft);font-size:12px;font-weight:700}.learner-discovery-card h2{min-height:50px;margin:12px 0 7px;color:var(--utiva-blue-dark);font-size:18px;line-height:1.35}.learner-discovery-card p{min-height:66px;margin:0;color:var(--text-soft);font-size:14px;line-height:1.55}.learner-discovery-card footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.learner-discovery-card footer span,.learner-discovery-card footer button{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:700}.learner-discovery-card footer span{color:var(--text-soft)}.learner-discovery-card footer button{border:0;color:var(--utiva-blue);background:transparent;cursor:pointer}.learner-discovery-card footer svg{width:15px}.learner-discovery-empty{grid-column:1/-1}.learner-discovery-modal{width:min(570px,calc(100vw - 30px))}.learner-discovery-modal__art{height:130px;margin:-25px -25px 22px;border-radius:18px 18px 0 0;display:flex;align-items:center;justify-content:center;position:relative}.learner-discovery-modal__art svg{width:44px;height:44px}.learner-discovery-modal__art span{position:absolute;left:20px;bottom:16px;font-size:13px;font-weight:800}.learner-discovery-modal>h2{margin:4px 0 8px;color:var(--utiva-blue-dark);font-size:27px}.learner-discovery-modal>p:not(.eyebrow){color:var(--text-soft);font-size:15px;line-height:1.55}.learner-discovery-modal__facts,.learner-discovery-modal__points{display:flex;gap:10px;flex-wrap:wrap}.learner-discovery-modal__facts{margin:18px 0}.learner-discovery-modal__facts span{min-height:42px;padding:0 12px;border-radius:9px;display:flex;align-items:center;gap:7px;background:var(--surface-soft);font-size:14px;font-weight:700}.learner-discovery-modal__facts svg,.learner-discovery-modal__points svg{width:16px}.learner-discovery-modal__points{padding:14px;border:1px solid var(--border);border-radius:12px}.learner-discovery-modal__points p{margin:0;display:flex;align-items:center;gap:6px;color:var(--text);font-size:13px;font-weight:700}.learner-discovery-modal__points svg{color:#16834a}

.programme-detail-page { max-width: 1180px; }
.programme-detail-hero { min-height: 310px; margin: 12px 0 20px; padding: clamp(28px,4vw,48px); border-radius: 22px; display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 38px; align-items: center; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue)); overflow: hidden; box-shadow: 0 20px 42px rgba(5,7,148,.17); }
.programme-detail-tags { margin-bottom: 22px; display: flex; flex-wrap: wrap; gap: 7px; }
.programme-detail-tags span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; display: inline-flex; align-items: center; gap: 4px; color: rgba(255,255,255,.85); background: rgba(255,255,255,.08); font-size: 12px; font-weight: 700; }
.programme-detail-hero .eyebrow { color: var(--utiva-yellow); }
.programme-detail-hero h1 { max-width: 760px; margin: 3px 0 10px; font-size: clamp(35px,4.3vw,56px); line-height: 1.03; letter-spacing: -1.6px; }
.programme-detail-hero > div:first-child > p:last-of-type { max-width: 690px; color: rgba(255,255,255,.73); font-size: 13px; }
.programme-detail-hero__meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 17px; color: rgba(255,255,255,.78); font-size: 12px; }
.programme-detail-hero__meta span { display: flex; align-items: center; gap: 6px; }
.programme-detail-hero .course-art { width: 235px; height: 235px; justify-self: end; border: 1px solid rgba(255,255,255,.13); box-shadow: 0 18px 36px rgba(0,0,0,.16); }
.programme-detail-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 18px; align-items: start; }
.programme-detail-layout main { display: grid; gap: 18px; }
.programme-outcomes,.programme-curriculum,.programme-trainer,.programme-enrol-card { padding: 23px; }
.programme-outcomes .section-heading > svg { color: var(--utiva-blue); }
.programme-outcomes > div:last-child { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.programme-outcomes > div:last-child p { min-height: 74px; margin: 0; padding: 13px; border-radius: 11px; display: flex; align-items: flex-start; gap: 8px; color: var(--text); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.programme-outcomes > div:last-child svg { flex: 0 0 auto; color: var(--success); }
.programme-curriculum .section-heading p:last-child { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; }
.programme-curriculum article { min-height: 65px; padding: 10px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; }
.programme-curriculum article > span:first-child { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.programme-curriculum article p { margin: 0; }
.programme-curriculum article strong,.programme-curriculum article small { display: block; }
.programme-curriculum article strong { font-size: 12px; }
.programme-curriculum article small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.programme-curriculum article > span:last-child { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.programme-trainer { display: grid; grid-template-columns: 46px 1fr auto; gap: 13px; align-items: center; }
.programme-trainer .avatar { width: 46px; height: 46px; }
.programme-trainer h2 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 16px; }
.programme-trainer p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.programme-enrol-card { position: sticky; top: 94px; }
.programme-enrol-card h2 { margin: 4px 0; color: var(--utiva-blue-dark); font-size: 22px; }
.programme-enrol-card > p:not(.eyebrow) { margin: 0 0 17px; color: var(--text-soft); font-size: 12px; }
.programme-price { margin: 15px 0; padding: 15px; border-radius: 11px; background: var(--surface-soft); }
.programme-price span,.programme-price strong,.programme-price small { display: block; }
.programme-price span { color: var(--text-soft); font-size: 12px; }
.programme-price strong { margin: 4px 0; color: var(--utiva-blue); font-size: 24px; }
.programme-price small { color: var(--text-soft); font-size: 12px; }
.programme-eligibility { margin-bottom: 17px; padding-top: 4px; }
.programme-eligibility > strong { display: block; margin-bottom: 7px; font-size: 12px; }
.programme-eligibility p { margin: 7px 0; display: flex; align-items: center; gap: 6px; color: var(--text-soft); font-size: 12px; }
.programme-eligibility svg { color: var(--success); }
.programme-prepared-record { margin: 0 0 13px; padding: 11px; border: 1px solid #bfe2d3; border-radius: 10px; display: grid; grid-template-columns: 18px 1fr; gap: 7px; align-items: center; color: var(--success); background: #f2fbf7; }
.programme-prepared-record p { min-width: 0; margin: 0; }
.programme-prepared-record strong,.programme-prepared-record small { display: block; }
.programme-prepared-record strong { font-size: 12px; }
.programme-prepared-record small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.programme-checkout-link { width: 100%; min-height: 35px; justify-content: center; }
.programme-next-steps { margin-top: 13px; padding: 12px; border-radius: 10px; background: var(--surface-soft); }
.programme-next-steps > strong { display: block; margin-bottom: 8px; color: var(--text); font-size: 12px; }
.programme-next-steps p { margin: 8px 0; display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.programme-next-steps p span { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; font-size: 12px; font-weight: 800; }
.programme-enrol-note { margin-top: 12px; display: flex; align-items: flex-start; gap: 7px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.programme-enrol-note svg { flex: 0 0 auto; color: var(--utiva-blue); }
.programme-enrol-modal { width: min(590px,100%); }
.programme-enrol-modal__hero > span { width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.programme-enrol-modal__hero h2 { margin: 3px 0 7px; color: var(--utiva-blue-dark); font-size: 25px; line-height: 1.13; }
.programme-enrol-modal__hero > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.programme-enrol-summary { margin: 18px 0; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: var(--surface-soft); }
.programme-enrol-summary p { margin: 0; }
.programme-enrol-summary span,.programme-enrol-summary strong { display: block; }
.programme-enrol-summary span { color: var(--text-soft); font-size: 12px; }
.programme-enrol-summary strong { margin-top: 3px; font-size: 12px; }
.programme-enrol-consent { margin-top: 15px; }
.programme-enrol-success { text-align: center; }
.programme-enrol-success > span { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); }
.programme-enrol-success h2 { margin: 3px 0 7px; color: var(--utiva-blue-dark); font-size: 27px; }
.programme-enrol-success > p:not(.eyebrow) { color: var(--text-soft); font-size: 12px; }
.programme-enrol-success > div { margin: 18px 0; border: 1px solid var(--border); border-radius: 11px; text-align: left; }
.programme-enrol-success > div p { margin: 0; padding: 10px 12px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; gap: 12px; font-size: 12px; }
.programme-enrol-success > div p:first-child { border-top: 0; }
.programme-enrol-success > div span { color: var(--text-soft); }
.programme-enrol-success__actions { display: flex; justify-content: flex-end; gap: 9px; }

.learner-checkout-page { max-width: 1120px; }
.checkout-heading { align-items: center; }
.checkout-heading h1 { max-width: 710px; }
.checkout-step-strip { margin: -5px 0 18px; padding: 14px 18px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: repeat(3,1fr); background: #fff; box-shadow: var(--shadow-sm); }
.checkout-step-strip > div { min-height: 38px; padding: 0 18px; border-left: 1px solid #e8ecf5; display: flex; align-items: center; gap: 9px; }
.checkout-step-strip > div:first-child { padding-left: 0; border-left: 0; }
.checkout-step-strip > div > span { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 800; }
.checkout-step-strip > div.is-active > span { color: #fff; background: var(--utiva-blue); }
.checkout-step-strip p { margin: 0; }
.checkout-step-strip strong,.checkout-step-strip small { display: block; }
.checkout-step-strip strong { font-size: 12px; }
.checkout-step-strip small { color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); gap: 18px; align-items: start; }
.checkout-layout main { display: grid; gap: 18px; }
.checkout-options,.checkout-order { padding: 23px; }
.checkout-options .section-heading { margin-bottom: 13px; }
.checkout-options .section-heading h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 18px; }
.checkout-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.checkout-choice-grid > button { min-height: 76px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; background: #fbfcff; text-align: left; cursor: pointer; }
.checkout-choice-grid > button.is-selected { border-color: var(--utiva-blue); background: var(--utiva-blue-soft); box-shadow: 0 0 0 2px rgba(5,7,148,.06); }
.checkout-choice-grid > button > span { width: 35px; height: 35px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; font-size: 12px; font-weight: 800; }
.checkout-choice-grid p { margin: 0; }
.checkout-choice-grid strong,.checkout-choice-grid small { display: block; }
.checkout-choice-grid strong { font-size: 12px; }
.checkout-choice-grid small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.checkout-plan-list { display: grid; gap: 8px; }
.checkout-plan-list > button { min-height: 70px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; background: #fbfcff; text-align: left; cursor: pointer; }
.checkout-plan-list > button.is-selected { border-color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.checkout-radio { width: 22px; height: 22px; border: 1px solid #b8c2db; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.checkout-plan-list > button.is-selected .checkout-radio { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.checkout-plan-list p { margin: 0; }
.checkout-plan-list p strong,.checkout-plan-list p small { display: block; }
.checkout-plan-list p strong { font-size: 12px; }
.checkout-plan-list p small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.checkout-plan-list > button > strong { color: var(--utiva-blue); font-size: 12px; text-align: right; }
.checkout-plan-list > button > strong small { color: var(--text-soft); font-size: 12px; }
.checkout-gateway-note { padding: 14px; border: 1px solid #dce4f6; border-radius: 12px; display: flex; gap: 9px; color: var(--utiva-blue); background: #f7f9ff; }
.checkout-gateway-note p { margin: 0; }
.checkout-gateway-note strong,.checkout-gateway-note small { display: block; }
.checkout-gateway-note strong { font-size: 12px; }
.checkout-gateway-note small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.checkout-order { position: sticky; top: 94px; }
.checkout-order h2 { margin: 4px 0; color: var(--utiva-blue-dark); font-size: 20px; }
.checkout-order > p:not(.eyebrow) { margin: 0 0 14px; color: var(--text-soft); font-size: 12px; }
.checkout-order > div { margin-bottom: 14px; border: 1px solid var(--border); border-radius: 10px; }
.checkout-order > div p { margin: 0; padding: 10px 11px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; gap: 10px; font-size: 12px; }
.checkout-order > div p:first-child { border-top: 0; }
.checkout-order > div span { color: var(--text-soft); }
.checkout-order > div strong { color: var(--utiva-blue-dark); }
.checkout-consent { margin: 13px 0; }
.checkout-fail-action { width: 100%; margin-top: 7px; justify-content: center; color: var(--danger); }
.checkout-fail-action:disabled { opacity: .45; cursor: not-allowed; }
.checkout-result { width: min(720px,100%); margin: 45px auto; padding: 35px; border: 1px solid var(--border); border-radius: 21px; background: #fff; box-shadow: var(--shadow-md); text-align: center; }
.checkout-result > span { width: 62px; height: 62px; margin: 0 auto 17px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); }
.checkout-result--failed > span { background: var(--danger); }
.checkout-result h1 { margin: 4px 0 9px; color: var(--utiva-blue-dark); font-size: clamp(28px,4vw,40px); line-height: 1.08; }
.checkout-result > p:not(.eyebrow) { max-width: 570px; margin: 0 auto; color: var(--text-soft); font-size: 12px; }
.checkout-receipt { margin: 23px 0; border: 1px solid var(--border); border-radius: 12px; text-align: left; }
.checkout-receipt p { margin: 0; padding: 11px 13px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; gap: 15px; font-size: 12px; }
.checkout-receipt p:first-child { border-top: 0; }
.checkout-receipt span { color: var(--text-soft); }
.checkout-result > div:last-child { display: flex; justify-content: center; gap: 9px; }
.checkout-failure-note { margin: 23px 0; padding: 14px; border-radius: 11px; display: flex; gap: 10px; color: #8e5300; background: var(--utiva-yellow-soft); text-align: left; }
.checkout-failure-note p { margin: 0; }
.checkout-failure-note strong,.checkout-failure-note small { display: block; }
.checkout-failure-note strong { font-size: 12px; }
.checkout-failure-note small { margin-top: 3px; font-size: 12px; }

.learner-saved-card { padding: 19px; }
.learner-saved-card .section-heading { margin-bottom: 10px; }
.learner-saved-card .section-heading h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 17px; }
.learner-saved-card .section-heading > span { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.learner-saved-list { display: grid; gap: 3px; }
.learner-saved-list > div { padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); }
.learner-saved-list p { min-width: 0; margin: 0; }
.learner-saved-list strong,.learner-saved-list small { display: block; }
.learner-saved-list strong { overflow: hidden; color: var(--text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.learner-saved-list small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.learner-saved-empty { margin: 7px 0 11px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }

.credential-wallet-summary { margin-bottom: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.credential-wallet-summary > div { padding: 14px 16px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); background: #fff; }
.credential-wallet-summary p { margin: 0; }
.credential-wallet-summary strong,.credential-wallet-summary small { display: block; }
.credential-wallet-summary strong { color: var(--text); font-size: 13px; }
.credential-wallet-summary small { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.credential-wallet-tabs { margin-bottom: 14px; display: flex; gap: 7px; }
.credential-wallet-tabs button { min-height: 42px; padding: 0 13px; border: 1px solid var(--border); border-radius: 9px; display: flex; align-items: center; gap: 6px; color: var(--text-soft); background: #fff; font: 700 12px Poppins,sans-serif; cursor: pointer; }
.credential-wallet-tabs button span { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center; color: inherit; background: var(--surface-soft); font-size: 12px; }
.credential-wallet-tabs button.is-active span { background: rgba(255,255,255,.18); }
.credential-wallet-tabs button.is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.credential-spotlight { padding: 28px; border-radius: 21px; display: grid; grid-template-columns: minmax(300px,.8fr) 1.2fr; gap: 35px; color: #fff; background: var(--utiva-blue-dark); box-shadow: var(--shadow-md); }
.credential-preview { min-height: 310px; padding: 27px; border: 1px solid rgba(255,255,255,.32); display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--utiva-blue-dark); background: linear-gradient(145deg,#fff,#f1f3ff); position: relative; text-align: center; }
.credential-preview::before,.credential-preview::after { content: ''; position: absolute; width: 65px; height: 65px; border-color: var(--utiva-yellow); border-style: solid; }
.credential-preview::before { left: 13px; top: 13px; border-width: 3px 0 0 3px; }
.credential-preview::after { right: 13px; bottom: 13px; border-width: 0 3px 3px 0; }
.credential-preview .brand { position: absolute; left: 27px; top: 24px; }
.credential-preview > svg { margin-bottom: 12px; color: var(--utiva-yellow); }
.credential-preview p { margin: 0 0 5px; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; font-weight: 700; }
.credential-preview h2 { margin: 0 0 8px; font-size: 30px; }
.credential-preview span { color: var(--text-soft); font-size: 12px; }
.credential-preview small { margin-top: 24px; color: var(--text-soft); letter-spacing: 1px; font-size: 12px; }
.credential-details { padding: 16px 5px; align-self: center; }
.credential-details > .health-pill { margin-bottom: 24px; display: inline-flex; align-items: center; gap: 5px; color: #d5ffed; background: rgba(20,125,90,.32); }
.credential-details .eyebrow { color: var(--utiva-yellow); }
.credential-details h2 { max-width: 600px; margin: 0 0 10px; font-size: clamp(28px,3.4vw,42px); line-height: 1.08; }
.credential-details > p:not(.eyebrow) { max-width: 620px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.55; }
.credential-validity { margin-top: 16px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: center; color: #d5ffed; background: rgba(20,125,90,.18); }
.credential-validity p { margin: 0; }
.credential-validity strong,.credential-validity small { display: block; }
.credential-validity strong { color: #fff; font-size: 12px; }
.credential-validity small { margin-top: 2px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.45; }
.credential-meta { margin: 24px 0; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.credential-meta small,.credential-meta strong { display: block; }
.credential-meta small { color: rgba(255,255,255,.55); font-size: 12px; }
.credential-meta strong { margin-top: 3px; font-size: 12px; line-height: 1.45; }
.credential-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.credential-actions .button--primary { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.credential-actions .button--secondary { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
.credential-download-receipt { width: fit-content; margin-top: 11px; padding: 9px 11px; border-radius: 9px; display: flex; gap: 7px; align-items: center; color: #d5ffed; background: rgba(20,125,90,.22); }
.credential-download-receipt p { margin: 0; }
.credential-download-receipt strong,.credential-download-receipt small { display: block; }
.credential-download-receipt strong { color: #fff; font-size: 12px; }
.credential-download-receipt small { margin-top: 2px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.4; }
.credential-public-link { width: fit-content; min-height: 40px; margin-top: 8px; padding: 8px 0; display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.78); font-size: 12px; font-weight: 700; text-decoration: none; }
.credential-public-link:hover { color: #fff; text-decoration: underline; }
.credential-progress { margin-top: 21px; padding: 24px; display: grid; grid-template-columns: 1fr 310px; gap: 40px; align-items: center; }
.credential-progress h2 { margin: 0 0 6px; color: var(--utiva-blue-dark); font-size: 20px; }
.credential-progress p { color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.credential-progress .progress { max-width: 600px; }
.credential-progress-note { margin-top: 8px; display: block; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.credential-next-action { width: fit-content; margin-top: 14px; padding: 10px 12px; border-radius: 10px; display: flex; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.credential-next-action p { margin: 0; }
.credential-next-action strong,.credential-next-action span { display: block; }
.credential-next-action strong { color: var(--utiva-blue); font-size: 12px; }
.credential-next-action span { margin-top: 2px; color: var(--text); font-size: 12px; }
.credential-requirements { padding: 17px; border-radius: 12px; display: grid; gap: 8px; background: var(--surface-soft); }
.credential-requirements strong { margin-bottom: 2px; color: var(--utiva-blue); font-size: 12px; }
.credential-requirements span { display: flex; align-items: center; gap: 7px; color: var(--success); font-size: 12px; line-height: 1.45; }
.credential-requirements .is-pending { color: #9a5e00; }
.credential-requirements .is-locked { color: var(--text-soft); }

.live-layout { display: grid; gap: 17px; }
.next-class { min-height: 250px; border-radius: 18px; overflow: hidden; display: grid; grid-template-columns: 180px 1fr; color: #fff; background: var(--utiva-blue); box-shadow: var(--shadow-md); }
.next-class__date { padding: 37px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--utiva-blue-dark); }
.next-class__date span, .next-class__date small { letter-spacing: 2px; font-size: 12px; font-weight: 700; }
.next-class__date strong { margin: 2px 0; font-size: 70px; line-height: 1; color: var(--utiva-yellow); }
.next-class__body { padding: 35px; }
.next-class__body h2 { margin: 16px 0 5px; max-width: 620px; font-size: 26px; line-height: 1.18; }
.next-class__body > p { margin: 0 0 19px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.5; }
.next-class__body > div { margin-bottom: 22px; display: flex; flex-wrap: wrap; gap: 20px; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.45; }
.next-class__body > div span { display: flex; align-items: center; gap: 7px; }
.next-class .button--primary { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.next-class--secondary { min-height: 190px; color: var(--text); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.next-class--secondary .next-class__date { background: var(--surface-soft); }
.next-class--secondary .next-class__date strong { color: var(--utiva-blue); }
.next-class--secondary .next-class__body { padding: 27px 35px; }
.next-class--secondary .next-class__body h2 { margin-top: 10px; color: var(--utiva-blue-dark); font-size: 21px; }
.next-class--secondary .next-class__body > p, .next-class--secondary .next-class__body > div { color: var(--text-soft); }
.live-schedule-note { margin: -9px 0 15px; padding: 13px 15px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 22px 1fr auto; gap: 10px; align-items: center; color: var(--utiva-blue); background: #fff; }
.live-schedule-note strong,.live-schedule-note p { display: block; margin: 0; }
.live-schedule-note strong { color: var(--text); font-size: 12px; }
.live-schedule-note p { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.live-schedule-note > span { padding: 6px 9px; border-radius: 999px; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; font-weight: 800; }
.live-session-detail .modal__hero .eyebrow { margin: 12px 0 4px; color: rgba(255,255,255,.72); }
.live-now-card,.recording-card { width: 100%; margin-bottom: 15px; padding: 16px 18px; border: 0; border-radius: 13px; display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: center; text-align: left; }
.live-now-card { color: #fff; background: var(--utiva-blue); cursor: pointer; }
.live-now-card > span,.recording-card > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.live-now-card p,.recording-card p { margin: 0; }
.live-now-card small,.live-now-card strong,.live-now-card em,.recording-card small,.recording-card strong,.recording-card em { display: block; font-style: normal; }
.live-now-card small,.recording-card small { text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.live-now-card strong,.recording-card strong { margin: 4px 0; font-size: 14px; line-height: 1.35; }
.live-now-card em,.recording-card em { opacity: .76; font-size: 12px; line-height: 1.45; }
.live-now-card b { display: flex; align-items: center; gap: 5px; font-size: 12px; }
.recording-card { border: 1px solid var(--border); background: #fff; }
.test-classroom,.recording-player { padding: 32px; text-align: center; }
.test-classroom > span,.recording-player > span { width: 55px; height: 55px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.test-classroom h3,.recording-player h3 { margin: 0 0 7px; color: var(--utiva-blue-dark); font-size: 19px; }
.test-classroom p,.recording-player p { margin: 0 auto 17px; max-width: 470px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.recording-player > div { height: 6px; margin: 16px auto 8px; border-radius: 99px; overflow: hidden; background: #e4e8f1; }
.recording-player > div i { width: 19%; height: 100%; display: block; background: var(--utiva-blue); }
.live-reminder-preferences { margin-bottom: 15px; padding: 14px 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: minmax(190px,1fr) 150px auto auto; gap: 12px; align-items: end; background: #fff; }
.live-reminder-preferences > div:first-child { display: flex; align-items: center; gap: 9px; }
.live-reminder-preferences > div:first-child > span { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow-soft); }
.live-reminder-preferences p { margin: 0; }
.live-reminder-preferences strong,.live-reminder-preferences small { display: block; }
.live-reminder-preferences strong { font-size: 12px; }
.live-reminder-preferences small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.live-reminder-preferences > label { display: grid; gap: 4px; color: var(--text-soft); font-size: 12px; font-weight: 700; }
.live-reminder-preferences select { height: 38px; padding: 0 9px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: #fbfcff; font: 600 12px Poppins,sans-serif; }
.live-reminder-channels { min-height: 36px; display: flex; align-items: center; gap: 8px; }
.live-reminder-channels label { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; font-weight: 700; }
.calendar-options { padding: 28px; text-align: center; }
.calendar-options > span { width: 55px; height: 55px; margin: 0 auto 12px; border-radius: 15px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.calendar-options h3 { margin: 4px 0 6px; color: var(--utiva-blue-dark); font-size: 19px; }
.calendar-options > p:not(.eyebrow) { margin: 0 auto 16px; max-width: 470px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.calendar-options > div { margin: 9px 0; display: flex; justify-content: center; gap: 7px; }

.assignment-table { overflow: hidden; }
.assignment-table__header, .assignment-table__row { display: grid; grid-template-columns: minmax(290px,1.5fr) minmax(170px,.7fr) minmax(110px,.45fr) 40px; align-items: center; gap: 15px; }
.assignment-table__header { min-height: 50px; padding: 0 24px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.assignment-table__row { min-height: 80px; padding: 0 24px; border-top: 1px solid #edf0f7; }
.assignment-table__row > div:first-child { display: flex; gap: 12px; align-items: center; }
.assignment-table__row h3 { margin: 0; font-size: 14px; line-height: 1.35; }
.assignment-table__row p { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.assignment-table__row > span { color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.assignment-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.assignment-summary > div { padding: 15px 17px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.assignment-summary strong,.assignment-summary span { display: block; }
.assignment-summary strong { color: var(--utiva-blue); font-size: 22px; }
.assignment-summary span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.assignment-filters { margin-bottom: 12px; display: flex; gap: 7px; }
.assignment-filters button { min-height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.assignment-filters button.is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.assignment-destination { width: min(620px,calc(100% - 28px)); max-height: calc(100vh - 40px); padding: 27px; border-radius: 20px; position: relative; overflow-y: auto; background: #fff; box-shadow: 0 28px 80px rgba(3,4,95,.22); }
.assignment-destination__close { position: absolute; right: 18px; top: 18px; }
.assignment-destination__hero > span { width: 48px; height: 48px; margin-bottom: 14px; border-radius: 13px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.assignment-destination__hero h2 { margin: 5px 0 7px; padding-right: 40px; color: var(--utiva-blue-dark); font-size: 28px; line-height: 1.12; }
.assignment-destination__hero > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.assignment-destination__facts { margin: 22px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.assignment-destination__facts > div { padding: 13px; border-radius: 10px; background: var(--surface-soft); }
.assignment-destination__facts span,.assignment-destination__facts strong { display: block; }
.assignment-destination__facts span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.assignment-destination__facts strong { margin-top: 4px; font-size: 12px; }
.assignment-destination__next { padding: 13px; border-left: 3px solid var(--utiva-yellow); border-radius: 0 10px 10px 0; display: grid; grid-template-columns: 20px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--utiva-yellow-soft); }
.assignment-destination__next p { margin: 0; }
.assignment-destination__next strong,.assignment-destination__next small { display: block; }
.assignment-destination__next strong { color: var(--text); font-size: 12px; }
.assignment-destination__next small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.assignment-destination__footer { margin-top: 18px; display: flex; justify-content: flex-end; gap: 9px; }
.assignment-destination--submission { width: min(760px,calc(100% - 28px)); }
.submission-back { margin: -2px 0 14px; }
.submission-hero { padding-right: 26px; }
.submission-policy { margin: 21px 0 14px; padding: 12px 14px; border: 1px solid #dfe5f2; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: #f8faff; }
.submission-policy > div { display: flex; align-items: center; gap: 9px; color: var(--utiva-blue); }
.submission-policy p { margin: 0; }
.submission-policy strong,.submission-policy small { display: block; }
.submission-policy strong { color: var(--text); font-size: 12px; }
.submission-policy small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.submission-policy > span { color: var(--text-soft); font-size: 12px; line-height: 1.45; font-weight: 700; text-align: right; }
.submission-methods { padding: 4px; border-radius: 11px; display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; background: var(--surface-soft); }
.submission-methods button { min-height: 42px; border: 0; border-radius: 8px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--text-soft); background: transparent; font: 700 12px Poppins,sans-serif; cursor: pointer; }
.submission-methods button.is-active { color: var(--utiva-blue); background: #fff; box-shadow: 0 4px 12px rgba(16,24,40,.08); }
.submission-field { margin-top: 14px; display: grid; gap: 6px; }
.submission-field > span { color: var(--text); font-size: 12px; font-weight: 700; }
.submission-field textarea { min-height: 145px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; resize: vertical; color: var(--text); background: #fbfcff; font: 400 14px/1.55 Poppins,sans-serif; }
.submission-field > div { height: 45px; padding: 0 12px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 9px; color: var(--text-soft); background: #fbfcff; }
.submission-field input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font: 500 13px Poppins,sans-serif; }
.submission-field small,.submission-file > small { color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.submission-field small.is-error,.submission-file > small.is-error { color: #b4233a; }
.submission-file { margin-top: 14px; display: grid; gap: 6px; }
.submission-file label { min-height: 145px; padding: 20px; border: 1px dashed #aab6d1; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; color: var(--utiva-blue); background: #f8faff; cursor: pointer; }
.submission-file label:hover { border-color: var(--utiva-blue); }
.submission-file strong { color: var(--text); font-size: 14px; }
.submission-file span { color: var(--text-soft); font-size: 12px; }
.submission-file input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.submission-actions { margin-top: 15px; padding-top: 14px; border-top: 1px solid #e8edf6; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.submission-actions > span { margin-right: auto; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.submission-receipt { padding: 25px; border: 1px solid #cfe9df; border-radius: 15px; text-align: center; background: #f4fbf8; }
.submission-receipt > span { width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); }
.submission-receipt h3 { margin: 5px 0 7px; color: var(--utiva-blue-dark); font-size: 18px; }
.submission-receipt > p:not(.eyebrow) { max-width: 500px; margin: 0 auto 18px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.submission-receipt > div { margin-bottom: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; text-align: left; }
.submission-receipt > div p { margin: 0; padding: 10px; border-radius: 9px; background: #fff; }
.submission-receipt > div span,.submission-receipt > div strong { display: block; }
.submission-receipt > div span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.submission-receipt > div strong { margin-top: 4px; overflow-wrap: anywhere; font-size: 12px; line-height: 1.4; }
.submission-history { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e8edf6; }
.submission-history > div { min-height: 50px; padding: 7px 0; border-top: 1px solid #eef1f6; display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.submission-history > div > span { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; font-weight: 800; }
.submission-history p { margin: 0; }
.submission-history strong,.submission-history small { display: block; }
.submission-history strong { font-size: 12px; }
.submission-history small,.submission-history time { color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.feedback-heading { margin-bottom: 16px; display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.feedback-heading h2 { margin: 5px 0 5px; color: var(--utiva-blue-dark); font-size: 28px; line-height: 1.1; }
.feedback-heading > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.feedback-heading > span { min-width: 112px; padding: 11px 13px; border-radius: 11px; text-align: center; }
.feedback-heading > span strong,.feedback-heading > span small { display: block; }
.feedback-heading > span strong { font-size: 21px; }
.feedback-heading > span small { margin-top: 2px; font-size: 12px; line-height: 1.4; font-weight: 700; }
.feedback-heading > span.is-passed { color: #08744b; background: #eaf8f2; }
.feedback-heading > span.is-revision { color: #9a5b00; background: #fff5dc; }
.feedback-version-tabs { margin-bottom: 12px; padding: 4px; border-radius: 11px; display: grid; grid-template-columns: repeat(2,1fr); gap: 4px; background: var(--surface-soft); }
.feedback-version-tabs button { min-height: 45px; padding: 8px 12px; border: 0; border-radius: 8px; color: var(--text-soft); background: transparent; text-align: left; cursor: pointer; }
.feedback-version-tabs span,.feedback-version-tabs small { display: block; }
.feedback-version-tabs span { font-size: 12px; font-weight: 800; }
.feedback-version-tabs small { margin-top: 3px; font-size: 12px; line-height: 1.4; }
.feedback-version-tabs button.is-active { color: var(--utiva-blue); background: #fff; box-shadow: 0 4px 12px rgba(16,24,40,.08); }
.feedback-trace { margin-bottom: 12px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; background: #fbfcff; }
.feedback-trace > svg { color: var(--utiva-yellow); }
.feedback-trace span,.feedback-trace strong,.feedback-trace small { display: block; }
.feedback-trace span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.feedback-trace strong { margin-top: 4px; font-size: 12px; }
.feedback-trace small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.feedback-summary { margin-bottom: 12px; padding: 15px; border-left: 3px solid var(--utiva-yellow); border-radius: 0 11px 11px 0; display: grid; grid-template-columns: 34px 1fr; gap: 10px; color: var(--utiva-blue); background: var(--utiva-yellow-soft); }
.feedback-summary h3 { margin: 3px 0 6px; color: var(--text); font-size: 15px; line-height: 1.35; }
.feedback-summary > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.feedback-rubric { padding: 15px; border: 1px solid var(--border); border-radius: 12px; }
.feedback-rubric > div:first-child { margin-bottom: 5px; display: flex; align-items: center; justify-content: space-between; }
.feedback-rubric > div:first-child strong { color: var(--utiva-blue); font-size: 14px; }
.feedback-rubric article { padding: 10px 0; border-top: 1px solid #edf0f6; }
.feedback-rubric article > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; }
.feedback-score-track { height: 5px; margin: 6px 0; border-radius: 999px; overflow: hidden; background: #e8ecf4; }
.feedback-score-track i { height: 100%; display: block; border-radius: inherit; background: var(--utiva-blue); }
.feedback-rubric article p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.feedback-next { margin-top: 12px; padding: 13px; border-radius: 10px; display: grid; grid-template-columns: 23px 1fr; gap: 9px; color: #08744b; background: #eef9f4; }
.feedback-next strong { color: var(--text); font-size: 12px; }
.feedback-next p { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.feedback-footer { margin-top: 14px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.feedback-footer > span { margin-right: auto; max-width: 340px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }

.quiz-page { width: min(1180px, calc(100% - 66px)); }
.quiz-heading { margin: 19px 0 27px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.quiz-heading h1 { margin: 5px 0 6px; color: var(--utiva-blue-dark); font-size: clamp(31px,4vw,48px); line-height: 1.04; letter-spacing: -1.5px; }
.quiz-heading > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.quiz-timer { min-width: 104px; min-height: 45px; padding: 0 14px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--utiva-blue); background: #fff; font-size: 13px; font-weight: 800; }
.quiz-timer.is-urgent { color: #a92d3e; border-color: #f0b9c0; background: #fff5f6; }
.quiz-intro-layout,.quiz-result-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(290px,.65fr); gap: 17px; align-items: start; }
.quiz-intro,.quiz-result,.quiz-policy,.quiz-review { padding: 27px; }
.quiz-intro > span,.quiz-result > span { width: 55px; height: 55px; border-radius: 15px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.quiz-intro h2,.quiz-result h2,.quiz-policy h2,.quiz-review h2 { margin: 14px 0 7px; color: var(--utiva-blue-dark); font-size: 23px; }
.quiz-intro > p { max-width: 650px; margin: 0; color: var(--text-soft); font-size: 12px; }
.quiz-rules { margin: 22px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.quiz-rules > div { padding: 14px; border-radius: 11px; background: var(--surface-soft); }
.quiz-rules strong,.quiz-rules span { display: block; }
.quiz-rules strong { color: var(--utiva-blue); font-size: 21px; }
.quiz-rules span { color: var(--text-soft); font-size: 12px; }
.quiz-last-result { margin-bottom: 18px; padding: 13px; border-radius: 10px; display: flex; gap: 9px; color: #9e3140; background: #fff2f4; }
.quiz-last-result.is-passed { color: var(--success); background: #effbf6; }
.quiz-last-result p { margin: 0; }
.quiz-last-result strong,.quiz-last-result small { display: block; }
.quiz-last-result strong { color: var(--text); font-size: 12px; }
.quiz-last-result small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.quiz-policy > div { padding: 13px 0; border-top: 1px solid #edf0f7; display: flex; gap: 9px; color: var(--utiva-blue); }
.quiz-policy p { margin: 0; }
.quiz-policy strong,.quiz-policy small { display: block; }
.quiz-policy strong { color: var(--text); font-size: 12px; }
.quiz-policy small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.quiz-workspace { padding: 25px; }
.quiz-autosave-note { margin-bottom: 17px; padding: 11px 13px; border-radius: 10px; display: grid; grid-template-columns: 23px 1fr; gap: 8px; align-items: center; color: var(--success); background: #effbf6; }
.quiz-autosave-note p { margin: 0; }
.quiz-autosave-note strong,.quiz-autosave-note small { display: block; }
.quiz-autosave-note strong { color: var(--text); font-size: 12px; }
.quiz-autosave-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.quiz-progress { display: grid; grid-template-columns: auto minmax(180px,1fr) auto; gap: 13px; align-items: center; color: var(--text-soft); font-size: 12px; }
.quiz-progress strong { color: var(--utiva-blue); }
.quiz-question { width: min(740px,100%); margin: 38px auto; }
.quiz-question h2 { margin: 7px 0 22px; color: var(--utiva-blue-dark); font-size: clamp(22px,3vw,31px); line-height: 1.25; }
.quiz-question > div { display: grid; gap: 9px; }
.quiz-question > div > button { min-height: 56px; padding: 10px 13px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 25px 1fr; gap: 10px; align-items: center; color: var(--text); background: #fbfcff; text-align: left; cursor: pointer; font-size: 12px; font-weight: 600; }
.quiz-question > div > button:hover,.quiz-question > div > button.is-selected { border-color: #aeb7e3; background: var(--utiva-blue-soft); }
.quiz-question > div > button span { width: 23px; height: 23px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: #fff; }
.quiz-question > div > button.is-selected span { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.quiz-footer { padding-top: 20px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quiz-question-nav { display: flex; gap: 5px; }
.quiz-question-nav button { width: 27px; height: 27px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.quiz-question-nav button.is-answered { color: var(--success); border-color: #a7d9c8; background: #effbf6; }
.quiz-question-nav button.is-current { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.quiz-result { text-align: center; }
.quiz-result > span { margin: 0 auto; }
.quiz-result > strong { display: block; margin: 4px 0; color: var(--utiva-blue); font-size: 60px; line-height: 1; }
.quiz-result > p:not(.eyebrow) { color: var(--text-soft); font-size: 12px; }
.quiz-result > div { margin-top: 20px; display: flex; justify-content: center; gap: 8px; }
.quiz-result > .quiz-result-receipt { margin: 18px auto 0; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; display: block; background: #fbfcff; }
.quiz-result-receipt span,.quiz-result-receipt strong,.quiz-result-receipt small { display: block; }
.quiz-result-receipt span { color: var(--text-soft); font-size: 12px; }
.quiz-result-receipt strong { margin: 3px 0; color: var(--utiva-blue); font-size: 12px; }
.quiz-result-receipt small { color: var(--text-soft); font-size: 12px; }
.quiz-result.is-passed > span { color: #fff; background: var(--success); }
.quiz-review > div { padding: 12px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 25px 1fr; gap: 8px; }
.quiz-review > div > span { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; color: #a92d3e; background: #fff2f4; font-size: 12px; font-weight: 800; }
.quiz-review > div.is-correct > span { color: #fff; background: var(--success); }
.quiz-review p { margin: 0; }
.quiz-review strong,.quiz-review small { display: block; }
.quiz-review strong { font-size: 12px; }
.quiz-review small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }

.community-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 22px; align-items: start; }
.community-feed { min-width: 0; display: grid; gap: 15px; }
.feed-card { min-width: 0; padding: 24px; }
.feed-card__author { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.feed-card__author strong { display: block; font-size: 13px; }
.feed-card__author span { display: block; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.feed-card h2 { margin: 20px 0 8px; color: var(--utiva-blue-dark); font-size: 17px; }
.feed-card > p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.55; }
.feed-card__actions { margin-top: 18px; padding-top: 15px; border-top: 1px solid #edf0f7; display: flex; gap: 20px; flex-wrap: wrap; }
.feed-card__actions button { min-height: 40px; padding: 0 4px; display: flex; align-items: center; gap: 6px; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.feed-card__actions span { display: flex; align-items: center; gap: 6px; color: var(--text-soft); font-size: 12px; }
.feed-card__actions small { min-width: 0; margin-left: auto; color: #81899b; font-size: 12px; overflow-wrap: anywhere; }
.community-boundary { margin: -7px 0 15px; padding: 13px 15px; border: 1px solid #dce5f2; border-radius: 11px; display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; color: var(--utiva-blue); background: #f8faff; }
.community-boundary p { margin: 0; }
.community-boundary strong,.community-boundary small { display: block; }
.community-boundary strong { color: var(--text); font-size: 12px; }
.community-boundary small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.community-boundary > span { padding: 6px 9px; border-radius: 999px; background: #fff; font-size: 12px; font-weight: 800; }
.community-filters { margin-bottom: 14px; display: flex; gap: 7px; }
.community-filters button { min-height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 9px; color: var(--text-soft); background: #fff; font: 700 12px Poppins,sans-serif; cursor: pointer; }
.community-filters button > span { margin-left: 4px; color: inherit; opacity: .7; }
.community-filters button.is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.community-type { padding: 5px 8px; border-radius: 999px; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px!important; font-weight: 800; }
.community-type--question { color: #855400; background: var(--utiva-yellow-soft); }
.community-type--resource { color: #08744b; background: #eaf8f2; }
.cohort-community-rules { margin: 17px 0; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 20px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--surface-soft); }
.cohort-community-rules p { margin: 0!important; }
.cohort-community-rules strong,.cohort-community-rules small { display: block; }
.cohort-community-rules strong { color: var(--text); font-size: 12px; }
.cohort-community-rules small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.community-composer { width: min(620px,calc(100% - 28px)); }
.community-composer .registration-consent { margin: 13px 0 0; }
.community-composer .form-field > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.community-test-boundary { margin: 13px 0 0; padding: 10px 12px; border-radius: 9px; display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.community-test-boundary svg { flex: 0 0 auto; color: var(--utiva-blue); }
.community-discussion { width: min(720px,calc(100% - 28px)); max-height: calc(100vh - 40px); overflow-y: auto; }
.community-discussion__post { padding-bottom: 18px; border-bottom: 1px solid #e8edf5; }
.community-discussion__post h2 { margin: 18px 0 7px; color: var(--utiva-blue-dark); font-size: 22px; }
.community-discussion__post > p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.55; }
.community-discussion__controls { margin-top: 15px; display: flex; gap: 7px; flex-wrap: wrap; }
.community-discussion__controls button { min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; display: flex; align-items: center; gap: 6px; color: var(--text-soft); background: #fff; font: 700 12px Poppins,sans-serif; cursor: pointer; }
.community-discussion__controls button.is-active { color: var(--utiva-blue); border-color: #aeb8ff; background: #f4f5ff; }
.community-follow-note { margin-top: 10px!important; padding: 9px 11px; border-radius: 8px; display: flex; gap: 6px; align-items: center; color: var(--utiva-blue)!important; background: #f4f5ff; font-size: 12px!important; }
.community-replies { padding: 17px 0 5px; }
.community-replies > div:first-child { margin-bottom: 5px; display: flex; align-items: center; justify-content: space-between; }
.community-replies > div:first-child h3 { margin: 3px 0 0; color: var(--text); font-size: 15px; }
.community-replies > div:first-child strong { padding: 5px 8px; border-radius: 999px; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; }
.community-replies article { padding: 12px 0; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 32px 1fr; gap: 9px; }
.community-replies article p { margin: 0; }
.community-replies article strong,.community-replies article strong small,.community-replies article p > span { display: block; }
.community-replies article strong { font-size: 12px; }
.community-replies article strong small { margin-top: 2px; color: var(--text-soft); font-size: 12px; font-weight: 500; }
.community-replies article p > span { margin-top: 5px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.community-reply-form { padding: 14px; border-radius: 11px; display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: end; background: var(--surface-soft); }
.community-reply-form label { display: grid; gap: 5px; color: var(--text); font-size: 12px; font-weight: 700; }
.community-reply-form label > small { color: var(--text-soft); font-size: 12px; font-weight: 500; text-align: right; }
.community-reply-form textarea { min-height: 82px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; font: 400 12px/1.5 Poppins,sans-serif; }
.community-reply-form > small { grid-column: 1/-1; display: flex; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.cohort-card { padding: 22px; }
.cohort-card h2 { margin: 0 0 20px; color: var(--utiva-blue-dark); font-size: 17px; }
.cohort-card__avatars { display: flex; }
.cohort-card__avatars .avatar { margin-right: -7px; border: 3px solid #fff; border-radius: 50%; }
.cohort-card > p:not(.eyebrow) { margin: 14px 0 18px; color: var(--text-soft); font-size: 12px; }

.modal-layer { position: fixed; inset: 0; z-index: 100; padding: 20px; display: grid; place-items: center; background: rgba(3,4,95,.72); backdrop-filter: blur(7px); animation: fade-in 220ms ease both; }
.modal { width: min(760px, 100%); max-height: calc(100vh - 40px); padding: 27px; border-radius: 24px; overflow: auto; position: relative; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.3); animation: rise-in 220ms ease both; }
.modal__close { position: absolute; z-index: 2; right: 20px; top: 20px; width: 39px; height: 39px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.12); cursor: pointer; }
.modal__hero { margin: -27px -27px 23px; padding: 38px 70px 34px 29px; border-radius: 24px 24px 16px 16px; color: #fff; background: var(--utiva-blue); position: relative; overflow: hidden; }
.modal__hero::after { content: ''; position: absolute; width: 200px; height: 200px; border: 32px solid rgba(255,255,255,.06); border-radius: 50%; right: -83px; bottom: -100px; }
.modal__kicker { margin-bottom: 12px; display: flex; align-items: center; gap: 7px; color: var(--utiva-yellow); text-transform: uppercase; letter-spacing: 1.3px; font-size: 12px; font-weight: 800; }
.modal__kicker span { width: 7px; height: 7px; border-radius: 50%; background: #ff687b; box-shadow: 0 0 0 5px rgba(255,104,123,.14); }
.modal__hero h2 { margin: 0 0 9px; max-width: 580px; font-size: clamp(30px, 4vw, 40px); line-height: 1.06; letter-spacing: -1.1px; }
.modal__hero p { margin: 0; max-width: 560px; color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.5; }
.modal__details { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.detail-card { min-height: 74px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 12px; color: var(--utiva-blue); background: #fbfcff; }
.detail-card > svg { flex: 0 0 auto; }
.detail-card span, .detail-card strong { display: block; }
.detail-card span { margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.detail-card strong { color: var(--text); font-size: 13px; line-height: 1.4; }
.modal__note { margin: 13px 0 21px; padding: 13px 15px; border-radius: 11px; display: flex; align-items: center; gap: 11px; color: #855400; background: var(--utiva-yellow-soft); }
.modal__note svg { flex: 0 0 auto; }
.modal__note p { margin: 0; font-size: 12px; line-height: 1.5; }
.modal__footer { display: flex; justify-content: flex-end; gap: 9px; }
.study-plan-modal { width: min(670px,100%); max-height: calc(100vh - 40px); padding: 26px; border-radius: 24px; overflow: auto; position: relative; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.3); animation: rise-in 220ms ease both; }
.study-plan-modal__close { position: absolute; right: 18px; top: 18px; z-index: 2; color: #fff; background: rgba(255,255,255,.12); }
.study-plan-modal__hero { margin: -26px -26px 0; padding: 33px 70px 29px 28px; border-radius: 24px 24px 16px 16px; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.study-plan-modal__hero > span { width: 42px; height: 42px; margin-bottom: 15px; border-radius: 12px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.study-plan-modal__hero .eyebrow { color: var(--utiva-yellow); }
.study-plan-modal__hero h2 { margin: 0 0 8px; font-size: clamp(29px,4vw,39px); line-height: 1.06; letter-spacing: -1px; }
.study-plan-modal__hero > p:last-child { margin: 0; color: rgba(255,255,255,.74); font-size: 13px; line-height: 1.5; }
.study-plan-form { margin-top: 22px; }
.study-plan-modal .form-field > span { font-size: 12px; }
.study-plan-modal .form-field input, .study-plan-modal .form-field select { font-size: 12px; }
.study-plan-modal .form-field > small { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.study-plan-modal .builder-switch strong { font-size: 12px; }
.study-plan-modal .builder-switch small { font-size: 12px; line-height: 1.4; }
.study-plan-modal__tip { margin-top: 17px; padding: 14px; border-radius: 11px; display: flex; gap: 10px; align-items: flex-start; color: #845400; background: var(--utiva-yellow-soft); }
.study-plan-modal__tip svg { flex: 0 0 auto; }
.study-plan-modal__tip p { margin: 0; }
.study-plan-modal__tip strong, .study-plan-modal__tip small { display: block; }
.study-plan-modal__tip strong { font-size: 12px; }
.study-plan-modal__tip small { margin-top: 3px; color: #795119; font-size: 12px; line-height: 1.4; }

.course-workspace { min-height: 100vh; background: #f7f9fe; }
.course-header { height: 66px; padding: 0 27px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.95); backdrop-filter: blur(10px); }
.course-header__back { width: fit-content; min-height: 40px; padding: 8px; display: flex; align-items: center; gap: 8px; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 600; cursor: pointer; }
.course-header__title { display: flex; align-items: center; gap: 10px; }
.course-header__title > span { color: var(--utiva-blue-dark); font-size: 12px; font-weight: 700; }
.course-header__title .progress { width: 100px; }
.course-header__title small { color: var(--utiva-blue); font-size: 12px; font-weight: 700; }
.course-header .brand { justify-self: end; }
.course-shell { min-height: calc(100vh - 66px); display: grid; grid-template-columns: 300px minmax(0,1fr) 320px; }
.course-nav { border-right: 1px solid var(--border); background: #fff; }
.course-nav__heading { padding: 28px 24px 17px; }
.course-nav__heading h1 { margin: 0 0 4px; color: var(--utiva-blue-dark); font-size: 21px; }
.course-nav__heading > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.course-tabs { height: 43px; padding: 0 17px; border-bottom: 1px solid var(--border); display: flex; gap: 17px; }
.course-tabs button { padding: 0 3px; position: relative; color: var(--text-soft); background: transparent; text-transform: capitalize; font-size: 12px; font-weight: 600; cursor: pointer; }
.course-tabs button.is-active { color: var(--utiva-blue); font-weight: 700; }
.course-tabs button.is-active::after { content: ''; height: 3px; position: absolute; inset: auto 0 -1px; border-radius: 3px 3px 0 0; background: var(--utiva-blue); }
.lesson-list { padding: 16px 12px 30px; }
.module-label { padding: 8px 10px 11px; display: flex; justify-content: space-between; align-items: center; }
.module-label span { color: var(--utiva-blue-dark); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.module-label small { color: var(--text-soft); font-size: 12px; }
.lesson-item { width: 100%; min-height: 65px; padding: 10px; border-radius: 10px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.lesson-item:hover:not(:disabled) { background: var(--surface-soft); }
.lesson-item.is-active { background: var(--utiva-blue-soft); }
.lesson-item:disabled { cursor: not-allowed; opacity: .52; }
.lesson-item__status { width: 27px; height: 27px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: var(--text-soft); font-size: 12px; font-weight: 700; background: #fff; }
.lesson-item__status--done { color: #fff; border-color: var(--success); background: var(--success); }
.lesson-item__status--current { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); box-shadow: 0 0 0 4px rgba(5,7,148,.09); }
.lesson-item strong { display: block; font-size: 12px; line-height: 1.35; }
.lesson-item small { margin-top: 4px; display: flex; align-items: center; gap: 4px; color: var(--text-soft); font-size: 12px; }
.concept-list { margin: 2px 0 8px 23px; padding: 5px 0 4px 21px; border-left: 1px solid var(--border); display: grid; gap: 2px; }
.concept-summary { padding: 5px 7px 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--text-soft); font-size: 12px; }
.concept-summary strong { color: var(--utiva-blue); font-size: 12px; }
.concept-list button { width: 100%; padding: 8px 7px; border-radius: 8px; display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 7px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.concept-list button:hover,.concept-list button.is-active { background: var(--surface-soft); }
.concept-list button.is-active strong { color: var(--utiva-blue); }
.concept-status { width: 17px; height: 17px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: var(--text-soft); background: #fff; }
.concept-status--done { border-color: var(--success); color: #fff; background: var(--success); }
.concept-status--current { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); }
.concept-list strong,.concept-list small { display: block; }
.concept-list strong { font-size: 12px; line-height: 1.35; }
.concept-list small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.concept-list button > em { color: #9aa2b4; font-size: 12px; font-style: normal; font-weight: 800; }
.concept-list button.is-active > em { color: var(--utiva-blue); }
.resource-list { padding: 16px 12px; display: grid; gap: 7px; }
.resource-list button { padding: 14px 10px; border-radius: 9px; display: flex; gap: 10px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); text-align: left; }
.resource-list button:disabled { cursor: not-allowed; opacity: .55; }
.resource-list strong, .resource-list small { display: block; }
.resource-list strong { color: var(--text); font-size: 12px; }
.resource-list small { color: var(--text-soft); font-size: 12px; }
.resource-list em,.support-resources em { display: block; margin-top: 3px; color: var(--utiva-blue); font-size: 12px; font-style: normal; font-weight: 700; }
.overview-copy { padding: 20px 23px; color: var(--text-soft); font-size: 12px; }
.overview-copy > div { margin-top: 12px; padding: 11px; border-radius: 9px; display: flex; justify-content: space-between; background: var(--surface-soft); }
.overview-copy strong { color: var(--utiva-blue); }
.lesson-content { min-width: 0; }
.lesson-content__inner { width: min(760px, calc(100% - 58px)); margin: 0 auto; padding: 44px 0 70px; }
.lesson-breadcrumb { display: flex; align-items: center; gap: 7px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.offline-lesson-bar { margin: 14px 0 20px; padding: 10px 11px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 30px minmax(0,1fr) auto auto; gap: 8px; align-items: center; color: var(--utiva-blue); background: #fff; }
.offline-lesson-bar.is-saved { border-color: #bfe2d3; background: #f2fbf7; }
.offline-lesson-bar > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--utiva-blue-soft); }
.offline-lesson-bar.is-saved > span { color: var(--success); background: #e3f6ed; }
.offline-lesson-bar strong,.offline-lesson-bar small { display: block; }
.offline-lesson-bar strong { color: var(--text); font-size: 12px; }
.offline-lesson-bar small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.offline-lesson-bar .button { min-height: 40px; padding: 0 10px; font-size: 12px; }
.offline-copy { margin: -6px 0 22px; padding: 18px; border: 1px solid #bfe2d3; border-radius: 13px; color: var(--text); background: linear-gradient(145deg,#fff,#f2fbf7); }
.offline-copy__heading { padding-bottom: 12px; border-bottom: 1px solid #dbeee6; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.offline-copy__actions { display: flex; gap: 8px; }
.offline-copy__actions .button { min-height: 40px; padding: 0 11px; font-size: 12px; white-space: nowrap; }
.offline-copy__meta { margin: 12px 0 4px; display: flex; flex-wrap: wrap; gap: 7px; }
.offline-copy__meta span { padding: 6px 8px; border: 1px solid #dbeee6; border-radius: 999px; display: inline-flex; align-items: center; gap: 4px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 700; }
.offline-copy__meta span svg { color: var(--success); }
.offline-copy h2 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 18px; }
.offline-copy h3 { margin: 15px 0 6px; font-size: 14px; }
.offline-copy p { color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.offline-copy > div:not(.offline-copy__heading):not(.offline-copy__meta) { margin: 13px 0; padding: 11px; border-left: 3px solid var(--utiva-yellow); background: var(--utiva-yellow-soft); }
.offline-copy > div:not(.offline-copy__heading):not(.offline-copy__meta) p { margin: 3px 0 0; }
.offline-copy ul { margin: 12px 0; padding: 0; display: grid; gap: 6px; list-style: none; }
.offline-copy li { display: flex; align-items: center; gap: 6px; color: var(--text); font-size: 12px; }
.offline-copy li svg { color: var(--success); }
.offline-copy > small:last-child { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.lesson-position { margin: 0 0 17px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: auto minmax(120px,1fr) auto; gap: 13px; align-items: center; background: #fff; }
.lesson-position > div { min-width: 82px; }
.lesson-position > div span,.lesson-position > div strong { display: block; }
.lesson-position > div span { color: var(--text-soft); font-size: 12px; }
.lesson-position > div strong { margin-top: 2px; color: var(--utiva-blue); font-size: 12px; }
.lesson-position .progress { margin: 0; }
.lesson-position p { min-width: 130px; margin: 0; text-align: right; }
.lesson-position p span,.lesson-position p small { display: block; }
.lesson-position p span { color: var(--text); font-size: 12px; font-weight: 700; }
.lesson-position p small { margin-top: 2px; overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.lab-launch-card { margin: 0 0 24px; padding: 17px; border: 1px solid #cfd5ff; border-radius: 14px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 13px; align-items: center; background: linear-gradient(135deg,#f7f8ff,#eef0ff); }
.lab-launch-card > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; }
.lab-launch-card h2 { margin: 2px 0 4px; color: var(--utiva-blue-dark); font-size: 15px; }
.lab-launch-card p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.lab-launch-card small { margin-top: 5px; display: flex; align-items: center; gap: 4px; color: var(--text-soft); font-size: 12px; }

.lab-page { min-height: 100vh; color: var(--text); background: #f4f7ff; }
.lab-header { min-height: 66px; padding: 0 28px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 1fr auto 1fr; gap: 18px; align-items: center; background: #fff; }
.lab-header > button { width: fit-content; min-height: 40px; padding: 0 8px; border: 0; display: inline-flex; align-items: center; gap: 7px; color: var(--utiva-blue); background: transparent; font: 800 12px Poppins,sans-serif; cursor: pointer; }
.lab-header > div { display: grid; justify-items: center; }
.lab-header > div span { color: var(--text-soft); font-size: 12px; }
.lab-header > div strong { margin-top: 2px; color: var(--utiva-blue-dark); font-size: 12px; }
.lab-header .brand { justify-self: end; }
.lab-page > main { width: min(1320px,calc(100% - 48px)); margin: 0 auto; padding: 28px 0 42px; }
.lab-heading { margin-bottom: 15px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.lab-heading h1 { margin: 5px 0 6px; color: var(--utiva-blue-dark); font-size: clamp(27px,3vw,40px); line-height: 1.05; }
.lab-heading > div:first-child > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.lab-session-status { min-width: 195px; padding: 12px 14px; border: 1px solid #cfe7dc; border-radius: 11px; display: grid; gap: 3px; background: #f2fbf7; }
.lab-session-status span { display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; }
.lab-session-status strong { color: var(--text); font-size: 12px; }
.lab-session-status small { color: var(--text-soft); font-size: 12px; }
.lab-scope-note { margin-bottom: 15px; padding: 12px 14px; border: 1px solid #e5d59b; border-radius: 11px; display: grid; grid-template-columns: 25px 1fr; gap: 9px; align-items: start; color: #7d5600; background: #fff9e7; }
.lab-scope-note strong { color: var(--text); font-size: 12px; }
.lab-scope-note p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; }
.lab-layout { display: grid; grid-template-columns: minmax(285px,.72fr) minmax(0,1.65fr); gap: 15px; align-items: start; }
.lab-layout > aside { min-width: 0; display: grid; gap: 15px; }
.lab-task-card,.lab-data-card,.lab-editor-card { border: 1px solid var(--border); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.lab-task-card,.lab-data-card,.lab-editor-card { min-width: 0; }
.lab-data-card { overflow: hidden; }
.lab-task-card,.lab-data-card { padding: 18px; }
.lab-task-card h2,.lab-data-card h2,.lab-editor-heading h2,.lab-results-heading h2 { margin: 3px 0 0; color: var(--utiva-blue-dark); font-size: 16px; }
.lab-task-card ol { margin: 15px 0; padding-left: 20px; display: grid; gap: 8px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.lab-task-card code { padding: 2px 4px; border-radius: 4px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.lab-checks { display: grid; gap: 7px; }
.lab-checks > div { display: grid; grid-template-columns: 18px 1fr; gap: 7px; align-items: center; color: var(--text-soft); font-size: 12px; }
.lab-checks span { width: 18px; height: 18px; border: 1px solid #ccd4e6; border-radius: 50%; display: grid; place-items: center; }
.lab-checks > div.is-passed { color: var(--success); font-weight: 700; }
.lab-checks > div.is-passed span { border-color: var(--success); color: #fff; background: var(--success); }
.lab-data-table { margin-top: 13px; overflow-x: auto; }
.lab-data-table > div { min-width: 500px; min-height: 34px; padding: 7px 8px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 1.2fr 1.1fr .65fr .65fr; gap: 8px; align-items: center; font-size: 12px; }
.lab-data-table > div:first-child { border-top: 0; color: var(--text-soft); background: var(--surface-soft); }
.lab-editor-card { padding: 20px; }
.lab-editor-heading,.lab-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.lab-results-actions { display: flex; gap: 8px; }
.lab-editor-heading > span { padding: 5px 8px; border-radius: 999px; color: var(--success); background: #eef9f4; font-size: 12px; font-weight: 800; }
.lab-editor-card > label { margin-top: 16px; display: grid; gap: 7px; }
.lab-editor-card > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
.lab-editor-card textarea { width: 100%; min-height: 205px; padding: 17px; border: 1px solid #1e226d; border-radius: 11px; outline: 0; resize: vertical; color: #e9edff; background: #090b3d; font: 500 12px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; }
.lab-editor-card textarea:focus { border-color: var(--utiva-yellow); box-shadow: 0 0 0 3px rgba(251,175,27,.18); }
.lab-editor-actions { margin-top: 11px; display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.lab-editor-actions small { margin-right: auto; color: var(--text-soft); font-size: 12px; }
.lab-result-status { min-height: 42px; margin: 15px 0; padding: 10px; border-radius: 10px; display: grid; grid-template-columns: 21px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.lab-result-status p { margin: 0; font-size: 12px; }
.lab-result-status--success { color: var(--success); background: #eef9f4; }
.lab-result-status--error,.lab-result-status--limit { color: #b0444e; background: #fff0f2; }
.lab-results { min-height: 220px; padding-top: 17px; border-top: 1px solid var(--border); }
.lab-results-table { margin-top: 13px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.lab-results-table > div { min-height: 37px; padding: 8px 11px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 1fr 100px; align-items: center; font-size: 12px; }
.lab-results-table > div:first-child { border-top: 0; color: var(--text-soft); background: var(--surface-soft); }
.lab-evidence-receipt { margin-top: 13px; padding: 12px; border: 1px solid #bfe2d3; border-radius: 11px; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; align-items: center; background: #f2fbf7; }
.lab-evidence-receipt > span { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: var(--success); background: #fff; }
.lab-evidence-receipt h3 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 12px; }
.lab-evidence-receipt small,.lab-evidence-receipt em { display: block; color: var(--text-soft); font-size: 12px; font-style: normal; }
.lab-evidence-receipt em { margin-top: 4px; display: flex; align-items: center; gap: 4px; color: var(--success); font-weight: 700; }
.lab-evidence-receipt .button { min-height: 40px; padding: 0 10px; font-size: 12px; }
.lab-empty-results { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 8px; color: #9aa4b9; }
.lab-empty-results p { margin: 0; font-size: 12px; }

.career-boundary-note { margin-bottom: 15px; padding: 12px 14px; border: 1px solid #cfd5ff; border-radius: 11px; display: grid; grid-template-columns: 25px 1fr; gap: 9px; align-items: start; color: var(--utiva-blue); background: #f7f8ff; }
.career-boundary-note p { margin: 0; }
.career-boundary-note strong,.career-boundary-note small { display: block; }
.career-boundary-note strong { color: var(--text); font-size: 12px; }
.career-boundary-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.career-metrics { margin-bottom: 15px; display: grid; grid-template-columns: repeat(4,1fr); gap: 11px; }
.career-metrics article { min-height: 88px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 35px 1fr; gap: 9px; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.career-metrics article > span { width: 35px; height: 35px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.career-metrics small,.career-metrics strong,.career-metrics p { display: block; margin: 0; }
.career-metrics small { color: var(--text-soft); font-size: 12px; }
.career-metrics strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.career-metrics p { color: var(--text-soft); font-size: 12px; }
.career-layout { margin-bottom: 15px; display: grid; grid-template-columns: minmax(0,1.6fr) minmax(275px,.58fr); gap: 15px; align-items: start; }
.career-layout > main,.career-layout > aside { min-width: 0; display: grid; gap: 15px; }
.career-portfolio,.career-preview,.career-readiness,.career-privacy,.career-opportunities { padding: 20px; }
.career-project-list { margin-top: 10px; display: grid; gap: 9px; }
.career-project-list article { min-height: 104px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 39px minmax(0,1fr) auto; gap: 11px; align-items: center; background: #fbfcff; }
.career-project-list article.is-selected { border-color: #aeb8ff; background: #f6f7ff; }
.career-project-list article.is-locked { opacity: .68; background: #f5f6f8; }
.career-project-icon { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; }
.career-project-list h3 { margin: 2px 0 4px; color: var(--utiva-blue-dark); font-size: 12px; }
.career-project-list div > p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.career-project-list div > small { margin-top: 7px; display: flex; align-items: center; gap: 4px; color: var(--success); font-size: 12px; font-weight: 700; }
.career-project-list label { min-width: 76px; display: flex; align-items: center; gap: 6px; color: var(--utiva-blue); font-size: 12px; font-weight: 800; cursor: pointer; }
.career-project-list label input { width: 15px; height: 15px; accent-color: var(--utiva-blue); }
.career-project-list label:has(input:disabled) { color: var(--text-soft); cursor: not-allowed; }
.career-preview { overflow: hidden; }
.career-preview-cover { margin: -20px -20px 0; padding: 24px 20px; display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.career-preview-cover > span { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); font-size: 13px; font-weight: 800; }
.career-preview-cover h2 { margin: 2px 0; font-size: 20px; }
.career-preview-cover p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.75); font-size: 12px; }
.career-preview-cover > strong { font-size: 17px; }
.career-preview-projects { padding-top: 9px; }
.career-preview-projects article { min-height: 73px; padding: 11px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.career-preview-projects article > span:first-child { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.career-preview-projects p { margin: 0; }
.career-preview-projects small,.career-preview-projects strong,.career-preview-projects em { display: block; }
.career-preview-projects small { color: var(--utiva-blue); font-size: 12px; }
.career-preview-projects strong { margin: 2px 0; font-size: 12px; }
.career-preview-projects em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.career-preview footer { padding-top: 10px; border-top: 1px solid var(--border); display: flex; align-items: center; gap: 6px; color: var(--text-soft); font-size: 12px; }
.career-readiness > .section-heading > strong { color: var(--utiva-blue-dark); font-size: 22px; }
.career-readiness > .progress { margin: 12px 0; }
.career-readiness > div:last-child article { min-height: 55px; padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 23px 1fr; gap: 8px; align-items: center; }
.career-readiness > div:last-child article > span { width: 22px; height: 22px; border: 1px solid #cad2e3; border-radius: 50%; display: grid; place-items: center; }
.career-readiness > div:last-child article.is-complete > span { border-color: var(--success); color: #fff; background: var(--success); }
.career-readiness article p { margin: 0; }
.career-readiness article strong,.career-readiness article small { display: block; }
.career-readiness article strong { font-size: 12px; }
.career-readiness article small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.career-privacy { color: var(--utiva-blue); background: linear-gradient(145deg,#fff,#f7f8ff); }
.career-privacy h2 { margin: 10px 0 5px; color: var(--utiva-blue-dark); font-size: 16px; }
.career-privacy p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.career-share-control { padding: 18px; }
.career-share-control__heading { display: flex; align-items: center; gap: 9px; }
.career-share-control__heading > span { width: 35px; height: 35px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.career-share-control h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 14px; }
.career-share-control > p { margin: 12px 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.career-share-control > div:not(.career-share-control__heading) { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.career-share-control .button { min-height: 40px; padding: 0 10px; justify-content: center; font-size: 12px; }
.career-share-control > small { margin-top: 9px; display: flex; align-items: center; gap: 4px; color: var(--text-soft); font-size: 12px; }
.career-opportunity-grid { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.career-opportunity-grid article { min-height: 152px; padding: 15px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 11px; align-items: start; background: #fbfcff; }
.career-opportunity-grid article.is-requested { border-color: #bfe2d3; background: #f2fbf7; }
.career-opportunity-grid article > span { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.career-opportunity-grid h3 { margin: 0 0 4px; color: var(--utiva-blue-dark); font-size: 12px; }
.career-opportunity-grid p { margin: 0 0 8px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.career-opportunity-grid small { margin-top: 3px; display: block; color: var(--text-soft); font-size: 12px; }
.career-opportunity-grid .button { grid-column: 2; justify-self: start; }
.career-request-form { margin-top: 12px; padding: 16px; border: 1px solid #cfd5ff; border-radius: 12px; display: grid; grid-template-columns: minmax(220px,1fr) minmax(280px,1.25fr) minmax(180px,.65fr) auto; gap: 12px; align-items: end; background: #f7f8ff; }
.career-request-form h3,.career-request-receipt h3 { margin: 2px 0 4px; color: var(--utiva-blue-dark); font-size: 12px; }
.career-request-form p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.career-request-form label { display: grid; gap: 5px; color: var(--text); font-size: 12px; font-weight: 800; }
.career-request-form textarea,.career-request-form select { width: 100%; min-height: 41px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text); background: #fff; font: 500 12px Poppins,sans-serif; }
.career-request-form textarea { min-height: 58px; resize: vertical; }
.career-request-form textarea:focus,.career-request-form select:focus { border-color: #9aa7ff; box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.career-request-form__actions { display: flex; gap: 6px; }
.career-request-form__actions .button { min-height: 40px; padding: 0 10px; white-space: nowrap; }
.career-request-receipt { margin-top: 12px; padding: 15px; border: 1px solid #bfe2d3; border-radius: 12px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 11px; align-items: center; background: #f2fbf7; }
.career-request-receipt > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: #fff; background: var(--success); }
.career-request-receipt p,.career-request-receipt small,.career-request-receipt em { display: block; margin: 0; }
.career-request-receipt div > p:not(.eyebrow) { margin: 3px 0 5px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.career-request-receipt small { color: var(--text-soft); font-size: 12px; }
.career-request-receipt em { margin-top: 5px; display: flex; align-items: center; gap: 4px; color: var(--success); font-size: 12px; font-style: normal; font-weight: 700; }

.help-boundary-note { margin-bottom: 15px; padding: 12px 14px; border: 1px solid #e5d59b; border-radius: 11px; display: grid; grid-template-columns: 25px 1fr; gap: 9px; align-items: start; color: #7d5600; background: #fff9e7; }
.help-boundary-note p { margin: 0; }
.help-case-actions { margin-top: 11px; padding-top: 11px; border-top: 1px solid var(--border); display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.help-case-actions .button { min-height: 40px; padding: 0 8px; justify-content: center; font-size: 12px; }
.help-case-actions .help-case-actions__wide { grid-column: 1 / -1; }
.help-boundary-note strong,.help-boundary-note small { display: block; }
.help-boundary-note strong { color: var(--text); font-size: 12px; }
.help-boundary-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.help-search { margin-bottom: 15px; padding: 16px; display: grid; grid-template-columns: minmax(300px,1fr) auto auto; gap: 13px; align-items: center; }
.help-search > label { min-height: 43px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 22px 1fr auto; gap: 7px; align-items: center; color: var(--text-soft); background: #fbfcff; }
.help-search input { min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; font: 500 12px Poppins,sans-serif; }
.help-search label button { width: 40px; height: 40px; border-radius: 7px; display: grid; place-items: center; color: var(--text-soft); background: transparent; cursor: pointer; }
.help-search > div { display: flex; gap: 5px; }
.help-search > div button { min-width: 40px; min-height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.help-search > div button.is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.help-search > small { color: var(--text-soft); font-size: 12px; white-space: nowrap; }
.help-layout { margin-bottom: 15px; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(275px,.55fr); gap: 15px; align-items: start; }
.help-layout > main,.help-layout > aside { min-width: 0; display: grid; gap: 15px; }
.help-articles,.help-service-card,.help-case-card,.help-escalation { padding: 20px; }
.help-article-list { margin-top: 8px; }
.help-article-list article { border-top: 1px solid #e8edf6; }
.help-article-list article > button { width: 100%; min-height: 83px; padding: 12px 3px; display: grid; grid-template-columns: 35px minmax(0,1fr) 18px; gap: 10px; align-items: center; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.help-article-list article > button > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.help-article-list article > button p { margin: 0; }
.help-article-list article > button small,.help-article-list article > button strong,.help-article-list article > button em { display: block; }
.help-article-list article > button small { color: var(--utiva-blue); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.help-article-list article > button strong { margin: 3px 0; font-size: 12px; }
.help-article-list article > button em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.help-article-list article > button > svg { color: var(--text-soft); transition: transform .16s ease; }
.help-article-list article.is-open > button > svg { transform: rotate(180deg); }
.help-article-list article > div { margin: -4px 0 13px 48px; padding: 12px; border-left: 3px solid var(--utiva-yellow); border-radius: 0 9px 9px 0; background: #fff9e7; }
.help-article-list article > div p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.help-article-list article > div span { margin-top: 8px; display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; font-weight: 700; }
.help-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 7px; color: #99a3b9; text-align: center; }
.help-empty h3 { margin: 3px 0 0; color: var(--utiva-blue-dark); font-size: 14px; }
.help-empty p { margin: 0; color: var(--text-soft); font-size: 12px; }
.help-service-card > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.help-service-card h2 { margin: 12px 0; color: var(--utiva-blue-dark); font-size: 16px; }
.help-service-card > div p { margin: 0; padding: 10px 0; border-top: 1px solid #e8edf6; }
.help-service-card strong,.help-service-card small { display: block; }
.help-service-card strong { font-size: 12px; }
.help-service-card small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.help-service-card > small { margin-top: 10px; line-height: 1.45; }
.help-case-card > div:first-child { display: grid; grid-template-columns: 31px 1fr auto; gap: 8px; align-items: center; }
.help-case-card > div:first-child > span:first-child { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.help-case-card p { margin: 0; }
.help-case-card > div:first-child small,.help-case-card > div:first-child strong { display: block; }
.help-case-card > div:first-child small { color: var(--text-soft); font-size: 12px; }
.help-case-card > div:first-child strong { font-size: 12px; }
.help-case-card h2 { margin: 14px 0 3px; color: var(--utiva-blue-dark); font-size: 14px; }
.help-case-card > p { color: var(--text-soft); font-size: 12px; }
.help-case-card .help-case-status { margin-top: 13px; padding: 11px; border-radius: 9px; background: var(--surface-soft); }
.help-case-card .help-case-status span,.help-case-card .help-case-status strong,.help-case-card .help-case-status small { display: block; }
.help-case-card .help-case-status span,.help-case-card .help-case-status small { color: var(--text-soft); font-size: 12px; }
.help-case-card .help-case-status strong { margin: 3px 0; font-size: 12px; }
.help-case-card.is-resolved { border-color: #bfe2d3; }
.help-escalation > .section-heading { align-items: flex-start; }
.help-escalation form { margin-top: 14px; display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 11px; }
.help-escalation form label { display: grid; gap: 6px; }
.help-escalation form label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
.help-escalation select,.help-escalation input,.help-escalation textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font: 500 12px Poppins,sans-serif; }
.help-escalation select,.help-escalation input { height: 42px; padding: 0 11px; }
.help-escalation textarea { min-height: 105px; padding: 11px; resize: vertical; }
.help-case-detail { grid-column: 1 / -1; }
.help-case-detail small { color: var(--text-soft); font-size: 12px; }
.help-case-submit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.help-case-submit p { margin: 0; display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.help-one-case-note { margin-top: 14px; padding: 11px 13px; border: 1px solid #e5d59b; border-radius: 10px; display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; color: #7d5600; background: #fff9e7; }
.help-one-case-note p { margin: 0; }
.help-one-case-note strong,.help-one-case-note small { display: block; }
.help-one-case-note strong { color: var(--text); font-size: 12px; }
.help-one-case-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.help-sensitive-warning { margin-top: 1px; padding: 8px 9px; border-radius: 8px; display: flex; align-items: center; gap: 5px; color: #b0444e; background: #fff0f2; font-size: 12px; font-style: normal; font-weight: 700; }
.help-escalation :disabled { cursor: not-allowed; opacity: .62; }

.trainer-auth-shell { min-height: 100vh; padding: 25px clamp(20px,5vw,78px) 40px; color: var(--text); background: radial-gradient(circle at 80% 15%,#fff4dc 0,transparent 30%),linear-gradient(135deg,#f2f6ff,#f8f9ff); }
.trainer-auth-shell > header { min-height: 42px; display: flex; align-items: center; gap: 17px; }
.trainer-auth-shell > header > span { padding-left: 16px; border-left: 1px solid var(--border); color: var(--text-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.trainer-auth-shell > header .text-button { min-width: 40px; margin-left: auto; justify-content: center; }
.trainer-auth-shell > main { width: min(1080px,100%); min-height: 670px; margin: 32px auto 0; border-radius: 24px; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(330px,.78fr); overflow: hidden; background: #fff; box-shadow: var(--shadow-md); }
.trainer-auth-card { padding: clamp(28px,5vw,60px); }
.trainer-auth-mark,.trainer-scope-success { width: 54px; height: 54px; margin-bottom: 20px; border-radius: 15px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-scope-success { color: #fff; background: var(--success); }
.trainer-auth-card h1 { margin: 5px 0 10px; color: var(--utiva-blue-dark); font-size: clamp(28px,3.4vw,42px); line-height: 1.05; letter-spacing: -1.7px; }
.trainer-auth-card > p:not(.eyebrow),.trainer-scope-review > p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.trainer-test-session { width: 100%; min-height: 74px; margin: 22px 0 15px; padding: 13px; border: 1px solid #cfd5ff; border-radius: 12px; display: grid; grid-template-columns: 35px 1fr 18px; gap: 9px; align-items: center; color: var(--utiva-blue); background: #f7f8ff; text-align: left; cursor: pointer; }
.trainer-test-session > svg:first-child { width: 35px; height: 35px; padding: 8px; border-radius: 9px; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-test-session strong,.trainer-test-session small { display: block; }
.trainer-test-session strong { font-size: 12px; }
.trainer-test-session small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-auth-divider { margin: 10px 0 16px; display: flex; align-items: center; gap: 10px; color: var(--text-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .7px; }
.trainer-auth-divider::before,.trainer-auth-divider::after { content:''; height: 1px; flex: 1; background: var(--border); }
.trainer-auth-card form { display: grid; gap: 12px; }
.trainer-auth-card form label { display: grid; gap: 6px; }
.trainer-auth-card form label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-auth-card form label > div { min-height: 44px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 8px; color: var(--text-soft); background: #fbfcff; }
.trainer-auth-card form input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font: 500 13px Poppins,sans-serif; }
.trainer-auth-card form label > div > button { width: 40px; height: 40px; border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; color: var(--text-soft); background: transparent; cursor: pointer; }
.trainer-auth-card form label > div > button:hover { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-auth-error { margin: 0; padding: 10px; border-radius: 9px; display: flex; align-items: center; gap: 6px; color: #b0444e; background: #fff0f2; font-size: 12px; }
.trainer-auth-shell > main > aside { padding: clamp(30px,5vw,58px); color: #fff; background: linear-gradient(145deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.trainer-auth-shell > main > aside > span { display: inline-flex; align-items: center; gap: 6px; color: var(--utiva-yellow); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.trainer-auth-shell > main > aside h2 { margin: 30px 0 12px; font-size: clamp(26px,3vw,38px); line-height: 1.08; }
.trainer-auth-shell > main > aside > p { margin: 0 0 34px; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.6; }
.trainer-auth-shell > main > aside > div { margin-top: 15px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: start; }
.trainer-auth-shell > main > aside > div > svg { width: 26px; height: 26px; padding: 6px; border-radius: 8px; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-auth-shell > main > aside p { margin: 0; }
.trainer-auth-shell > main > aside strong,.trainer-auth-shell > main > aside small { display: block; }
.trainer-auth-shell > main > aside strong { font-size: 12px; }
.trainer-auth-shell > main > aside small { margin-top: 3px; color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.45; }
.trainer-scope-review > section { margin: 20px 0; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.trainer-scope-review > section > div { min-height: 46px; padding: 9px 11px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.trainer-scope-review > section > div:first-child { border-top: 0; }
.trainer-scope-review > section span { color: var(--text-soft); font-size: 12px; }
.trainer-scope-review > section strong { font-size: 12px; text-align: right; }
.trainer-permission-review { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.trainer-permission-review > div { padding: 12px; border-radius: 10px; background: #eef9f4; }
.trainer-permission-review > div:last-child { background: #fff0f2; }
.trainer-permission-review p { margin: 0 0 8px; display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-permission-review > div:last-child p { color: #b0444e; }
.trainer-permission-review span { margin-top: 5px; display: block; color: var(--text-soft); font-size: 12px; }
.trainer-scope-review > small { margin: 13px 0; display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.trainer-scope-review > .text-button { margin: 14px auto 0; }
.trainer-access-banner { min-height: 44px; padding: 7px clamp(22px,3.4vw,54px); display: flex; align-items: center; gap: 12px; color: #fff; background: #24267e; }
.trainer-access-banner > div { margin-right: auto; display: flex; align-items: center; gap: 8px; }
.trainer-access-banner span { font-size: 12px; }
.trainer-access-banner button { min-height: 40px; padding: 0 4px; display: inline-flex; align-items: center; gap: 5px; color: #fff; background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.trainer-access-banner button + button { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.25); }
.trainer-scope-modal { width: min(700px,100%); }
.trainer-scope-summary { margin: 16px 0; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.trainer-scope-summary > div { padding: 11px; border-left: 1px solid var(--border); }
.trainer-scope-summary > div:first-child { border-left: 0; }
.trainer-scope-summary span,.trainer-scope-summary strong { display: block; }
.trainer-scope-summary span { color: var(--text-soft); font-size: 12px; }
.trainer-scope-summary strong { margin-top: 3px; color: var(--utiva-blue-dark); font-size: 17px; }
.trainer-scope-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.trainer-scope-columns section { padding: 13px; border-radius: 10px; background: #eef9f4; }
.trainer-scope-columns section:last-child { background: #fff0f2; }
.trainer-scope-columns h3 { margin: 0 0 9px; display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; }
.trainer-scope-columns section:last-child h3 { color: #b0444e; }
.trainer-scope-columns p { margin: 6px 0 0; color: var(--text-soft); font-size: 12px; }
.trainer-scope-note { margin: 14px 0; padding: 11px; border-radius: 9px; display: grid; grid-template-columns: 22px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-scope-note p { margin: 0; }
.trainer-scope-note strong,.trainer-scope-note small { display: block; }
.trainer-scope-note strong { color: var(--text); font-size: 12px; }
.trainer-scope-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.lesson-content h1 { margin: 12px 0 8px; color: var(--utiva-blue-dark); font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -1.3px; }
.lesson-lead { max-width: 690px; margin: 0 0 25px; color: var(--text-soft); font-size: 12px; }
.video-player { aspect-ratio: 16/8.4; border-radius: 17px; overflow: hidden; display: grid; place-items: center; position: relative; color: var(--utiva-blue-dark); background: linear-gradient(135deg, #f9cb66 0%, var(--utiva-yellow) 45%, #f59d13 100%); box-shadow: 0 22px 46px rgba(77,48,0,.16); }
.video-player::before { content: attr(data-label); position: absolute; left: 7%; top: 11%; max-width: 56%; color: rgba(3,4,95,.9); font-size: clamp(30px, 5.3vw, 70px); line-height: .9; letter-spacing: -4px; font-weight: 800; }
.video-player__pattern { position: absolute; inset: 0; overflow: hidden; }
.video-player__pattern span { position: absolute; border: 2px solid rgba(3,4,95,.2); border-radius: 50%; }
.video-player__pattern span:nth-child(1) { width: 260px; height: 260px; right: -90px; top: -90px; }
.video-player__pattern span:nth-child(2) { width: 190px; height: 190px; right: -55px; top: -55px; }
.video-player__pattern span:nth-child(3) { width: 120px; height: 120px; right: -20px; top: -20px; }
.video-player > button { z-index: 2; width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; box-shadow: 0 14px 30px rgba(3,4,95,.2); cursor: pointer; }
.video-player__controls { position: absolute; z-index: 2; left: 17px; right: 17px; bottom: 14px; padding: 9px 11px; border-radius: 10px; color: #fff; background: rgba(3,4,95,.86); }
.video-player__controls input { width: 100%; min-height: 40px; margin: -12px 0; accent-color: var(--utiva-yellow); cursor: pointer; }
.video-player__controls > div { margin-top: 3px; display: flex; align-items: center; gap: 10px; font-size: 12px; }
.video-player__controls > div span:nth-child(2) { margin-left: auto; color: #dce2ff; }
.video-player__controls strong { color: var(--utiva-yellow); }
.lesson-copy { padding: 31px 4px 0; }
.lesson-copy h2 { margin: 28px 0 9px; color: var(--utiva-blue-dark); font-size: 18px; }
.lesson-copy > h2:first-child { margin-top: 0; }
.lesson-copy p { color: var(--text-soft); font-size: 12px; }
.lesson-copy ul { padding: 0; margin: 13px 0 0; display: grid; gap: 9px; list-style: none; }
.lesson-copy li { display: flex; align-items: center; gap: 9px; font-size: 12px; }
.lesson-copy li svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; color: #fff; background: var(--success); }
.lesson-format-note { margin-bottom: 22px; padding: 13px 15px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 11px; color: var(--utiva-blue); background: var(--surface-soft); }
.lesson-format-note strong,.lesson-format-note span { display: block; }
.lesson-format-note strong { font-size: 12px; }
.lesson-format-note span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.learning-callout { margin: 26px 0; padding: 18px; border-left: 4px solid var(--utiva-yellow); border-radius: 0 12px 12px 0; display: flex; gap: 13px; background: var(--utiva-yellow-soft); }
.learning-callout > span { width: 37px; height: 37px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: #8a5900; background: rgba(251,175,27,.35); }
.learning-callout strong { display: block; margin-bottom: 3px; font-size: 12px; }
.learning-callout p { margin: 0; color: #705019; font-size: 12px; }
.knowledge-check { margin-top: 30px; padding: 22px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: var(--shadow-sm); }
.knowledge-check__heading { margin-bottom: 17px; display: flex; align-items: flex-start; gap: 12px; }
.knowledge-check__heading > span { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.knowledge-check__heading h2 { margin: 0; color: var(--utiva-blue-dark); font-size: 17px; }
.knowledge-check__heading small { display: block; margin-top: 5px; color: var(--text-soft); font-size: 12px; }
.answer-list { margin-bottom: 16px; display: grid; gap: 8px; }
.answer-list button { width: 100%; min-height: 54px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: center; background: #fbfcff; text-align: left; cursor: pointer; }
.answer-list button:hover,.answer-list button.is-selected { border-color: #aeb7e3; background: var(--utiva-blue-soft); }
.answer-list button.is-correct { border-color: #a7d9c8; background: #f1fff9; }
.answer-list button.is-wrong { border-color: #f0b9c0; background: #fff5f6; }
.answer-list button > span { width: 22px; height: 22px; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; color: #fff; }
.answer-list button.is-selected > span { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.answer-list p { margin: 0; font-size: 12px; }
.answer-feedback { margin-bottom: 15px; padding: 13px; border-radius: 10px; color: #9e3140; background: #fff2f4; }
.answer-feedback--correct { color: #126748; background: #effbf6; }
.answer-feedback strong { display: block; font-size: 12px; }
.answer-feedback p { margin: 3px 0 0; font-size: 12px; }
.knowledge-check__actions { display: flex; align-items: center; gap: 9px; }
.knowledge-check__actions > span { margin-left: auto; display: flex; align-items: center; gap: 4px; color: var(--text-soft); font-size: 12px; font-weight: 700; }
.knowledge-check__actions > span.is-passed { color: var(--success); }
.knowledge-attempt-history { margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--border); }
.knowledge-attempt-history summary { width: fit-content; display: flex; align-items: center; gap: 7px; color: var(--utiva-blue); cursor: pointer; list-style: none; font-size: 12px; font-weight: 700; }
.knowledge-attempt-history summary::-webkit-details-marker { display: none; }
.knowledge-attempt-history summary > span { min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; }
.knowledge-attempt-history > div { margin-top: 10px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.knowledge-attempt-history article { min-height: 59px; padding: 9px 11px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 25px 1fr auto; gap: 9px; align-items: center; }
.knowledge-attempt-history article:first-child { border-top: 0; }
.knowledge-attempt-history article > span { width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; color: #a92d3e; background: #fff2f4; }
.knowledge-attempt-history article.is-correct > span { color: #fff; background: var(--success); }
.knowledge-attempt-history article p { min-width: 0; margin: 0; }
.knowledge-attempt-history article strong, .knowledge-attempt-history article small { display: block; line-height: 1.4; overflow-wrap: anywhere; }
.knowledge-attempt-history article strong { font-size: 12px; }
.knowledge-attempt-history article small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.knowledge-attempt-history article time { color: var(--text-soft); font-size: 12px; white-space: nowrap; }
.knowledge-attempt-history__note { margin-top: 8px; display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.reflection-activity { margin-top: 30px; padding: 22px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: var(--shadow-sm); }
.reflection-activity > p { margin: -4px 0 16px 49px; color: var(--text-soft); font-size: 12px; }
.reflection-activity label > span { display: block; margin-bottom: 6px; color: var(--text); font-size: 12px; font-weight: 700; }
.reflection-activity textarea { width: 100%; padding: 13px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fbfcff; resize: vertical; }
.reflection-activity textarea:focus { outline: 3px solid rgba(5,7,148,.1); border-color: var(--utiva-blue); }
.reflection-activity__footer { margin-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reflection-activity__footer small { color: var(--text-soft); font-size: 12px; }
.lesson-footer { margin-top: 38px; padding-top: 22px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lesson-footer .text-button { margin: 0 auto; white-space: nowrap; }

.lesson-support { min-width: 0; border-left: 1px solid var(--border); background: #fff; }
.support-tabs { height: 56px; padding: 0 12px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: repeat(3,1fr); }
.support-tabs button { padding: 0 4px; border-bottom: 3px solid transparent; display: flex; align-items: center; justify-content: center; gap: 5px; color: var(--text-soft); background: transparent; text-transform: capitalize; font-size: 12px; font-weight: 700; cursor: pointer; }
.support-tabs button.is-active { border-color: var(--utiva-blue); color: var(--utiva-blue); }
.coach-panel,.transcript-panel,.support-resources { padding: 22px 18px; }
.coach-intro { display: flex; align-items: center; gap: 10px; }
.coach-intro > span { width: 41px; height: 41px; border-radius: 12px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.coach-intro h2,.support-panel-heading h2 { margin: 0; color: var(--utiva-blue-dark); font-size: 16px; }
.coach-panel > p { margin: 16px 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.coach-context { margin-top: 14px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); background: #fbfcff; }
.coach-context p { margin: 0; }
.coach-context strong,.coach-context small { display: block; }
.coach-context strong { color: var(--text); font-size: 12px; }
.coach-context small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.coach-actions { display: grid; gap: 7px; }
.coach-actions button { min-height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; display: flex; align-items: center; justify-content: space-between; color: var(--utiva-blue); background: #fbfcff; text-align: left; font-size: 12px; font-weight: 700; cursor: pointer; }
.coach-actions button:hover { border-color: #b5bde5; background: var(--utiva-blue-soft); }
.coach-response { margin: 14px 0; padding: 12px; border-radius: 10px; display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: start; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.coach-response p { margin: 0; color: var(--text); font-size: 12px; line-height: 1.55; }
.coach-response--boundary { color: #8a5500; background: var(--utiva-yellow-soft); }
.coach-response button { padding: 2px; color: var(--utiva-blue); background: transparent; cursor: pointer; }
.coach-source-link { width: 100%; min-height: 40px; margin-top: 10px; padding: 7px 8px !important; border: 1px solid rgba(5,7,148,.12) !important; border-radius: 8px; display: grid; grid-template-columns: 16px 1fr 14px; gap: 6px; align-items: center; color: var(--utiva-blue) !important; background: rgba(255,255,255,.5) !important; text-align: left; font-size: 12px; font-weight: 800; }
.coach-source-link > svg:last-child { transition: transform 180ms ease; }
.coach-source-link > svg.is-open { transform: rotate(180deg); }
.coach-grounding-detail { margin-top: 8px; padding: 11px; border: 1px solid rgba(5,7,148,.12); border-radius: 8px; display: grid; gap: 7px; background: rgba(255,255,255,.68); }
.coach-grounding-detail strong,.coach-grounding-detail small,.coach-grounding-detail span { display: block; }
.coach-grounding-detail strong { color: var(--text); font-size: 12px; }
.coach-grounding-detail small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.coach-grounding-detail dl { margin: 1px 0 2px; display: grid; gap: 7px; }
.coach-grounding-detail dl > div { padding: 8px; border-radius: 7px; background: #fff; }
.coach-grounding-detail dt { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .45px; }
.coach-grounding-detail dd { margin: 2px 0 0; color: var(--text); font-size: 12px; line-height: 1.45; }
.coach-grounding-detail span { display: flex; align-items: flex-start; gap: 5px; color: var(--success); font-size: 12px; line-height: 1.4; }
.coach-grounding-detail span svg { margin-top: 1px; flex: 0 0 auto; }
.coach-feedback { margin-top: 8px; display: flex; align-items: center; gap: 5px; }
.coach-feedback span { margin-right: auto; color: var(--text-soft); font-size: 12px; }
.coach-feedback button { min-width: 42px; min-height: 40px; padding: 0 8px; border: 1px solid rgba(5,7,148,.17); border-radius: 7px; font-size: 12px; font-weight: 700; }
.coach-feedback button.is-active { color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.coach-feedback button:disabled:not(.is-active) { opacity: .45; cursor: default; }
.coach-input { height: 46px; margin-top: 16px; padding: 0 6px 0 12px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 6px; }
.coach-input input { min-width: 0; min-height: 40px; flex: 1; border: 0; outline: 0; color: var(--text); font-size: 12px; }
.coach-input button { width: 40px; height: 40px; border-radius: 8px; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); cursor: pointer; }
.coach-response > button { width: 40px; height: 40px; margin: -6px -6px 0 0; display: grid; place-items: center; }
.coach-input button:disabled { opacity: .4; }
.coach-panel > small { display: block; margin-top: 8px; color: var(--text-soft); font-size: 12px; }
.coach-governance { margin-top: 8px; display: grid; grid-template-columns: 15px 1fr auto; gap: 5px; align-items: start; color: var(--utiva-blue); }
.coach-governance small { color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.coach-governance span { color: var(--text-soft); font-size: 12px; }
.support-panel-heading { margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.transcript-panel__hint { margin: -7px 0 13px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.transcript-panel__actions { display: flex; gap: 5px; }
.transcript-search { height: 42px; margin-bottom: 8px; padding: 0 0 0 10px; border: 1px solid var(--border); border-radius: 9px; display: flex; align-items: center; gap: 6px; color: var(--text-soft); background: #fbfcff; }
.transcript-search input { min-width: 0; min-height: 40px; flex: 1; border: 0; outline: 0; color: var(--text); background: transparent; font: 500 12px Poppins,Arial,sans-serif; }
.transcript-search button { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; color: var(--text-soft); background: transparent; cursor: pointer; }
.transcript-panel__status { margin-bottom: 5px; display: flex; justify-content: space-between; gap: 8px; color: var(--text-soft); font-size: 12px; }
.transcript-panel__status strong { color: var(--utiva-blue); }
.transcript-empty { padding: 22px 8px; display: grid; justify-items: center; gap: 4px; color: var(--text-soft); text-align: center; }
.transcript-empty strong { color: var(--text); font-size: 12px; }
.transcript-empty span { font-size: 12px; }
.transcript-panel > button { width: 100%; padding: 11px 6px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 38px 1fr; gap: 7px; color: var(--text-soft); background: transparent; text-align: left; cursor: pointer; }
.transcript-panel > button.is-active { margin: 0 -7px; width: calc(100% + 14px); padding-left: 13px; padding-right: 13px; border-radius: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.transcript-panel > button span { font-size: 12px; font-weight: 700; }
.transcript-panel > button p { margin: 0; color: var(--text); font-size: 12px; }
.support-resources > button { width: 100%; min-height: 61px; padding: 9px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.support-resources__hint { margin: -7px 0 13px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.support-resources > button:disabled { cursor: not-allowed; opacity: .52; }
.support-resources > button > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.support-resources strong,.support-resources small { display: block; }
.support-resources strong { font-size: 12px; }
.support-resources small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.support-resources > button > svg { color: var(--text-soft); }
.resource-count { padding: 4px 7px; border-radius: 999px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.resource-detail { margin-bottom: 9px; padding: 11px; border: 1px solid #d9e0f8; border-radius: 11px; background: #fbfcff; }
.resource-detail > div:first-child { display: grid; grid-template-columns: 30px 1fr auto; gap: 7px; align-items: center; }
.resource-detail > div:first-child > span { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow-soft); }
.resource-detail p { margin: 0; }
.resource-detail p strong,.resource-detail p small { display: block; }
.resource-detail p strong { font-size: 12px; }
.resource-detail p small { color: var(--text-soft); font-size: 12px; }
.resource-detail dl { margin: 9px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
.resource-detail dl div { padding: 6px; border-radius: 7px; background: #fff; }
.resource-detail dt { color: var(--text-soft); font-size: 12px; text-transform: uppercase; }
.resource-detail dd { margin: 2px 0 0; color: var(--text); font-size: 12px; font-weight: 700; }
.resource-detail pre { max-height: 84px; margin: 0 0 9px; padding: 8px; overflow: auto; border-radius: 7px; color: #3d4557; background: #f1f4fa; white-space: pre-wrap; font: 500 12px/1.5 ui-monospace,monospace; }
.resource-detail > small { margin-top: 7px; display: flex; gap: 4px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }

.role-switcher { position: relative; }
.role-switcher__trigger { height: 42px; padding: 0 13px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 7px; color: var(--utiva-blue); background: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.role-switcher__trigger:hover { background: var(--surface-soft); }
.role-menu { position: absolute; z-index: 50; right: 0; top: 48px; width: 290px; padding: 10px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: 0 22px 60px rgba(3,4,95,.18); animation: rise-in 160ms ease both; }
.role-menu > p { margin: 3px 8px 8px; color: var(--text-soft); text-transform: uppercase; letter-spacing: 1.1px; font-size: 12px; font-weight: 700; }
.role-menu > button { width: 100%; min-height: 59px; padding: 9px; border-radius: 10px; display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.role-menu > button:hover, .role-menu > button.is-active { background: var(--surface-soft); }
.role-menu > button > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.role-menu strong, .role-menu small { display: block; }
.role-menu strong { color: var(--text); font-size: 12px; text-transform: capitalize; }
.role-menu small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }

.role-page { width: min(1320px, calc(100% - 66px)); }
.role-heading { align-items: center; margin-bottom: 28px; }
.heading-actions { display: flex; gap: 9px; }

.trainer-focus { min-height: 178px; padding: 27px 30px; border-radius: 20px; display: grid; grid-template-columns: 105px minmax(0,1fr) auto; gap: 28px; align-items: center; color: #fff; background: linear-gradient(120deg, var(--utiva-blue-dark), var(--utiva-blue)); box-shadow: 0 18px 40px rgba(5,7,148,.16); position: relative; overflow: hidden; }
.trainer-focus::after { content: ''; position: absolute; width: 230px; height: 230px; right: 16%; top: -150px; border: 38px solid rgba(255,255,255,.04); border-radius: 50%; }
.trainer-focus__time { height: 112px; border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; justify-content: center; }
.trainer-focus__time span { text-transform: uppercase; letter-spacing: 1.5px; color: var(--utiva-yellow); font-size: 12px; font-weight: 800; }
.trainer-focus__time strong { font-size: 41px; line-height: 1.06; letter-spacing: -1px; }
.trainer-focus__time small { color: rgba(255,255,255,.58); font-size: 12px; }
.trainer-focus__body { position: relative; z-index: 1; }
.trainer-focus__label { display: flex; align-items: center; gap: 7px; color: #ffced4; text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.trainer-focus__label > span { width: 7px; height: 7px; border-radius: 50%; background: #ff687b; box-shadow: 0 0 0 5px rgba(255,104,123,.14); }
.trainer-focus h2 { margin: 9px 0 4px; font-size: clamp(23px,2.3vw,31px); line-height: 1.15; }
.trainer-focus__body > p { margin: 0 0 13px; color: rgba(255,255,255,.62); font-size: 12px; }
.trainer-focus__body > div { display: flex; flex-wrap: wrap; gap: 14px; color: rgba(255,255,255,.76); font-size: 12px; }
.trainer-focus__body > div span { display: flex; align-items: center; gap: 5px; }
.trainer-focus__body > div span:last-child { color: #ffd6a6; }
.trainer-focus__action { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.trainer-focus__action .text-button { color: rgba(255,255,255,.7); }

.metric-grid { margin: 20px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.metric-card { min-height: 156px; padding: 19px; border: 1px solid var(--border); border-radius: 15px; display: grid; grid-template-columns: auto 1fr; gap: 10px 12px; background: #fff; box-shadow: var(--shadow-sm); }
.metric-card__icon { grid-row: 1 / span 2; width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.metric-card__icon--yellow { color: #9b6200; background: var(--utiva-yellow-soft); }
.metric-card__icon--purple { color: #6942bd; background: #f0eaff; }
.metric-card__icon--green { color: var(--success); background: #e8f7f1; }
.metric-card__head { display: flex; justify-content: space-between; align-items: center; color: var(--text-soft); }
.metric-card__head span { font-size: 12px; font-weight: 600; }
.metric-card > strong { grid-column: 2; font-size: 28px; line-height: 1; color: var(--utiva-blue-dark); letter-spacing: -.7px; }
.metric-card > p { grid-column: 1 / -1; margin: auto 0 0; padding-top: 12px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; }
.metric-card--interactive { width: 100%; color: inherit; text-align: left; cursor: pointer; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.metric-card--interactive:hover { transform: translateY(-2px); border-color: #cbd3ff; box-shadow: 0 14px 30px rgba(5,7,148,.1); }
.metric-card--interactive:focus-visible { outline: 3px solid rgba(5,7,148,.2); outline-offset: 2px; }

.operations-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.55fr); gap: 18px; align-items: start; }
.operations-grid > * { min-width: 0; }
.role-panel { padding: 22px; }
.role-panel--wide { grid-column: 1; }
.role-panel--full { grid-column: 1 / -1; }
.cohort-table__row { min-height: 68px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(220px,1.25fr) minmax(150px,.8fr) 90px 36px; gap: 14px; align-items: center; }
.cohort-table__row > div:first-child { display: flex; align-items: center; gap: 10px; }
.table-avatar { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--surface-soft); }
.cohort-table strong, .cohort-table small { display: block; }
.cohort-table strong { font-size: 12px; }
.cohort-table small { color: var(--text-soft); font-size: 12px; }
.cohort-progress { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.cohort-progress > span { color: var(--utiva-blue); font-size: 12px; font-weight: 700; }
.health-pill { width: fit-content; padding: 5px 8px; border-radius: 20px; color: var(--success); background: #e8f7f1; white-space: nowrap; font-size: 12px; font-weight: 700; }
.health-pill--risk { color: #b0293b; background: #fff0f2; }
.health-pill--warning { color: #9a5e00; background: var(--utiva-yellow-soft); }
.review-queue { grid-column: 2; grid-row: 1 / span 2; }
.review-item { width: 100%; min-height: 65px; padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: auto 1fr auto auto; gap: 9px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.review-item strong, .review-item span { display: block; }
.review-item strong { font-size: 12px; }
.review-item span { color: var(--text-soft); font-size: 12px; }
.review-item small { color: var(--text-soft); font-size: 12px; }
.trainer-attention { grid-column: 1; }
.attention-row { min-height: 67px; padding: 10px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; }
.attention-row__icon { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; color: #b0293b; background: #fff0f2; }
.attention-row__icon--blue { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.attention-row strong { display: block; font-size: 12px; }
.attention-row p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; }

.cohort-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.role-heading .health-pill { display: inline-flex; align-items: center; gap: 4px; }
.cohort-portfolio-summary { min-height: 45px; margin-bottom: 14px; padding: 10px 13px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 8px; background: #fff; }
.cohort-portfolio-summary > span { display: grid; grid-template-columns: 20px auto; gap: 1px 7px; align-items: center; }
.cohort-portfolio-summary > span > svg { grid-row: 1 / 3; color: var(--utiva-blue); }
.cohort-portfolio-summary strong { color: var(--utiva-blue-dark); font-size: 12px; }
.cohort-portfolio-summary p { margin: 0; color: var(--text-soft); font-size: 12px; }
.cohort-detail-card { padding: 22px; }
.cohort-detail-card__top { display: flex; justify-content: space-between; align-items: center; }
.cohort-detail-card h2 { margin: 16px 0 2px; color: var(--utiva-blue-dark); font-size: 18px; }
.cohort-detail-card > p { margin: 0 0 20px; color: var(--text-soft); font-size: 12px; }
.cohort-detail-card__progress { padding: 15px; border-radius: 11px; display: grid; grid-template-columns: 1fr auto; gap: 8px; background: var(--surface-soft); }
.cohort-detail-card__progress span { color: var(--text-soft); font-size: 12px; }
.cohort-detail-card__progress strong { color: var(--utiva-blue); font-size: 12px; }
.cohort-detail-card__progress .progress { grid-column: 1 / -1; }
.cohort-detail-card__footer { margin-top: 16px; padding-top: 14px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 7px; color: var(--text-soft); font-size: 12px; }
.cohort-detail-card__footer .icon-button { margin-left: auto; }
.cohort-detail-card__footer small { margin-left: auto; color: var(--success); font-size: 12px; font-weight: 800; }
.cohort-detail-card__footer .text-button { margin-left: auto; flex: 0 0 auto; }
.trainer-cohort-progress-page > .course-builder-back { margin-bottom: 17px; }
.trainer-cohort-progress-hero { min-height: 150px; margin-bottom: 16px; padding: 28px; border-radius: 19px; display: flex; justify-content: space-between; gap: 24px; align-items: center; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue) 66%,#272ab9); box-shadow: 0 18px 38px rgba(3,4,95,.18); }
.trainer-cohort-progress-hero h1 { margin: 5px 0 7px; font-size: clamp(27px,3vw,40px); letter-spacing: -1.5px; line-height: 1.05; }
.trainer-cohort-progress-hero p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.76); font-size: 12px; }
.trainer-cohort-progress-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-cohort-progress-hero > div:last-child { display: flex; align-items: center; gap: 8px; }
.trainer-cohort-progress-hero .health-pill { color: #fff; background: rgba(255,255,255,.14); }
.trainer-cohort-progress-hero .health-pill--risk { color: #ffdce2; background: rgba(176,41,59,.35); }
.trainer-cohort-progress-hero .secure-chip { color: #fff; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.1); }
.trainer-cohort-measure-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.trainer-cohort-measure-grid > article { min-width: 0; padding: 15px; display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; }
.trainer-cohort-measure-grid > article > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-cohort-measure-grid p { margin: 0; }
.trainer-cohort-measure-grid p small, .trainer-cohort-measure-grid p strong { display: block; }
.trainer-cohort-measure-grid p small { color: var(--text-soft); font-size: 12px; }
.trainer-cohort-measure-grid p strong { margin-top: 2px; color: var(--utiva-blue-dark); font-size: 19px; }
.trainer-cohort-measure-grid > article > div { grid-column: 1 / -1; }
.trainer-cohort-measure-grid > article > div > small { display: block; margin-top: 6px; color: var(--text-soft); font-size: 12px; }
.trainer-cohort-measure-grid em { grid-column: 1 / -1; width: fit-content; padding: 4px 7px; border-radius: 999px; font-size: 12px; font-style: normal; font-weight: 800; }
.trainer-cohort-measure-grid em.is-positive { color: var(--success); background: #e8f7f1; }
.trainer-cohort-measure-grid em.is-warning { color: #9a5e00; background: var(--utiva-yellow-soft); }
.trainer-cohort-progress-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.75fr); gap: 16px; align-items: start; }
.trainer-module-progress { padding: 20px; }
.trainer-module-progress .section-heading > strong { color: var(--utiva-blue); font-size: 12px; }
.trainer-module-progress__row { min-height: 65px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 30px minmax(150px,1fr) minmax(170px,.9fr); gap: 10px; align-items: center; }
.trainer-module-progress__row > span { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-module-progress__row p { margin: 0; min-width: 0; }
.trainer-module-progress__row p strong, .trainer-module-progress__row p small { display: block; }
.trainer-module-progress__row p strong { font-size: 12px; }
.trainer-module-progress__row p small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-module-progress__row > div { display: grid; grid-template-columns: 1fr 35px; gap: 8px; align-items: center; }
.trainer-module-progress__row > div > strong { color: var(--utiva-blue); font-size: 12px; text-align: right; }
.trainer-cohort-progress-layout > aside { display: grid; gap: 12px; }
.trainer-cohort-signal { padding: 16px; display: grid; grid-template-columns: 37px 1fr; gap: 10px; color: var(--success); background: #f1fbf7; }
.trainer-cohort-signal.is-warning { color: #9a5e00; background: #fffaf0; }
.trainer-cohort-signal > span { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; color: currentColor; background: rgba(255,255,255,.8); }
.trainer-cohort-signal h2 { margin: 2px 0 5px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-cohort-signal p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.trainer-cohort-evidence { padding: 17px; }
.trainer-cohort-evidence > h2 { margin: 3px 0 10px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-cohort-evidence > div { min-height: 38px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 20px 1fr; gap: 5px; align-items: center; color: var(--success); }
.trainer-cohort-evidence > div p { margin: 0; }
.trainer-cohort-evidence > div strong, .trainer-cohort-evidence > div small { display: block; }
.trainer-cohort-evidence > div strong { color: var(--text); font-size: 12px; }
.trainer-cohort-evidence > div small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-cohort-evidence__note { margin-top: 10px; padding: 10px; border-radius: 9px; display: flex; gap: 7px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.trainer-cohort-next { padding: 13px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); }
.trainer-cohort-next > svg { margin: auto; }
.trainer-cohort-next p { margin: 0; }
.trainer-cohort-next strong, .trainer-cohort-next small { display: block; }
.trainer-cohort-next strong { color: var(--text); font-size: 12px; }
.trainer-cohort-next small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-roster-summary { margin-bottom: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.trainer-roster-summary article { padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.trainer-roster-summary article > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-roster-summary p { margin: 0; }
.trainer-roster-summary small, .trainer-roster-summary strong, .trainer-roster-summary em { display: block; }
.trainer-roster-summary small { color: var(--text-soft); font-size: 12px; }
.trainer-roster-summary strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 18px; }
.trainer-roster-summary em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-roster-panel { overflow: hidden; }
.trainer-roster-toolbar { min-height: 72px; padding: 13px 16px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: minmax(240px,1fr) 210px auto auto; gap: 10px; align-items: end; }
.trainer-roster-toolbar .mini-search { width: 100%; }
.trainer-roster-toolbar > label:not(.mini-search) { display: grid; gap: 5px; }
.trainer-roster-toolbar > label:not(.mini-search) > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
.trainer-roster-toolbar select { height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fbfcff; font-size: 12px; }
.trainer-roster-toolbar .button { min-width: 104px; }
.trainer-roster-scope { min-height: 45px; padding: 9px 17px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-roster-scope p { margin: 0; }
.trainer-roster-scope strong, .trainer-roster-scope span { display: block; }
.trainer-roster-scope strong { color: var(--text); font-size: 12px; }
.trainer-roster-scope span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-roster-scope small { padding: 5px 8px; border-radius: 999px; color: var(--success); background: #e3f6ee; font-size: 12px; font-weight: 800; }
.trainer-risk-rules { min-height: 48px; padding: 9px 17px; border-bottom: 1px solid #f4dfad; display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; color: #9a5e00; background: #fffaf0; }
.trainer-risk-rules p { margin: 0; }
.trainer-risk-rules strong, .trainer-risk-rules span { display: block; }
.trainer-risk-rules strong { color: var(--text); font-size: 12px; }
.trainer-risk-rules span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-risk-rules small { color: #9a5e00; font-size: 12px; font-weight: 700; }
.trainer-roster-table { overflow-x: auto; }
.trainer-roster-table__header, .trainer-roster-table__row { min-width: 0; display: grid; grid-template-columns: minmax(200px,1.25fr) minmax(135px,.82fr) minmax(125px,.76fr) 110px 75px minmax(130px,.78fr) 45px; gap: 10px; align-items: center; }
.trainer-roster-table__header { min-height: 40px; padding: 0 17px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.trainer-roster-table__row { min-height: 70px; padding: 8px 17px; border-top: 1px solid #edf0f7; }
.trainer-roster-table__row:hover { background: #fbfcff; }
.trainer-roster-table__row > div:first-child { min-width: 0; display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; }
.trainer-roster-table__row p { margin: 0; min-width: 0; }
.trainer-roster-table__row p strong, .trainer-roster-table__row p small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-roster-table__row p strong { font-size: 12px; }
.trainer-roster-table__row p small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-roster-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.trainer-roster-table__row .inline-progress strong { color: var(--utiva-blue); font-size: 12px; }
.trainer-risk-summary { min-width: 0; display: grid; gap: 4px; align-items: start; justify-items: start; }
.trainer-risk-summary small { max-width: 100%; overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.trainer-roster-open { justify-content: flex-end; }
.trainer-roster-empty { min-height: 260px; }
.trainer-roster-footer { min-height: 43px; padding: 10px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-roster-footer svg { flex: 0 0 auto; color: var(--utiva-blue); }
.trainer-learner-profile-page > .course-builder-back { margin-bottom: 16px; }
.trainer-learner-profile-hero { min-height: 132px; padding: 23px; border: 1px solid #dfe4fa; border-radius: 18px; display: grid; grid-template-columns: 58px 1fr auto; gap: 15px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); box-shadow: var(--shadow-sm); }
.trainer-learner-profile-hero > .avatar { width: 58px; height: 58px; border-radius: 16px; font-size: 13px; }
.trainer-learner-profile-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 29px; letter-spacing: -1.1px; }
.trainer-learner-profile-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-learner-profile-hero > div:last-child { display: flex; align-items: center; gap: 7px; }
.trainer-learner-context { min-height: 48px; margin: 12px 0; padding: 10px 14px; border: 1px solid #d7ede3; border-radius: 11px; display: grid; grid-template-columns: 23px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-learner-context p { margin: 0; }
.trainer-learner-context strong, .trainer-learner-context span { display: block; }
.trainer-learner-context strong { color: var(--text); font-size: 12px; }
.trainer-learner-context span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-learner-context > small { color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-learner-metrics { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.trainer-learner-metrics article { padding: 14px; display: grid; grid-template-columns: 34px 1fr; gap: 9px; align-items: center; }
.trainer-learner-metrics article > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-learner-metrics p { margin: 0; min-width: 0; }
.trainer-learner-metrics small, .trainer-learner-metrics strong, .trainer-learner-metrics em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-learner-metrics small { color: var(--text-soft); font-size: 12px; }
.trainer-learner-metrics strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.trainer-learner-metrics em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-learner-profile-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(290px,.72fr); gap: 14px; align-items: start; }
.trainer-learner-profile-layout > main, .trainer-learner-profile-layout > aside { display: grid; gap: 12px; }
.trainer-risk-evidence { overflow: hidden; }
.trainer-risk-evidence > .section-heading { padding: 17px 18px 13px; }
.trainer-risk-evidence__list { border-top: 1px solid #edf0f7; }
.trainer-risk-evidence__list article { min-height: 76px; padding: 12px 18px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 31px minmax(160px,.75fr) minmax(250px,1fr); gap: 10px; align-items: center; }
.trainer-risk-evidence__list article:first-child { border-top: 0; }
.trainer-risk-evidence__list article > span { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: #9a5e00; background: #fff5d9; }
.trainer-risk-evidence__list p { margin: 0; }
.trainer-risk-evidence__list p small, .trainer-risk-evidence__list p strong, .trainer-risk-evidence__list p em { display: block; }
.trainer-risk-evidence__list p small { color: #9a5e00; text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.trainer-risk-evidence__list p strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-risk-evidence__list p em { color: var(--text-soft); font-size: 12px; font-style: normal; line-height: 1.45; }
.trainer-risk-evidence__list dl { margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.trainer-risk-evidence__list dl div { padding: 8px; border-radius: 8px; background: var(--surface-soft); }
.trainer-risk-evidence__list dt { color: var(--text-soft); text-transform: uppercase; letter-spacing: .45px; font-size: 12px; font-weight: 800; }
.trainer-risk-evidence__list dd { margin: 3px 0 0; color: var(--text); font-size: 12px; line-height: 1.4; }
.trainer-risk-evidence > footer { min-height: 39px; padding: 9px 18px; border-top: 1px solid #edf0f7; display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.4; }
.trainer-risk-evidence > footer svg { flex: 0 0 auto; color: var(--utiva-blue); }
.trainer-learner-progress-card { padding: 18px; }
.trainer-learner-progress-card .section-heading > strong { color: var(--utiva-blue); font-size: 18px; }
.trainer-learner-progress-card > .progress { margin: 14px 0; }
.trainer-learner-progress-card > div:last-child { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 8px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-learner-progress-card > div:last-child strong { color: var(--text); font-size: 12px; }
.trainer-learner-submissions, .trainer-learner-activity, .trainer-learner-attendance, .trainer-learner-contact { padding: 18px; }
.trainer-learner-submissions > article { min-height: 58px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 30px minmax(0,1fr) 50px minmax(130px,auto); gap: 9px; align-items: center; }
.trainer-learner-submissions > article > span:first-child { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-learner-submissions p, .trainer-learner-activity p, .trainer-learner-attendance p, .trainer-learner-contact p { margin: 0; }
.trainer-learner-submissions strong, .trainer-learner-submissions small { display: block; }
.trainer-learner-submissions strong { font-size: 12px; }
.trainer-learner-submissions small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-learner-submissions b { color: var(--utiva-blue); font-size: 12px; }
.trainer-learner-activity > article { min-height: 48px; display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; position: relative; }
.trainer-learner-activity > article > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-learner-activity > article:not(:last-child)::after { content: ''; width: 1px; height: 22px; left: 12px; bottom: -10px; position: absolute; background: var(--border); }
.trainer-learner-activity strong, .trainer-learner-activity small, .trainer-learner-contact strong, .trainer-learner-contact small { display: block; }
.trainer-learner-activity strong, .trainer-learner-contact strong { font-size: 12px; }
.trainer-learner-activity small, .trainer-learner-contact small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-learner-activity time { color: var(--text-soft); font-size: 12px; }
.trainer-learner-attendance > .progress { margin-bottom: 11px; }
.trainer-learner-attendance > div:not(.section-heading) { min-height: 44px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 14px 1fr auto; gap: 7px; align-items: center; }
.trainer-learner-attendance strong, .trainer-learner-attendance small { display: block; }
.trainer-learner-attendance strong { font-size: 12px; }
.trainer-learner-attendance small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-learner-attendance > div > span:last-child { color: var(--text-soft); font-size: 12px; }
.trainer-learner-contact > article { min-height: 48px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; }
.trainer-learner-contact > article > span { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-profile-boundary { padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 27px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-profile-boundary p { margin: 0; }
.trainer-profile-boundary strong, .trainer-profile-boundary small { display: block; }
.trainer-profile-boundary strong { color: var(--text); font-size: 12px; }
.trainer-profile-boundary small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-live-summary { margin-bottom: 13px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.trainer-live-summary article { padding: 14px; display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; }
.trainer-live-summary article > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-live-summary p { margin: 0; }
.trainer-live-summary small, .trainer-live-summary strong, .trainer-live-summary em { display: block; }
.trainer-live-summary small { color: var(--text-soft); font-size: 12px; }
.trainer-live-summary strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 18px; }
.trainer-live-summary em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-live-schedule { overflow: hidden; }
.trainer-live-toolbar { min-height: 66px; padding: 12px 16px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 12px; align-items: end; }
.trainer-live-toolbar .segmented button { min-height: 40px; }
.trainer-live-toolbar > label { min-width: 250px; display: grid; gap: 5px; }
.trainer-live-toolbar > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.trainer-live-toolbar select { width: 100%; height: 36px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 12px; }
.trainer-live-scope { min-height: 48px; padding: 9px 16px; border-bottom: 1px solid #d7ede3; display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-live-scope p { margin: 0; }
.trainer-live-scope strong, .trainer-live-scope span { display: block; }
.trainer-live-scope strong { color: var(--text); font-size: 12px; }
.trainer-live-scope span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-live-scope small { color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-live-group { padding: 14px 16px 3px; }
.trainer-live-group + .trainer-live-group { border-top: 1px solid var(--border); }
.trainer-live-group > h2 { margin: 0 0 7px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 12px; }
.trainer-live-group > article { min-height: 76px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 44px minmax(0,1fr) auto 120px; gap: 11px; align-items: center; }
.trainer-live-group > article:first-of-type { border-top: 0; }
.trainer-live-date { width: 40px; height: 45px; border-radius: 9px; display: grid; place-items: center; align-content: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-live-date.is-live { color: #08704b; background: #e7f7f0; }
.trainer-live-date small, .trainer-live-date strong { display: block; }
.trainer-live-date small { font-size: 12px; text-transform: uppercase; }
.trainer-live-date strong { font-size: 13px; }
.trainer-live-group article > p { margin: 0; min-width: 0; }
.trainer-live-group article > p small, .trainer-live-group article > p strong, .trainer-live-group article > p span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-live-group article > p small { color: var(--text-soft); font-size: 12px; }
.trainer-live-group article > p strong { margin: 3px 0; color: var(--text); font-size: 12px; }
.trainer-live-group article > p span { color: var(--text-soft); font-size: 12px; }
.trainer-live-group article > .button { justify-content: center; }
.trainer-session-detail-page > .course-builder-back { margin-bottom: 15px; }
.trainer-session-detail-hero { min-height: 120px; padding: 23px; border: 1px solid #dfe4fa; border-radius: 17px; display: flex; justify-content: space-between; gap: 20px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); }
.trainer-session-detail-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 28px; letter-spacing: -1px; }
.trainer-session-detail-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-session-detail-hero > div:last-child { display: flex; gap: 8px; align-items: center; }
.trainer-session-facts { margin: 12px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.trainer-session-facts article { min-height: 62px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 29px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); background: #fff; }
.trainer-session-facts p { margin: 0; }
.trainer-session-facts small, .trainer-session-facts strong { display: block; }
.trainer-session-facts small { color: var(--text-soft); font-size: 12px; }
.trainer-session-facts strong { margin-top: 2px; color: var(--text); font-size: 12px; }
.trainer-session-detail-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.65fr); gap: 12px; align-items: start; }
.trainer-session-detail-layout > main, .trainer-session-detail-layout > aside { display: grid; gap: 11px; }
.trainer-session-preparation, .trainer-session-readiness { padding: 17px; }
.trainer-session-preparation__brief { margin: 13px 0; padding: 12px; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-session-preparation__brief p, .trainer-session-preparation > article p, .trainer-session-boundary p, .trainer-session-readiness p, .trainer-session-attendance p { margin: 0; }
.trainer-session-preparation__brief strong, .trainer-session-preparation__brief span { display: block; }
.trainer-session-preparation__brief strong { color: var(--text); font-size: 12px; }
.trainer-session-preparation__brief span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-session-activity { min-height: 58px; padding: 10px 12px; border: 1px solid #e2e6f4; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; color: var(--utiva-blue); background: #fbfcff; }
.trainer-session-activity p { margin: 0; }
.trainer-session-activity strong, .trainer-session-activity small { display: block; }
.trainer-session-activity strong { color: var(--text); font-size: 12px; }
.trainer-session-activity small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-session-activity > span { padding: 5px 7px; border-radius: 999px; color: var(--success); background: #e7f7f0; font-size: 12px; font-weight: 800; }
.trainer-session-preparation > article { min-height: 52px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 24px 1fr auto; gap: 7px; align-items: center; }
.trainer-session-preparation > article > span { color: var(--success); }
.trainer-session-preparation > article strong, .trainer-session-preparation > article small { display: block; }
.trainer-session-preparation > article strong { font-size: 12px; }
.trainer-session-preparation > article small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-session-materials, .trainer-session-questions { overflow: hidden; }
.trainer-session-materials > .section-heading, .trainer-session-questions > .section-heading { padding: 16px 17px 12px; }
.trainer-session-material-list { border-top: 1px solid #edf0f7; }
.trainer-session-material-list article { min-height: 65px; padding: 10px 17px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.trainer-session-material-list article:first-child { border-top: 0; }
.trainer-session-material-list article > span:first-child { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-session-material-list p { margin: 0; min-width: 0; }
.trainer-session-material-list small, .trainer-session-material-list strong, .trainer-session-material-list em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-session-material-list small { color: var(--text-soft); text-transform: uppercase; letter-spacing: .45px; font-size: 12px; }
.trainer-session-material-list strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-session-material-list em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-session-questions > button { width: 100%; min-height: 51px; padding: 9px 17px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; color: var(--text); background: #fff; text-align: left; }
.trainer-session-questions > button:hover { background: #fbfcff; }
.trainer-session-questions > button > span { width: 24px; height: 24px; border: 1px solid var(--border); border-radius: 7px; display: grid; place-items: center; color: #fff; }
.trainer-session-questions > button.is-reviewed > span { border-color: var(--success); background: var(--success); }
.trainer-session-questions > button p { margin: 0; font-size: 12px; }
.trainer-session-questions > button small { color: var(--text-soft); font-size: 12px; }
.trainer-session-questions > button:not(.is-reviewed) small { color: #9a5e00; font-weight: 700; }
.trainer-session-boundary { padding: 13px; display: grid; grid-template-columns: 30px 1fr; gap: 8px; color: var(--success); background: #f4fbf8; }
.trainer-session-boundary strong, .trainer-session-boundary span { display: block; }
.trainer-session-boundary strong { color: var(--text); font-size: 12px; }
.trainer-session-boundary span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-session-readiness h2 { margin: 3px 0 10px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-session-readiness > div { min-height: 39px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: center; color: var(--success); font-size: 12px; }
.trainer-session-readiness > div.is-pending { color: #9a5e00; }
.trainer-session-attendance { padding: 14px; display: grid; grid-template-columns: 30px 1fr; gap: 7px; color: var(--utiva-blue); }
.trainer-session-attendance small, .trainer-session-attendance strong, .trainer-session-attendance span { display: block; }
.trainer-session-attendance small { color: var(--text-soft); font-size: 12px; }
.trainer-session-attendance strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-session-attendance span { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-material-modal { max-width: 620px; }
.trainer-material-upload { min-height: 125px; margin-top: 14px; padding: 18px; border: 1.5px dashed #bdc7e8; border-radius: 11px; display: grid; place-items: center; align-content: center; gap: 4px; position: relative; color: var(--utiva-blue); background: #f8f9ff; text-align: center; cursor: pointer; }
.trainer-material-upload strong { color: var(--text); font-size: 12px; }
.trainer-material-upload small { color: var(--text-soft); font-size: 12px; }
.trainer-material-upload input { inset: 0; position: absolute; opacity: 0; cursor: pointer; }
.trainer-material-sample { margin-top: 8px; }
.trainer-session-follow-up { overflow: hidden; }
.trainer-session-follow-up > .section-heading { padding: 17px 18px 13px; }
.trainer-follow-up-grid { padding: 0 18px 15px; display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.9fr); gap: 11px; }
.trainer-recording-card, .trainer-follow-up-draft { border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.trainer-recording-preview { min-height: 130px; display: grid; place-items: center; align-content: center; gap: 4px; color: #fff; background: linear-gradient(140deg,#0b0d6e,#262b76 58%,#050629); }
.trainer-recording-preview > svg { width: 40px; height: 40px; padding: 11px; border-radius: 50%; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-recording-preview span { margin-top: 5px; font-size: 12px; font-weight: 800; }
.trainer-recording-preview small { color: rgba(255,255,255,.68); font-size: 12px; }
.trainer-recording-card > div:last-child { padding: 12px; display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: center; }
.trainer-recording-card p { margin: 0; }
.trainer-recording-card p small, .trainer-recording-card p strong, .trainer-recording-card p span { display: block; }
.trainer-recording-card p small { color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; font-weight: 800; }
.trainer-recording-card p strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-recording-card p span { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-follow-up-draft { padding: 13px; }
.trainer-follow-up-draft > div:first-child { display: flex; justify-content: space-between; align-items: center; }
.trainer-follow-up-draft label { margin-top: 9px; display: grid; gap: 5px; }
.trainer-follow-up-draft label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; font-weight: 800; }
.trainer-follow-up-draft textarea { width: 100%; min-height: 102px; padding: 9px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); font: 500 12px/1.5 Poppins,sans-serif; }
.trainer-follow-up-draft > div:last-child { margin-top: 8px; display: flex; justify-content: space-between; gap: 9px; align-items: center; }
.trainer-follow-up-draft > div:last-child small { color: var(--text-soft); font-size: 12px; }
.trainer-postclass-actions { padding: 13px 18px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(160px,.65fr) repeat(3,minmax(0,1fr)); gap: 8px; align-items: center; }
.trainer-postclass-actions > div h3 { margin: 3px 0 0; color: var(--utiva-blue-dark); font-size: 13px; }
.trainer-postclass-actions > button { min-height: 48px; padding: 8px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 22px 1fr; gap: 6px; align-items: center; color: var(--text); background: #fff; text-align: left; }
.trainer-postclass-actions > button > span { width: 20px; height: 20px; border: 1px solid var(--border); border-radius: 6px; display: grid; place-items: center; color: #fff; }
.trainer-postclass-actions > button.is-complete > span { border-color: var(--success); background: var(--success); }
.trainer-postclass-actions > button p { margin: 0; font-size: 12px; line-height: 1.4; }
.trainer-follow-up-audit { padding: 13px 18px; border-top: 1px solid #edf0f7; }
.trainer-follow-up-audit > article { min-height: 42px; display: grid; grid-template-columns: 24px 1fr; gap: 6px; align-items: center; color: var(--utiva-blue); }
.trainer-follow-up-audit > article p { margin: 0; }
.trainer-follow-up-audit > article strong, .trainer-follow-up-audit > article small { display: block; }
.trainer-follow-up-audit > article strong { color: var(--text); font-size: 12px; }
.trainer-follow-up-audit > article small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-session-follow-up > footer { min-height: 39px; padding: 9px 18px; border-top: 1px solid #edf0f7; display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.4; }
.trainer-session-follow-up > footer svg { flex: 0 0 auto; color: var(--utiva-blue); }
.trainer-recording-review { max-width: 630px; }
.trainer-recording-confirm { margin-top: 13px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 19px 1fr; gap: 8px; align-items: start; }
.trainer-recording-confirm input { margin-top: 2px; accent-color: var(--utiva-blue); }
.trainer-recording-confirm strong, .trainer-recording-confirm small { display: block; }
.trainer-recording-confirm strong { color: var(--text); font-size: 12px; }
.trainer-recording-confirm small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-classroom-shell { min-height: calc(100vh - 116px); background: #f3f5fb; }
.trainer-classroom-shell > header { min-height: 58px; padding: 0 20px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; background: #fff; }
.trainer-classroom-shell > header > button { justify-self: start; }
.trainer-classroom-shell > header > div { display: flex; gap: 8px; align-items: center; }
.trainer-classroom-shell > header > div p { margin: 0; }
.trainer-classroom-shell > header > div strong, .trainer-classroom-shell > header > div small { display: block; }
.trainer-classroom-shell > header > div strong { color: var(--text); font-size: 12px; }
.trainer-classroom-shell > header > div small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-classroom-shell > header > .brand { justify-self: end; }
.trainer-classroom-shell > main { min-height: calc(100vh - 174px); padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 13px; }
.trainer-classroom-stage { min-height: 590px; padding: 18px; border-radius: 16px; display: grid; grid-template-rows: minmax(240px,1fr) auto auto; gap: 13px; color: #fff; background: radial-gradient(circle at 22% 15%,#222b74,#070929 62%,#030416); box-shadow: 0 20px 45px rgba(3,4,40,.22); }
.trainer-classroom-presenter { min-height: 280px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; display: grid; place-items: center; align-content: center; position: relative; background: linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025)); }
.trainer-classroom-presenter > .avatar { width: 74px; height: 74px; border-radius: 20px; font-size: 18px; background: var(--utiva-yellow); color: var(--utiva-blue-dark); }
.trainer-classroom-presenter > div { margin-top: 12px; text-align: center; }
.trainer-classroom-presenter > div strong, .trainer-classroom-presenter > div small { display: block; }
.trainer-classroom-presenter > div strong { font-size: 12px; }
.trainer-classroom-presenter > div small { margin-top: 3px; color: rgba(255,255,255,.65); font-size: 12px; }
.trainer-classroom-presenter.is-camera-off { background: #090b2e; }
.trainer-classroom-sharing { top: 13px; right: 13px; padding: 6px 8px; border-radius: 999px; display: flex; gap: 5px; align-items: center; position: absolute; color: #0b5f42; background: #ddf7eb; font-size: 12px; font-weight: 800; }
.trainer-classroom-waiting { padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; text-align: center; background: rgba(255,255,255,.05); }
.trainer-classroom-waiting svg { color: var(--utiva-yellow); }
.trainer-classroom-waiting h2 { margin: 6px 0 3px; font-size: 15px; }
.trainer-classroom-waiting p { margin: 0; color: rgba(255,255,255,.68); font-size: 12px; }
.trainer-classroom-waiting span { margin-top: 8px; padding: 5px 8px; border-radius: 999px; display: inline-block; color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); font-size: 12px; }
.trainer-classroom-stage > nav { display: flex; justify-content: center; gap: 8px; }
.trainer-classroom-stage > nav button { min-width: 76px; min-height: 52px; padding: 7px; border-radius: 11px; display: grid; place-items: center; gap: 3px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); font-size: 12px; font-weight: 700; }
.trainer-classroom-stage > nav button.is-active { color: #fff; background: rgba(255,255,255,.16); }
.trainer-classroom-stage > nav button.is-end { color: #fff; background: #be3144; }
.trainer-classroom-shell > main > aside { display: grid; gap: 11px; align-content: start; }
.trainer-classroom-session, .trainer-classroom-access, .trainer-classroom-log, .trainer-classroom-meet { padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.trainer-classroom-session h1 { margin: 3px 0 4px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-classroom-session > p:not(.eyebrow) { margin: 0 0 10px; color: var(--text-soft); font-size: 12px; }
.trainer-classroom-session > div { min-height: 35px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 23px 1fr; gap: 6px; align-items: center; color: var(--utiva-blue); font-size: 12px; }
.trainer-classroom-session > div span { color: var(--text); }
.trainer-classroom-access { display: grid; grid-template-columns: 28px 1fr; gap: 8px; color: var(--success); background: #f4fbf8; }
.trainer-classroom-access strong { color: var(--text); font-size: 12px; }
.trainer-classroom-access p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-classroom-log h2 { margin: 3px 0 8px; color: var(--utiva-blue-dark); font-size: 13px; }
.trainer-classroom-log > div { min-height: 43px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 23px 1fr; gap: 6px; align-items: center; color: var(--utiva-blue); }
.trainer-classroom-log p { margin: 0; }
.trainer-classroom-log strong, .trainer-classroom-log small { display: block; }
.trainer-classroom-log strong { color: var(--text); font-size: 12px; }
.trainer-classroom-log small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-classroom-meet { display: grid; grid-template-columns: 28px 1fr; gap: 7px; color: #9a5e00; background: #fffaf0; }
.trainer-classroom-meet p { margin: 0; }
.trainer-classroom-meet strong, .trainer-classroom-meet small { display: block; }
.trainer-classroom-meet strong { color: var(--text); font-size: 12px; }
.trainer-classroom-meet small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-attendance-page { padding-bottom: 40px; }
.trainer-attendance-notice { min-height: 43px; margin-bottom: 12px; padding: 9px 13px; border: 1px solid #cceadd; border-radius: 10px; display: grid; grid-template-columns: 22px 1fr 40px; gap: 7px; align-items: center; color: var(--success); background: #f4fbf8; font-size: 12px; }
.trainer-attendance-notice button { width: 40px; height: 40px; border-radius: 7px; display: grid; place-items: center; color: var(--text-soft); background: transparent; }
.trainer-attendance-session { min-height: 76px; margin-bottom: 12px; padding: 13px 16px; display: grid; grid-template-columns: minmax(0,1fr) 280px auto; gap: 13px; align-items: end; }
.trainer-attendance-session > div { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; }
.trainer-attendance-session > div > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-attendance-session p { margin: 0; }
.trainer-attendance-session p small, .trainer-attendance-session p strong, .trainer-attendance-session p em { display: block; }
.trainer-attendance-session p small, .trainer-attendance-session label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.trainer-attendance-session p strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-attendance-session p em { overflow: hidden; color: var(--text-soft); font-size: 12px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.trainer-attendance-session label { display: grid; gap: 5px; }
.trainer-attendance-session select { width: 100%; height: 38px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 12px; }
.trainer-attendance-session > .health-pill { margin-bottom: 6px; }
.trainer-attendance-metrics { margin-bottom: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.trainer-attendance-metrics article { padding: 13px 15px; }
.trainer-attendance-metrics small, .trainer-attendance-metrics strong, .trainer-attendance-metrics span { display: block; }
.trainer-attendance-metrics small { color: var(--text-soft); font-size: 12px; }
.trainer-attendance-metrics strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 19px; }
.trainer-attendance-metrics span { color: var(--text-soft); font-size: 12px; }
.trainer-attendance-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.68fr); gap: 13px; align-items: start; }
.trainer-attendance-register { overflow: hidden; }
.trainer-attendance-register > .section-heading { padding: 16px; }
.trainer-attendance-register .segmented button { min-height: 40px; }
.trainer-attendance-table { overflow-x: auto; }
.trainer-attendance-table__header, .trainer-attendance-table__row { min-width: 0; display: grid; grid-template-columns: minmax(180px,1.3fr) 70px 115px minmax(135px,1fr) 88px; gap: 8px; align-items: center; }
.trainer-attendance-table__header { min-height: 36px; padding: 0 16px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.trainer-attendance-table__row { min-height: 69px; padding: 8px 16px; border-top: 1px solid #edf0f7; }
.trainer-attendance-table__row > div:first-child { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 8px; align-items: center; }
.trainer-attendance-table__row p { margin: 0; min-width: 0; }
.trainer-attendance-table__row p strong, .trainer-attendance-table__row p small, .trainer-attendance-table__row > span strong, .trainer-attendance-table__row > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-attendance-table__row p strong, .trainer-attendance-table__row > span strong { font-size: 12px; }
.trainer-attendance-table__row p small, .trainer-attendance-table__row > span small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-attendance-table__row > span { color: var(--text); font-size: 12px; }
.trainer-attendance-table__row > label { display: grid; gap: 3px; }
.trainer-attendance-table__row select { width: 100%; height: 32px; padding: 0 7px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: #fff; font-size: 12px; }
.trainer-attendance-table__row select:disabled { color: var(--text-soft); background: var(--surface-soft); }
.trainer-attendance-table__row > label small { color: #9a5e00; font-size: 12px; font-weight: 700; }
.trainer-attendance-empty { min-height: 190px; border-top: 1px solid #edf0f7; }
.trainer-attendance-layout > aside { display: grid; gap: 11px; }
.trainer-attendance-rules, .trainer-attendance-audit { padding: 16px; }
.trainer-attendance-rules > h2 { margin: 3px 0 10px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-attendance-rules > div { min-height: 48px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 24px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); }
.trainer-attendance-rules p, .trainer-attendance-reporting p, .trainer-attendance-audit p, .trainer-attendance-boundary p, .trainer-attendance-approval-note p { margin: 0; }
.trainer-attendance-rules strong, .trainer-attendance-rules small { display: block; }
.trainer-attendance-rules strong { color: var(--text); font-size: 12px; }
.trainer-attendance-rules small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-attendance-reporting { padding: 15px; display: grid; grid-template-columns: 30px 1fr; gap: 9px; color: var(--success); background: #f4fbf8; }
.trainer-attendance-reporting h2 { margin: 2px 0 4px; color: var(--utiva-blue-dark); font-size: 13px; }
.trainer-attendance-reporting p:not(.eyebrow) { color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.trainer-attendance-audit > article { min-height: 54px; display: grid; grid-template-columns: 26px 1fr; gap: 7px; align-items: center; }
.trainer-attendance-audit > article > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-attendance-audit strong, .trainer-attendance-audit small, .trainer-attendance-audit em { display: block; }
.trainer-attendance-audit strong { font-size: 12px; }
.trainer-attendance-audit small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.trainer-attendance-audit em { margin-top: 2px; color: #7c8498; font-size: 12px; font-style: normal; }
.trainer-attendance-boundary { padding: 13px; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; color: #9a5e00; background: #fffaf0; }
.trainer-attendance-boundary strong, .trainer-attendance-boundary small { display: block; }
.trainer-attendance-boundary strong { color: var(--text); font-size: 12px; }
.trainer-attendance-boundary small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-attendance-correction { max-width: 620px; }
.trainer-attendance-correction__current { margin-bottom: 14px; padding: 11px; border-radius: 9px; display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 7px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-attendance-correction__current strong { color: var(--text); font-size: 12px; }
.trainer-attendance-correction textarea { width: 100%; min-height: 92px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); font: 500 12px/1.5 Poppins,sans-serif; }
.trainer-attendance-correction .form-field > small { color: var(--text-soft); font-size: 12px; }
.trainer-attendance-approval-note { margin-top: 13px; padding: 11px; border-radius: 9px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; color: #9a5e00; background: #fffaf0; }
.trainer-attendance-approval-note strong, .trainer-attendance-approval-note small { display: block; }
.trainer-attendance-approval-note strong { color: var(--text); font-size: 12px; }
.trainer-attendance-approval-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-review-summary { margin-bottom: 13px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.trainer-review-summary article { min-height: 72px; padding: 13px; display: grid; grid-template-columns: 36px 1fr; gap: 9px; align-items: center; }
.trainer-review-summary article > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-review-summary article:nth-child(2) > span { color: #a33c35; background: #fff0ef; }
.trainer-review-summary article:nth-child(3) > span { color: #9a5e00; background: #fff5d9; }
.trainer-review-summary p { margin: 0; }
.trainer-review-summary small, .trainer-review-summary strong, .trainer-review-summary em { display: block; }
.trainer-review-summary small { color: var(--text-soft); font-size: 12px; }
.trainer-review-summary strong { margin: 1px 0; color: var(--utiva-blue-dark); font-size: 18px; }
.trainer-review-summary em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-review-queue { overflow: hidden; }
.trainer-review-toolbar { min-height: 74px; padding: 12px 16px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: auto minmax(210px,1fr) minmax(135px,.45fr) minmax(190px,.65fr); gap: 10px; align-items: end; }
.trainer-review-toolbar .segmented button { min-width: 40px; min-height: 40px; }
.trainer-review-toolbar > label:not(.mini-search) { display: grid; gap: 5px; }
.trainer-review-toolbar > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.trainer-review-toolbar select { width: 100%; height: 36px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 12px; }
.mini-search--input { width: 100%; height: 36px; }
.mini-search--input input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; font: 500 12px/1.4 Poppins,Arial,sans-serif; }
.mini-search--input input::placeholder { color: #9299ab; }
.trainer-review-scope { min-height: 49px; padding: 9px 16px; border-bottom: 1px solid #d7ede3; display: grid; grid-template-columns: 24px minmax(0,1fr) auto auto; gap: 9px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-review-scope p { margin: 0; }
.trainer-review-scope strong, .trainer-review-scope span { display: block; }
.trainer-review-scope strong { color: var(--text); font-size: 12px; }
.trainer-review-scope span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-review-scope small { color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-review-table { overflow-x: auto; }
.trainer-review-table__header, .trainer-review-table__row { min-width: 0; display: grid; grid-template-columns: minmax(190px,1.15fr) minmax(175px,1fr) minmax(150px,.8fr) 90px 95px 100px; gap: 12px; align-items: center; }
.trainer-review-table__header { min-height: 41px; padding: 0 17px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
.trainer-review-record { border-top: 1px solid #edf0f7; }
.trainer-review-record:first-of-type { border-top: 0; }
.trainer-review-record.is-expanded { background: #fbfcff; }
.trainer-review-table__row { min-height: 70px; padding: 0 17px; }
.trainer-review-table__row > div:first-child { min-width: 0; display: flex; gap: 8px; align-items: center; }
.trainer-review-table__row p { min-width: 0; margin: 0; }
.trainer-review-table__row strong, .trainer-review-table__row small { display: block; }
.trainer-review-table__row strong { color: var(--text); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.trainer-review-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.trainer-review-table__row > span:not(.health-pill) { min-width: 0; }
.trainer-review-table__row > .health-pill { justify-self: start; }
.trainer-review-table__row > .text-button { justify-self: end; white-space: nowrap; }
.trainer-review-table__row > .text-button svg { transition: transform 160ms ease; }
.trainer-review-record.is-expanded .trainer-review-table__row > .text-button svg { transform: rotate(180deg); }
.trainer-review-context { margin: 0 17px 13px; padding: 12px; border: 1px solid #dfe4f1; border-radius: 10px; display: grid; grid-template-columns: 28px minmax(0,1fr) minmax(230px,.7fr); gap: 9px; align-items: center; color: var(--utiva-blue); background: #fff; }
.trainer-review-context > p { margin: 0; }
.trainer-review-context > p strong, .trainer-review-context > p span { display: block; }
.trainer-review-context > p strong { color: var(--text); font-size: 12px; }
.trainer-review-context > p span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-review-context > div { display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; color: var(--text-soft); font-size: 12px; }
.trainer-review-context > div strong { color: var(--text); font-size: 12px; }
.trainer-review-context > small { grid-column: 2 / -1; display: flex; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-review-context__actions { grid-column: 2 / -1; display: flex; gap: 7px; align-items: center; }
.trainer-review-queue > .empty-state { min-height: 260px; }
.trainer-review-queue > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.4; }
.trainer-review-queue > footer svg { flex: 0 0 auto; color: var(--utiva-blue); }
.trainer-grading-page > .course-builder-back { margin-bottom: 13px; }
.trainer-grading-hero { min-height: 120px; padding: 22px; border: 1px solid #dfe4fa; border-radius: 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); }
.trainer-grading-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 27px; letter-spacing: -.85px; }
.trainer-grading-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-grading-hero > div:last-child { display: flex; gap: 7px; align-items: center; }
.trainer-grading-notice { min-height: 43px; margin-top: 10px; padding: 8px 13px; border: 1px solid #cae8da; border-radius: 10px; display: grid; grid-template-columns: 22px 1fr 40px; gap: 7px; align-items: center; color: var(--success); background: #f3fbf7; font-size: 12px; }
.trainer-grading-notice button { width: 40px; height: 40px; border-radius: 7px; display: grid; place-items: center; color: var(--text-soft); background: transparent; }
.trainer-grading-facts { margin: 11px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.trainer-grading-facts article { min-height: 62px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); background: #fff; }
.trainer-grading-facts p { min-width: 0; margin: 0; }
.trainer-grading-facts small, .trainer-grading-facts strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-grading-facts small { color: var(--text-soft); font-size: 12px; }
.trainer-grading-facts strong { margin-top: 2px; color: var(--text); font-size: 12px; }
.trainer-grading-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(285px,.58fr); gap: 12px; align-items: start; }
.trainer-grading-layout > main, .trainer-grading-layout > aside { display: grid; gap: 11px; }
.trainer-grading-evidence { overflow: hidden; }
.trainer-grading-evidence > .section-heading { padding: 15px 17px; }
.trainer-grading-evidence__preview { min-height: 105px; padding: 15px 17px; border-top: 1px solid var(--border); display: grid; grid-template-columns: 34px 1fr; gap: 10px; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-grading-evidence__preview strong, .trainer-grading-evidence__preview span { display: block; }
.trainer-grading-evidence__preview strong { color: var(--text); font-size: 12px; }
.trainer-grading-evidence__preview span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-grading-evidence__preview p { margin: 8px 0 0; color: var(--text); font-size: 12px; line-height: 1.55; }
.trainer-rubric-heading { min-height: 65px; padding: 4px 2px 0; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.trainer-rubric-heading h2 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-rubric-heading p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-rubric-list { display: grid; gap: 9px; }
.trainer-rubric-card { padding: 16px; }
.trainer-rubric-card > header { display: grid; grid-template-columns: 31px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.trainer-rubric-card > header > span { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-rubric-card > header h3 { margin: 0; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-rubric-card > header p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-rubric-card > header > strong { color: var(--utiva-blue); font-size: 12px; }
.trainer-rubric-score { margin: 13px 0; padding: 10px 12px; border-radius: 10px; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; background: var(--surface-soft); }
.trainer-rubric-score > span { color: var(--text); font-size: 12px; font-weight: 800; }
.trainer-rubric-score > div { display: flex; gap: 6px; }
.trainer-rubric-score button { width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 800; }
.trainer-rubric-score button:hover { border-color: #aab4df; }
.trainer-rubric-score button.is-selected { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); box-shadow: 0 5px 12px rgba(5,7,148,.16); }
.trainer-rubric-score > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-rubric-card > label { display: grid; gap: 6px; }
.trainer-rubric-card > label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-rubric-card > label em { margin-left: 4px; color: #a33c35; font-size: 12px; font-style: normal; text-transform: uppercase; }
.trainer-rubric-card textarea, .trainer-overall-feedback textarea { width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); background: #fff; font: 500 12px/1.55 Poppins,Arial,sans-serif; }
.trainer-rubric-card > label > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-overall-feedback { padding: 16px; }
.trainer-overall-feedback .section-heading > span { color: #9a5e00; font-size: 12px; font-weight: 800; }
.trainer-overall-feedback .section-heading > span.is-complete { color: var(--success); }
.trainer-overall-feedback textarea { margin-top: 11px; min-height: 105px; }
.trainer-grade-summary { padding: 17px; position: sticky; top: 82px; }
.trainer-grade-summary > div:nth-of-type(1) { margin: 7px 0 4px; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.trainer-grade-summary > div > strong { color: var(--utiva-blue-dark); font-size: 31px; letter-spacing: -1px; }
.trainer-grade-summary > p:not(.eyebrow) { margin: 0 0 10px; color: var(--text-soft); font-size: 12px; }
.trainer-grade-summary > .progress { margin-bottom: 12px; }
.trainer-grade-summary ul { margin: 0 0 13px; padding: 0; list-style: none; }
.trainer-grade-summary li { min-height: 35px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; gap: 8px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-grade-summary li strong { color: var(--text); font-size: 12px; }
.trainer-grade-summary .button + .button { margin-top: 7px; }
.trainer-grade-summary > small { margin-top: 8px; display: block; color: var(--text-soft); font-size: 12px; line-height: 1.45; text-align: center; }
.trainer-grading-audit { padding: 16px; }
.trainer-grading-audit > article { min-height: 54px; display: grid; grid-template-columns: 26px 1fr; gap: 7px; align-items: center; }
.trainer-grading-audit > article > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-grading-audit p { margin: 0; }
.trainer-grading-audit strong, .trainer-grading-audit small, .trainer-grading-audit em { display: block; }
.trainer-grading-audit strong { color: var(--text); font-size: 12px; }
.trainer-grading-audit small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.trainer-grading-audit em { margin-top: 2px; color: #7c8498; font-size: 12px; font-style: normal; }
.trainer-grading-boundary { padding: 13px; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; color: #9a5e00; background: #fffaf0; }
.trainer-grading-boundary p { margin: 0; }
.trainer-grading-boundary strong, .trainer-grading-boundary small { display: block; }
.trainer-grading-boundary strong { color: var(--text); font-size: 12px; }
.trainer-grading-boundary small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-feedback-page > .course-builder-back { margin-bottom: 13px; }
.trainer-feedback-hero { min-height: 120px; padding: 22px; border: 1px solid #dfe4fa; border-radius: 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); }
.trainer-feedback-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 27px; letter-spacing: -.85px; }
.trainer-feedback-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-feedback-hero > div:last-child { display: flex; gap: 7px; align-items: center; }
.trainer-feedback-layout { margin-top: 11px; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(285px,.58fr); gap: 12px; align-items: start; }
.trainer-feedback-layout > main, .trainer-feedback-layout > aside { display: grid; gap: 11px; }
.trainer-feedback-versionbar { min-height: 72px; padding: 12px 16px; display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.trainer-feedback-versionbar > div .eyebrow { margin-bottom: 6px; }
.trainer-feedback-versionbar .segmented button { min-height: 40px; }
.trainer-feedback-versionbar > p { margin: 0; text-align: right; }
.trainer-feedback-versionbar > p strong, .trainer-feedback-versionbar > p span { display: block; }
.trainer-feedback-versionbar > p strong { color: var(--text); font-size: 12px; }
.trainer-feedback-versionbar > p span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-feedback-document { overflow: hidden; }
.trainer-feedback-document > .section-heading, .trainer-feedback-threads > .section-heading, .trainer-feedback-summary > .section-heading { padding: 16px 17px 12px; }
.trainer-feedback-document__body { border-top: 1px solid var(--border); }
.trainer-feedback-document__body > article { min-height: 92px; padding: 14px 17px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 29px minmax(0,1fr) auto; gap: 9px; align-items: start; }
.trainer-feedback-document__body > article:first-child { border-top: 0; }
.trainer-feedback-document__body > article.is-commenting { background: #fbfcff; }
.trainer-feedback-document__body > article > span { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-feedback-document__body article h3 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-feedback-document__body article small { color: var(--text-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .45px; }
.trainer-feedback-document__body article p { margin: 4px 0 0; color: var(--text); font-size: 12px; line-height: 1.55; }
.trainer-inline-composer { grid-column: 2 / -1; padding: 11px; border: 1px solid #dce2f4; border-radius: 10px; background: #fff; }
.trainer-inline-composer label { display: grid; gap: 5px; }
.trainer-inline-composer label > span { color: var(--text); font-size: 12px; font-weight: 800; }
.trainer-inline-composer textarea, .trainer-feedback-summary textarea { width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); background: #fff; font: 500 12px/1.55 Poppins,Arial,sans-serif; }
.trainer-inline-composer label > small { text-align: right; text-transform: none; letter-spacing: 0; }
.trainer-inline-composer > div { margin-top: 8px; display: flex; justify-content: flex-end; gap: 7px; align-items: center; }
.trainer-inline-composer > div > .text-button { margin-right: auto; }
.trainer-feedback-threads { overflow: hidden; }
.trainer-feedback-threads > div:not(.section-heading):not(.empty-state) { border-top: 1px solid var(--border); }
.trainer-feedback-threads article { padding: 14px 17px; border-top: 1px solid #edf0f7; }
.trainer-feedback-threads article:first-child { border-top: 0; }
.trainer-feedback-threads article > header { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; }
.trainer-feedback-threads article > header p, .trainer-feedback-threads article > p { margin: 0; }
.trainer-feedback-threads article > header strong, .trainer-feedback-threads article > header small { display: block; }
.trainer-feedback-threads article > header strong { color: var(--text); font-size: 12px; }
.trainer-feedback-threads article > header small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-feedback-threads article > p { margin-top: 10px; color: var(--text); font-size: 12px; line-height: 1.55; }
.trainer-feedback-threads article > div { margin: 10px 0; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: 24px 1fr; gap: 7px; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-feedback-threads article > div p { margin: 0; }
.trainer-feedback-threads article > div strong, .trainer-feedback-threads article > div span { display: block; }
.trainer-feedback-threads article > div strong { color: var(--text); font-size: 12px; }
.trainer-feedback-threads article > div span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-feedback-threads article > .text-button { margin-top: 9px; }
.trainer-feedback-threads > .empty-state { min-height: 170px; border-top: 1px solid var(--border); }
.trainer-feedback-summary { padding-bottom: 16px; }
.trainer-feedback-summary > .section-heading > span { color: #9a5e00; font-size: 12px; font-weight: 800; }
.trainer-feedback-summary > .section-heading > span.is-complete { color: var(--success); }
.trainer-feedback-summary textarea { width: calc(100% - 34px); min-height: 105px; margin: 0 17px; }
.trainer-revision-decision, .trainer-version-history, .trainer-feedback-audit { padding: 16px; }
.trainer-revision-decision h2 { margin: 3px 0 11px; color: var(--utiva-blue-dark); font-size: 16px; }
.trainer-revision-decision > div { margin-bottom: 12px; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: 1fr auto; gap: 7px; background: var(--surface-soft); }
.trainer-revision-decision > div span { color: var(--text-soft); font-size: 12px; }
.trainer-revision-decision > div strong { color: var(--text); font-size: 12px; }
.trainer-revision-decision .button + .button { margin-top: 7px; }
.trainer-revision-decision > small { margin-top: 8px; display: block; color: var(--text-soft); font-size: 12px; line-height: 1.45; text-align: center; }
.trainer-version-history > button { width: 100%; min-height: 55px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 30px 1fr 15px; gap: 8px; align-items: center; color: var(--text); background: transparent; text-align: left; }
.trainer-version-history > button > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-version-history > button.is-active { color: var(--utiva-blue); }
.trainer-version-history > button p { margin: 0; }
.trainer-version-history > button strong, .trainer-version-history > button small { display: block; }
.trainer-version-history > button strong { font-size: 12px; }
.trainer-version-history > button small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-feedback-audit > article { min-height: 54px; display: grid; grid-template-columns: 26px 1fr; gap: 7px; align-items: center; }
.trainer-feedback-audit > article > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-feedback-audit p { margin: 0; }
.trainer-feedback-audit strong, .trainer-feedback-audit small, .trainer-feedback-audit em { display: block; }
.trainer-feedback-audit strong { color: var(--text); font-size: 12px; }
.trainer-feedback-audit small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.trainer-feedback-audit em { margin-top: 2px; color: #7c8498; font-size: 12px; font-style: normal; }
.trainer-assignment-create-page > .course-builder-back { margin-bottom: 13px; }
.trainer-assignment-create-hero { min-height: 120px; padding: 22px; border: 1px solid #dfe4fa; border-radius: 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); }
.trainer-assignment-create-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 27px; letter-spacing: -.85px; }
.trainer-assignment-create-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-assignment-create-hero > div:last-child { display: flex; gap: 7px; align-items: center; }
.trainer-assignment-receipt { min-height: 54px; margin-top: 10px; padding: 10px 13px; border: 1px solid #cae8da; border-radius: 11px; display: grid; grid-template-columns: 29px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f3fbf7; }
.trainer-assignment-receipt > span:first-child { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: #fff; background: var(--success); }
.trainer-assignment-receipt p { margin: 0; }
.trainer-assignment-receipt strong, .trainer-assignment-receipt small { display: block; }
.trainer-assignment-receipt strong { color: var(--text); font-size: 12px; }
.trainer-assignment-receipt small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-assignment-create-layout { margin-top: 11px; display: grid; grid-template-columns: minmax(0,1.42fr) minmax(300px,.58fr); gap: 12px; align-items: start; }
.trainer-assignment-create-layout > main, .trainer-assignment-create-layout > aside { display: grid; gap: 11px; }
.trainer-assignment-section { padding: 16px 17px; }
.trainer-assignment-fields { margin-top: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.trainer-assignment-fields--full { grid-column: 1 / -1; }
.trainer-assignment-fields label, .trainer-assignment-textarea { display: grid; gap: 6px; }
.trainer-assignment-fields label > span, .trainer-assignment-textarea > span, .trainer-assignment-filetypes > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-assignment-fields input, .trainer-assignment-fields select { width: 100%; height: 39px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fff; font: 500 12px/1.4 Poppins,Arial,sans-serif; }
.trainer-assignment-fields label > small { color: var(--text-soft); font-size: 12px; }
.trainer-assignment-permission { margin-top: 12px; padding: 11px; border-radius: 9px; display: grid; grid-template-columns: 26px 1fr; gap: 7px; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-assignment-permission p { margin: 0; }
.trainer-assignment-permission strong, .trainer-assignment-permission span { display: block; }
.trainer-assignment-permission strong { color: var(--text); font-size: 12px; }
.trainer-assignment-permission span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-assignment-textarea { margin-top: 13px; }
.trainer-assignment-textarea textarea { width: 100%; padding: 10px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); background: #fff; font: 500 12px/1.55 Poppins,Arial,sans-serif; }
.trainer-assignment-textarea > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-assignment-filetypes { display: grid; gap: 6px; }
.trainer-assignment-filetypes > div { display: flex; gap: 6px; }
.trainer-assignment-filetypes button { min-height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; display: inline-flex; gap: 5px; align-items: center; color: var(--text-soft); background: #fff; font-size: 12px; font-weight: 800; }
.trainer-assignment-filetypes button.is-selected { border-color: var(--utiva-blue); color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-assignment-rubric { margin-top: 12px; padding: 11px; border: 1px solid #e0e5f2; border-radius: 9px; display: grid; grid-template-columns: 27px 1fr auto; gap: 8px; align-items: center; color: var(--utiva-blue); background: #fbfcff; }
.trainer-assignment-rubric p { margin: 0; }
.trainer-assignment-rubric strong, .trainer-assignment-rubric span:not(.health-pill) { display: block; }
.trainer-assignment-rubric strong { color: var(--text); font-size: 12px; }
.trainer-assignment-rubric p span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-assignment-preview, .trainer-assignment-checks, .trainer-assignment-audit { padding: 16px; }
.trainer-assignment-preview h2 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 16px; }
.trainer-assignment-preview > span { color: var(--text-soft); font-size: 12px; }
.trainer-assignment-preview > div { margin: 12px 0; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: auto 1fr; gap: 7px 9px; background: var(--surface-soft); }
.trainer-assignment-preview > div span { color: var(--text-soft); font-size: 12px; }
.trainer-assignment-preview > div strong { color: var(--text); font-size: 12px; text-align: right; }
.trainer-assignment-preview > p:last-child { margin: 0; color: var(--text); font-size: 12px; line-height: 1.5; }
.trainer-assignment-checks.is-reviewed { border-color: #cbe8dc; }
.trainer-assignment-checks > .section-heading > svg { color: var(--utiva-blue); }
.trainer-assignment-checks.is-reviewed > .section-heading > svg { color: var(--success); }
.trainer-assignment-checks ul { margin: 10px 0 12px; padding: 0; list-style: none; }
.trainer-assignment-checks li { min-height: 34px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 19px 1fr; gap: 5px; align-items: center; color: #9a5e00; font-size: 12px; }
.trainer-assignment-checks li.is-valid { color: var(--success); }
.trainer-assignment-checks .button + .button { margin-top: 7px; }
.trainer-assignment-checks > .text-button { width: 100%; margin-top: 9px; justify-content: center; }
.trainer-assignment-audit > article { min-height: 54px; display: grid; grid-template-columns: 26px 1fr; gap: 7px; align-items: center; }
.trainer-assignment-audit > article > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-assignment-audit p { margin: 0; }
.trainer-assignment-audit strong, .trainer-assignment-audit small, .trainer-assignment-audit em { display: block; }
.trainer-assignment-audit strong { color: var(--text); font-size: 12px; }
.trainer-assignment-audit small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.trainer-assignment-audit em { margin-top: 2px; color: #7c8498; font-size: 12px; font-style: normal; }
.trainer-assignment-audit__empty { padding: 18px 0 4px; color: var(--text-soft); font-size: 12px; text-align: center; }
.trainer-question-bank-page > .course-builder-back { margin-bottom: 13px; }
.trainer-question-bank-hero { min-height: 120px; padding: 22px; border: 1px solid #dfe4fa; border-radius: 17px; display: flex; justify-content: space-between; gap: 18px; align-items: center; background: linear-gradient(120deg,#fff,#f5f6ff 72%,#fff8e6); }
.trainer-question-bank-hero h1 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 27px; letter-spacing: -.85px; }
.trainer-question-bank-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-question-bank-hero > div:last-child { display: flex; gap: 7px; align-items: center; }
.trainer-question-summary { margin: 11px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.trainer-question-summary article { min-height: 62px; padding: 12px 14px; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.trainer-question-summary strong { color: var(--utiva-blue-dark); font-size: 20px; }
.trainer-question-summary span { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-question-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); gap: 12px; align-items: start; }
.trainer-question-layout > aside { display: grid; gap: 11px; }
.trainer-question-bank { overflow: hidden; }
.trainer-question-toolbar { min-height: 71px; padding: 12px 16px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: minmax(220px,1fr) 140px 180px; gap: 9px; align-items: end; }
.trainer-question-toolbar > label:not(.mini-search) { display: grid; gap: 5px; }
.trainer-question-toolbar > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; font-weight: 800; }
.trainer-question-toolbar select { width: 100%; height: 40px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 13px; }
.trainer-question-scope { min-height: 47px; padding: 9px 16px; border-bottom: 1px solid #d7ede3; display: grid; grid-template-columns: 23px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-question-scope p { margin: 0; }
.trainer-question-scope strong, .trainer-question-scope span { display: block; }
.trainer-question-scope strong { color: var(--text); font-size: 12px; }
.trainer-question-scope span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-question-scope small { color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-question-list > article { border-top: 1px solid #edf0f7; }
.trainer-question-list > article:first-child { border-top: 0; }
.trainer-question-list > article.is-expanded { background: #fbfcff; }
.trainer-question-list article > header { min-height: 79px; padding: 10px 16px; display: grid; grid-template-columns: minmax(0,1fr) 92px; gap: 9px; align-items: center; }
.trainer-question-expand { min-width: 0; display: grid; grid-template-columns: 31px minmax(0,1fr) auto 17px; gap: 8px; align-items: center; color: var(--text); background: transparent; text-align: left; }
.trainer-question-expand > span:first-child { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-question-expand p { min-width: 0; margin: 0; }
.trainer-question-expand small, .trainer-question-expand strong, .trainer-question-expand em { display: block; overflow-wrap: anywhere; }
.trainer-question-expand small { color: var(--text-soft); font-size: 12px; }
.trainer-question-expand strong { margin: 3px 0; color: var(--text); font-size: 13px; line-height: 1.42; }
.trainer-question-expand em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-question-answer { margin: 0 16px 13px 55px; padding: 11px; border: 1px solid #dfe4f1; border-radius: 9px; background: #fff; }
.trainer-question-answer p { margin: 0; }
.trainer-question-answer p strong, .trainer-question-answer p span { display: block; }
.trainer-question-answer p strong { color: var(--text); font-size: 12px; }
.trainer-question-answer p span { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-question-answer > div { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.trainer-question-answer > div span { min-height: 27px; padding: 0 8px; border: 1px solid var(--border); border-radius: 7px; display: inline-flex; gap: 4px; align-items: center; color: var(--text-soft); background: #fbfcff; font-size: 12px; }
.trainer-question-answer > div span.is-correct { border-color: #bee2d2; color: var(--success); background: #f3fbf7; }
.trainer-question-answer > small { margin-top: 9px; display: flex; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-question-bank > .empty-state { min-height: 260px; }
.trainer-question-bank > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.4; }
.trainer-quiz-builder { padding: 16px; }
.trainer-quiz-builder > label { margin-top: 10px; display: grid; gap: 5px; }
.trainer-quiz-builder > label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-quiz-builder > label input, .trainer-quiz-builder > label select { width: 100%; height: 40px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fff; font: 500 13px/1.4 Poppins,Arial,sans-serif; }
.trainer-quiz-selected { margin: 12px 0; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; }
.trainer-quiz-selected > header { min-height: 38px; padding: 0 10px; display: flex; justify-content: space-between; gap: 8px; align-items: center; background: var(--surface-soft); }
.trainer-quiz-selected > header strong { color: var(--text); font-size: 12px; }
.trainer-quiz-selected > header span { color: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.trainer-quiz-selected > article { min-height: 55px; padding: 8px 10px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 24px 1fr 40px; gap: 7px; align-items: center; }
.trainer-quiz-selected > article > span { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-quiz-selected article p { min-width: 0; margin: 0; }
.trainer-quiz-selected article strong, .trainer-quiz-selected article small { display: block; overflow-wrap: anywhere; }
.trainer-quiz-selected article strong { color: var(--text); font-size: 12px; }
.trainer-quiz-selected article small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-quiz-selected article button { width: 40px; height: 40px; border-radius: 8px; display: grid; place-items: center; color: var(--text-soft); background: transparent; }
.trainer-quiz-selected article button:hover { color: var(--danger); background: #fff1f2; }
.trainer-quiz-selected > p { margin: 0; padding: 18px 10px; color: var(--text-soft); font-size: 12px; text-align: center; }
.trainer-quiz-score { margin-bottom: 11px; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; background: var(--surface-soft); }
.trainer-quiz-score span { color: var(--text-soft); font-size: 12px; }
.trainer-quiz-score strong { color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-quiz-score small { grid-column: 1 / -1; color: var(--text-soft); font-size: 12px; }
.trainer-quiz-receipt { margin-top: 9px; padding: 9px; border-radius: 8px; display: grid; grid-template-columns: 24px 1fr; gap: 6px; color: var(--success); background: #f3fbf7; }
.trainer-quiz-receipt p { margin: 0; }
.trainer-quiz-receipt strong, .trainer-quiz-receipt small { display: block; }
.trainer-quiz-receipt strong { color: var(--text); font-size: 12px; }
.trainer-quiz-receipt small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-question-modal { max-width: 680px; }
.trainer-question-modal textarea { width: 100%; min-height: 95px; padding: 10px; border: 1px solid var(--border); border-radius: 9px; resize: vertical; color: var(--text); font: 500 13px/1.5 Poppins,Arial,sans-serif; }
.trainer-question-modal__note { margin-top: 13px; padding: 10px; border-radius: 8px; display: flex; gap: 7px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; }
.trainer-content-context { min-height: 76px; margin-bottom: 10px; padding: 12px 16px; display: grid; grid-template-columns: minmax(300px,.8fr) 1fr; gap: 16px; align-items: end; }
.trainer-content-context > label { display: grid; gap: 5px; }
.trainer-content-context > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.trainer-content-context select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 13px; }
.trainer-content-context > div { min-height: 39px; display: grid; grid-template-columns: repeat(3,1fr); }
.trainer-content-context > div p { margin: 0; padding: 0 14px; border-left: 1px solid #e7ebf4; }
.trainer-content-context > div small, .trainer-content-context > div strong { display: block; }
.trainer-content-context > div small { color: var(--text-soft); font-size: 12px; }
.trainer-content-context > div strong { margin-top: 3px; color: var(--text); font-size: 12px; }
.trainer-content-summary { margin-bottom: 10px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.trainer-content-summary article { min-height: 63px; padding: 12px; display: grid; grid-template-columns: 33px 1fr; gap: 8px; align-items: center; }
.trainer-content-summary article > span { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-content-summary p { margin: 0; }
.trainer-content-summary strong, .trainer-content-summary small { display: block; }
.trainer-content-summary strong { color: var(--utiva-blue-dark); font-size: 17px; }
.trainer-content-summary small { margin-top: 1px; color: var(--text-soft); font-size: 12px; }
.trainer-content-modules { overflow: hidden; }
.trainer-content-toolbar { min-height: 74px; padding: 13px 16px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 15px; align-items: center; }
.trainer-content-toolbar h2 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-content-toolbar > div:first-child > span { color: var(--text-soft); font-size: 12px; }
.trainer-content-toolbar .segmented button { min-height: 40px; }
.trainer-content-scope { min-height: 47px; padding: 9px 16px; border-bottom: 1px solid #d7ede3; display: grid; grid-template-columns: 23px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f4fbf8; }
.trainer-content-scope p { margin: 0; }
.trainer-content-scope strong, .trainer-content-scope span { display: block; }
.trainer-content-scope strong { color: var(--text); font-size: 12px; }
.trainer-content-scope span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-content-scope small { color: var(--success); font-size: 12px; font-weight: 800; }
.trainer-content-module-list > article { border-top: 1px solid #edf0f7; }
.trainer-content-module-list > article:first-child { border-top: 0; }
.trainer-content-module-list > article.is-expanded { background: #fbfcff; }
.trainer-content-module-heading { width: 100%; min-height: 78px; padding: 0 17px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto 18px; gap: 10px; align-items: center; color: var(--text); background: transparent; text-align: left; }
.trainer-content-module-heading > span:first-child { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-content-module-heading p { min-width: 0; margin: 0; }
.trainer-content-module-heading small, .trainer-content-module-heading strong, .trainer-content-module-heading em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-content-module-heading small { color: var(--text-soft); font-size: 12px; }
.trainer-content-module-heading strong { margin: 3px 0; color: var(--text); font-size: 13px; }
.trainer-content-module-heading em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-content-module-heading > svg { color: var(--text-soft); transition: transform 160ms ease; }
.trainer-content-module-list > article.is-expanded .trainer-content-module-heading > svg { transform: rotate(180deg); }
.trainer-content-module-body { margin: 0 17px 13px 65px; border: 1px solid #dfe4f1; border-radius: 10px; display: grid; grid-template-columns: 1.2fr .8fr; overflow: hidden; background: #fff; }
.trainer-content-module-body > section { padding: 12px; }
.trainer-content-module-body > section + section { border-left: 1px solid #edf0f7; }
.trainer-content-module-body h3 { margin: 0 0 7px; display: flex; gap: 6px; align-items: center; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-content-module-body section > div { min-height: 47px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 25px 1fr auto; gap: 7px; align-items: center; }
.trainer-content-module-body section > div > span { width: 23px; height: 23px; border-radius: 7px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-content-module-body section > div p { min-width: 0; margin: 0; }
.trainer-content-module-body section > div strong, .trainer-content-module-body section > div small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.trainer-content-module-body section > div strong { color: var(--text); font-size: 12px; }
.trainer-content-module-body section > div small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-content-module-body section > div em { font-style: normal; }
.trainer-content-module-body > footer { grid-column: 1 / -1; min-height: 38px; padding: 8px 12px; border-top: 1px solid var(--border); display: flex; gap: 6px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-content-modules > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.4; }
.trainer-content-preview { max-width: 660px; }
.trainer-content-preview__course { margin: 13px 0; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.trainer-content-preview__course > div { min-height: 64px; padding: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-content-preview__course > div p { margin: 0; }
.trainer-content-preview__course > div strong, .trainer-content-preview__course > div small { display: block; }
.trainer-content-preview__course > div strong { color: var(--text); font-size: 12px; }
.trainer-content-preview__course > div small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-content-preview__course > section { min-height: 70px; padding: 11px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 27px 1fr; gap: 8px; }
.trainer-content-preview__course > section > span { width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-content-preview__course h3 { margin: 2px 0 7px; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-content-preview__course section p { margin: 5px 0 0; display: flex; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-content-preview__boundary { margin-bottom: 13px; padding: 10px; border-radius: 8px; display: flex; gap: 7px; align-items: center; color: #9a5e00; background: #fffaf0; font-size: 12px; }
.trainer-content-authoring-page { max-width: 1180px; }
.trainer-content-authoring-hero { margin: 10px 0; padding: 24px 26px; border-radius: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.trainer-content-authoring-hero h1 { margin: 4px 0 5px; font-size: clamp(23px,3vw,34px); line-height: 1.08; }
.trainer-content-authoring-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; }
.trainer-content-authoring-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-content-authoring-hero .health-pill { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-content-authoring-tabs { margin-bottom: 10px; padding: 6px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.trainer-content-authoring-tabs button { min-height: 58px; padding: 9px 12px; border: 1px solid transparent; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; align-items: center; color: var(--text-soft); background: transparent; text-align: left; }
.trainer-content-authoring-tabs button > svg { width: 25px; height: 25px; padding: 6px; border-radius: 7px; background: var(--surface-soft); }
.trainer-content-authoring-tabs button strong, .trainer-content-authoring-tabs button small { display: block; }
.trainer-content-authoring-tabs button strong { color: var(--text); font-size: 12px; }
.trainer-content-authoring-tabs button small { margin-top: 2px; font-size: 12px; }
.trainer-content-authoring-tabs button.is-active { border-color: #cfd7ff; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-content-authoring-tabs button.is-active > svg { color: #fff; background: var(--utiva-blue); }
.trainer-content-authoring-layout, .trainer-central-request-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.75fr); gap: 10px; align-items: start; }
.trainer-content-authoring-layout > aside, .trainer-central-request-layout > aside { display: grid; gap: 10px; }
.trainer-author-editor { padding: 17px; }
.trainer-author-editor > .section-heading > div:last-child { display: flex; gap: 8px; align-items: center; }
.trainer-author-fields { margin-top: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.trainer-author-fields label, .trainer-central-request label { display: grid; gap: 5px; }
.trainer-author-fields label > span, .trainer-central-request label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-author-fields input, .trainer-author-fields select, .trainer-author-fields textarea, .trainer-central-request textarea { width: 100%; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px/1.5 Poppins,Arial,sans-serif; }
.trainer-author-fields input, .trainer-author-fields select { height: 40px; padding: 0 10px; }
.trainer-author-fields textarea, .trainer-central-request textarea { padding: 10px; resize: vertical; }
.trainer-author-fields label > small, .trainer-central-request label > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-author-fields--full { grid-column: 1 / -1; }
.trainer-author-version { min-height: 40px; padding: 8px 10px; border-radius: 9px; display: grid; grid-template-columns: 23px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-author-version p { margin: 0; }
.trainer-author-version strong, .trainer-author-version span { display: block; }
.trainer-author-version strong { font-size: 12px; }
.trainer-author-version span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-author-preview, .trainer-author-checks, .trainer-central-request { padding: 15px; }
.trainer-author-preview > span { display: block; margin: 9px 0 5px; color: var(--text-soft); font-size: 12px; }
.trainer-author-preview h2 { margin: 0 0 8px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-author-preview > p:not(.eyebrow) { min-height: 60px; margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.trainer-author-preview > div { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border); display: grid; grid-template-columns: 16px 1fr auto; gap: 5px; align-items: center; color: var(--utiva-blue); font-size: 12px; }
.trainer-author-checks > p { min-height: 28px; margin: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 18px 1fr; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-author-checks > p.is-valid { color: var(--success); }
.trainer-author-checks > .button { margin-top: 7px; }
.trainer-central-lesson { overflow: hidden; }
.trainer-central-lesson > .section-heading { padding: 17px; }
.trainer-central-lesson > div:nth-child(2) { padding: 4px 17px 18px; }
.trainer-central-lesson h3 { margin: 13px 0 5px; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-central-lesson p { color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.trainer-central-lesson > footer { min-height: 44px; padding: 10px 17px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-central-request h2 { margin: 4px 0 5px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-central-request > p:not(.eyebrow) { margin: 0 0 12px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.trainer-central-request > .button { margin-top: 10px; }
.trainer-central-request > div { margin-top: 9px; padding: 9px; border-radius: 8px; display: flex; gap: 6px; align-items: center; color: var(--success); background: #f3fbf7; font-size: 12px; font-weight: 700; }
.trainer-resource-page { max-width: 1180px; }
.trainer-resource-hero { margin: 10px 0; padding: 24px 26px; border-radius: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; color: #fff; background: linear-gradient(135deg,#03045f,#1013b4); }
.trainer-resource-hero h1 { margin: 4px 0 5px; font-size: clamp(23px,3vw,34px); line-height: 1.08; }
.trainer-resource-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; }
.trainer-resource-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-resource-hero .health-pill { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-resource-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(275px,.7fr); gap: 10px; align-items: start; }
.trainer-resource-layout > aside { display: grid; gap: 10px; }
.trainer-resource-library { overflow: hidden; }
.trainer-resource-library > .section-heading { padding: 17px; }
.trainer-resource-list article { min-height: 82px; padding: 11px 16px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 32px minmax(150px,1fr) minmax(170px,1fr) auto minmax(76px,auto); gap: 9px; align-items: center; }
.trainer-resource-list article > span:first-child { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-resource-list p, .trainer-resource-list article > div { min-width: 0; margin: 0; }
.trainer-resource-list small, .trainer-resource-list strong, .trainer-resource-list em { display: block; overflow-wrap: anywhere; line-height: 1.4; }
.trainer-resource-list small { color: var(--text-soft); font-size: 12px; }
.trainer-resource-list strong { margin: 2px 0; color: var(--text); font-size: 13px; }
.trainer-resource-list em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-resource-added { text-align: right; }
.trainer-resource-list .button { min-height: 40px; padding: 0 9px; font-size: 12px; white-space: nowrap; }
.trainer-resource-library > footer { min-height: 42px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.trainer-resource-composer { padding: 16px; }
.trainer-resource-composer h2 { margin: 4px 0 12px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-resource-composer .segmented { width: 100%; margin-bottom: 12px; }
.trainer-resource-composer .segmented button { min-height: 40px; flex: 1; justify-content: center; }
.trainer-resource-composer > label:not(.trainer-resource-drop):not(.trainer-resource-confirm) { margin-top: 9px; display: grid; gap: 5px; }
.trainer-resource-composer > label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-resource-composer input, .trainer-resource-composer select { width: 100%; height: 40px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px/1.4 Poppins,Arial,sans-serif; }
.trainer-resource-composer label > small { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-resource-drop { min-height: 114px; margin-top: 11px; padding: 14px; border: 1.5px dashed #bdc7e8; border-radius: 10px; display: grid; place-items: center; align-content: center; gap: 3px; position: relative; color: var(--utiva-blue); background: #f8f9ff; text-align: center; cursor: pointer; }
.trainer-resource-drop strong { color: var(--text); font-size: 12px; }
.trainer-resource-drop small { color: var(--text-soft); font-size: 12px; }
.trainer-resource-drop input { inset: 0; height: 100%; position: absolute; opacity: 0; cursor: pointer; }
.trainer-resource-composer > .text-button { margin: 5px 0 2px; }
.trainer-resource-confirm { margin: 12px 0 10px; display: grid; grid-template-columns: 16px 1fr; gap: 7px; align-items: start; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-resource-confirm input { width: 14px; height: 14px; margin: 1px 0 0; accent-color: var(--utiva-blue); }
.trainer-messaging-page { max-width: 1180px; }
.trainer-messaging-hero { margin: 10px 0; padding: 24px 26px; border-radius: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),#1116b5); }
.trainer-messaging-hero h1 { margin: 4px 0 5px; font-size: clamp(23px,3vw,34px); line-height: 1.08; }
.trainer-messaging-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; }
.trainer-messaging-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-messaging-hero .health-pill { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-messaging-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.65fr); gap: 10px; align-items: start; }
.trainer-message-compose { padding: 17px; }
.trainer-message-fields { margin-top: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.trainer-message-fields label, .trainer-message-subject, .trainer-message-body { display: grid; gap: 5px; }
.trainer-message-fields label > span, .trainer-message-subject > span, .trainer-message-body > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-message-fields select, .trainer-message-subject input, .trainer-message-body textarea { width: 100%; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px/1.5 Poppins,Arial,sans-serif; }
.trainer-message-fields select, .trainer-message-subject input { height: 40px; padding: 0 9px; }
.trainer-message-body textarea { padding: 10px; resize: vertical; }
.trainer-message-body small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-message-audience { margin: 11px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.trainer-message-audience button { min-height: 59px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 7px; align-items: center; color: var(--text-soft); background: #fff; text-align: left; }
.trainer-message-audience button p { margin: 0; }
.trainer-message-audience button strong, .trainer-message-audience button small { display: block; }
.trainer-message-audience button strong { color: var(--text); font-size: 12px; }
.trainer-message-audience button small { margin-top: 2px; font-size: 12px; }
.trainer-message-audience button.is-active { border-color: #bfc9ff; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-message-learner-picker { margin: 0 0 11px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.trainer-message-learner-picker > header { min-height: 36px; padding: 0 10px; display: flex; justify-content: space-between; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-message-learner-picker > header strong { color: var(--utiva-blue); }
.trainer-message-learner-picker > label { min-height: 48px; padding: 7px 10px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 15px 25px 1fr; gap: 7px; align-items: center; cursor: pointer; }
.trainer-message-learner-picker input { accent-color: var(--utiva-blue); }
.trainer-message-learner-picker p { margin: 0; }
.trainer-message-learner-picker strong, .trainer-message-learner-picker small { display: block; }
.trainer-message-learner-picker strong { color: var(--text); font-size: 12px; }
.trainer-message-learner-picker small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-message-learner-picker > p { margin: 0; padding: 13px; color: var(--text-soft); font-size: 12px; }
.trainer-message-subject { margin-bottom: 10px; }
.trainer-message-preview { margin-top: 12px; padding: 12px; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--surface-soft); }
.trainer-message-preview > span { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; background: #fff; }
.trainer-message-preview small, .trainer-message-preview strong { display: block; }
.trainer-message-preview small { color: var(--text-soft); font-size: 12px; letter-spacing: .4px; }
.trainer-message-preview strong { margin: 3px 0; color: var(--text); font-size: 12px; }
.trainer-message-preview p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.trainer-message-review { padding: 16px; }
.trainer-message-review h2 { margin: 4px 0 11px; color: var(--utiva-blue-dark); font-size: 14px; }
.trainer-message-review > div { min-height: 38px; border-top: 1px solid #edf0f7; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.trainer-message-review > div span { color: var(--text-soft); font-size: 12px; }
.trainer-message-review > div strong { color: var(--text); font-size: 12px; text-align: right; }
.trainer-message-review > label { margin: 12px 0; display: grid; grid-template-columns: 15px 1fr; gap: 7px; align-items: start; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-message-review input { margin: 1px 0 0; accent-color: var(--utiva-blue); }
.trainer-message-review > small { margin-top: 9px; display: flex; gap: 5px; align-items: flex-start; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-message-log { margin-top: 10px; overflow: hidden; }
.trainer-message-log > .section-heading { padding: 16px; }
.trainer-message-log article { min-height: 72px; padding: 10px 16px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 30px minmax(0,1fr) minmax(120px,.5fr) auto; gap: 9px; align-items: center; }
.trainer-message-log article > span:first-child { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-message-log article p { min-width: 0; margin: 0; }
.trainer-message-log article small, .trainer-message-log article strong, .trainer-message-log article em { display: block; }
.trainer-message-log article p small, .trainer-message-log article em { color: var(--text-soft); font-size: 12px; }
.trainer-message-log article strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-message-log article em { font-style: normal; }
.trainer-message-log article > div small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-message-log article .button { min-height: 40px; padding: 0 9px; font-size: 12px; white-space: nowrap; }
.trainer-message-log > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-support-page { max-width: 1180px; }
.trainer-support-hero { margin: 10px 0; padding: 24px 26px; border-radius: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),#1116b5); }
.trainer-support-hero h1 { margin: 4px 0 5px; font-size: clamp(23px,3vw,34px); line-height: 1.08; }
.trainer-support-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; }
.trainer-support-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-support-hero .health-pill { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-support-tabs { margin-bottom: 10px; padding: 6px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
.trainer-support-tabs button { min-height: 56px; padding: 9px 12px; border: 1px solid transparent; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 7px; align-items: center; color: var(--text-soft); background: transparent; text-align: left; }
.trainer-support-tabs button strong, .trainer-support-tabs button small { display: block; }
.trainer-support-tabs button strong { color: var(--text); font-size: 12px; }
.trainer-support-tabs button small { margin-top: 2px; font-size: 12px; }
.trainer-support-tabs button.is-active { border-color: #cfd7ff; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-support-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(260px,.65fr); gap: 10px; align-items: start; }
.trainer-support-layout > aside { display: grid; gap: 10px; }
.trainer-announcement-compose,.trainer-office-compose,.trainer-announcement-preview,.trainer-office-summary { padding: 17px; }
.trainer-announcement-compose > label { margin-top: 10px; display: grid; gap: 5px; }
.trainer-announcement-compose > label > span,.trainer-office-fields label > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-announcement-compose input,.trainer-announcement-compose select,.trainer-announcement-compose textarea,.trainer-office-fields input,.trainer-office-fields select { width: 100%; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px/1.5 Poppins,Arial,sans-serif; }
.trainer-announcement-compose input,.trainer-announcement-compose select,.trainer-office-fields input,.trainer-office-fields select { height: 40px; padding: 0 9px; }
.trainer-announcement-compose textarea { padding: 10px; resize: vertical; }
.trainer-announcement-compose label > small,.trainer-office-fields label > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.trainer-announcement-compose > .button,.trainer-office-compose > .button { margin-top: 12px; }
.trainer-announcement-preview > span { display: block; margin: 9px 0 5px; color: var(--text-soft); font-size: 12px; }
.trainer-announcement-preview h2,.trainer-office-summary h2 { margin: 0 0 8px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-announcement-preview > p:not(.eyebrow) { min-height: 70px; margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.trainer-announcement-preview > small { margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--border); display: flex; gap: 5px; align-items: center; color: var(--text-soft); font-size: 12px; }
.trainer-office-fields { margin-top: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.trainer-office-fields label { display: grid; gap: 5px; }
.trainer-office-fields--full { grid-column: 1 / -1; }
.trainer-office-summary > div { min-height: 53px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 23px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); }
.trainer-office-summary p { margin: 0; }
.trainer-office-summary strong,.trainer-office-summary small { display: block; }
.trainer-office-summary strong { color: var(--text); font-size: 12px; }
.trainer-office-summary small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-support-history { margin-top: 10px; overflow: hidden; }
.trainer-support-history > .section-heading { padding: 16px; }
.trainer-support-history article { min-height: 75px; padding: 10px 16px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 30px minmax(0,1fr) minmax(160px,.45fr); gap: 9px; align-items: center; }
.trainer-support-history article > span:first-child { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-support-history article p { min-width: 0; margin: 0; }
.trainer-support-history article small,.trainer-support-history article strong,.trainer-support-history article em { display: block; }
.trainer-support-history article p small,.trainer-support-history article em,.trainer-support-history article > div small { color: var(--text-soft); font-size: 12px; }
.trainer-support-history article strong { margin: 2px 0; color: var(--text); font-size: 12px; }
.trainer-support-history article em { overflow-wrap: anywhere; line-height: 1.4; font-style: normal; }
.trainer-support-history article > div { text-align: right; }
.trainer-support-history article > div .health-pill { margin-left: auto; }
.trainer-support-history article > div small { margin-top: 3px; line-height: 1.4; }
.trainer-support-history > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-analytics-page { max-width: 1180px; }
.trainer-analytics-hero { margin: 10px 0; padding: 24px 26px; border-radius: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),#1116b5); }
.trainer-analytics-hero h1 { margin: 4px 0 5px; font-size: clamp(23px,3vw,34px); line-height: 1.08; }
.trainer-analytics-hero p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; }
.trainer-analytics-hero .eyebrow { color: var(--utiva-yellow); }
.trainer-analytics-hero > div:last-child { display: grid; gap: 8px; justify-items: end; }
.trainer-analytics-hero .health-pill { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.trainer-analytics-hero select { height: 38px; padding: 0 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; color: #fff; background: rgba(255,255,255,.1); font: 700 12px Poppins,Arial,sans-serif; }
.trainer-analytics-scope { min-height: 54px; margin-bottom: 10px; padding: 10px 15px; border: 1px solid #d7e1f8; border-radius: 11px; display: grid; grid-template-columns: 23px 1fr auto; gap: 8px; align-items: center; color: var(--utiva-blue); background: #f4f7ff; }
.trainer-analytics-scope p { margin: 0; }
.trainer-analytics-scope strong,.trainer-analytics-scope span { display: block; }
.trainer-analytics-scope strong { color: var(--text); font-size: 12px; }
.trainer-analytics-scope p span { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-analytics-scope label { display: flex; gap: 6px; align-items: center; color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-analytics-scope input { accent-color: var(--utiva-blue); }
.trainer-analytics-metrics { margin-bottom: 10px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.trainer-analytics-metrics article { padding: 13px; overflow: hidden; }
.trainer-analytics-metrics header { display: flex; gap: 7px; align-items: center; }
.trainer-analytics-metrics header > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-analytics-metrics header small { color: var(--text-soft); font-size: 12px; }
.trainer-analytics-metrics article > div { margin: 10px 0 8px; display: flex; justify-content: space-between; align-items: end; }
.trainer-analytics-metrics article > div strong { color: var(--utiva-blue-dark); font-size: 20px; }
.trainer-analytics-metrics article > div em { font-size: 12px; font-style: normal; font-weight: 800; }
.trainer-analytics-metrics .is-positive { color: var(--success); }
.trainer-analytics-metrics .is-warning { color: #a46600; }
.trainer-analytics-metrics article > section { height: 35px; display: flex; gap: 4px; align-items: end; }
.trainer-analytics-metrics article > section span { flex: 1; min-height: 5px; border-radius: 3px 3px 0 0; background: linear-gradient(#6e72ff,var(--utiva-blue)); opacity: .85; }
.trainer-analytics-metrics article > footer { margin-top: 8px; padding-top: 7px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; color: var(--text-soft); font-size: 12px; }
.trainer-analytics-metrics article > footer strong { color: var(--text); }
.trainer-analytics-table { overflow: hidden; }
.trainer-analytics-table > .section-heading { padding: 16px; }
.trainer-analytics-table__header,.trainer-analytics-table > article { padding: 10px 16px; display: grid; grid-template-columns: minmax(190px,1.6fr) repeat(4,minmax(80px,.65fr)) minmax(90px,.7fr); gap: 8px; align-items: center; }
.trainer-analytics-table__header { min-height: 36px; border-top: 1px solid var(--border); color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .4px; font-size: 12px; font-weight: 800; }
.trainer-analytics-table > article { min-height: 58px; border-top: 1px solid #edf0f7; }
.trainer-analytics-table article p { margin: 0; }
.trainer-analytics-table article strong,.trainer-analytics-table article small { display: block; }
.trainer-analytics-table article p strong { color: var(--text); font-size: 12px; }
.trainer-analytics-table article p small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-analytics-table article > span { color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-analytics-table article em { font-style: normal; }
.trainer-analytics-table > footer { min-height: 40px; padding: 9px 16px; border-top: 1px solid var(--border); display: flex; gap: 7px; align-items: center; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; }
.trainer-analytics-evidence { margin-top: 10px; padding: 15px; border-radius: 11px; display: grid; grid-template-columns: 29px 1fr; gap: 9px; color: var(--utiva-blue); background: #f4f7ff; }
.trainer-analytics-evidence h2 { margin: 3px 0 5px; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-analytics-evidence p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.trainer-analytics-evidence p strong { color: var(--text); }
.trainer-assistant-page { max-width: 1180px; }
.trainer-assistant-back { margin-bottom: 14px; }
.trainer-assistant-heading { margin-bottom: 20px; padding: 26px 28px; border-radius: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; color: #fff; background: linear-gradient(135deg,var(--utiva-blue-dark),var(--utiva-blue)); box-shadow: 0 16px 34px rgba(5,7,148,.16); }
.trainer-assistant-heading h1 { margin: 4px 0 7px; font-size: clamp(27px,3vw,39px); line-height: 1.05; }
.trainer-assistant-heading p:last-child { max-width: 650px; margin: 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.55; }
.trainer-assistant-heading > span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; display: inline-flex; align-items: center; gap: 7px; color: var(--utiva-yellow); background: rgba(0,0,0,.15); font-size: 12px; font-weight: 800; white-space: nowrap; }
.trainer-assistant-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px; align-items: start; }
.trainer-assistant-main { display: grid; gap: 18px; }
.trainer-assistant-compose,.trainer-assistant-draft,.trainer-assistant-side .panel { padding: 22px; }
.trainer-assistant-task-list { margin: 16px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.trainer-assistant-task-list button { min-height: 76px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: flex-start; gap: 9px; color: var(--text-soft); background: #fff; text-align: left; cursor: pointer; }
.trainer-assistant-task-list button.is-active { color: var(--utiva-blue); border-color: #9da3e7; background: var(--utiva-blue-soft); box-shadow: inset 0 0 0 1px rgba(5,7,148,.06); }
.trainer-assistant-task-list strong,.trainer-assistant-task-list small { display: block; }
.trainer-assistant-task-list strong { color: var(--text); font-size: 12px; }
.trainer-assistant-task-list small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.trainer-assistant-field { margin-top: 13px; display: grid; gap: 6px; color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-assistant-field select,.trainer-assistant-field textarea,.trainer-assistant-draft > textarea { width: 100%; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fbfcff; font: 500 12px/1.6 Poppins,sans-serif; outline: none; }
.trainer-assistant-field select { min-height: 42px; padding: 0 11px; }
.trainer-assistant-field textarea,.trainer-assistant-draft > textarea { padding: 11px; resize: vertical; }
.trainer-assistant-field select:focus,.trainer-assistant-field textarea:focus,.trainer-assistant-draft > textarea:focus { border-color: #969de3; box-shadow: 0 0 0 3px rgba(5,7,148,.06); }
.trainer-assistant-field small { display: inline-flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; font-weight: 500; }
.trainer-assistant-compose > .button { margin-top: 15px; }
.trainer-assistant-source { width: 100%; min-height: 44px; margin-top: 10px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; display: flex; justify-content: space-between; align-items: center; color: var(--utiva-blue); background: #f8f9ff; cursor: pointer; }
.trainer-assistant-source span { display: inline-flex; align-items: center; gap: 7px; }
.trainer-assistant-source strong { font-size: 12px; }
.trainer-assistant-sources { margin-top: 8px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.trainer-assistant-sources article { padding: 11px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; background: #fff; }
.trainer-assistant-sources article + article { border-top: 1px solid #edf0f7; }
.trainer-assistant-sources article > span { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.trainer-assistant-sources strong,.trainer-assistant-sources small,.trainer-assistant-sources em { display: block; }
.trainer-assistant-sources strong { font-size: 12px; }
.trainer-assistant-sources small,.trainer-assistant-sources em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.trainer-assistant-sources p { margin: 5px 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.trainer-assistant-review { margin-top: 14px; padding: 13px; border-radius: 10px; background: #fffaf0; }
.trainer-assistant-review > p { margin: 0 0 7px; display: flex; align-items: center; gap: 6px; color: #8c5b00; font-size: 12px; }
.trainer-assistant-review label { min-height: 31px; display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 12px; cursor: pointer; }
.trainer-assistant-review input { accent-color: var(--utiva-blue); }
.trainer-assistant-draft-actions { margin-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.trainer-assistant-draft-actions small { color: var(--text-soft); font-size: 12px; }
.trainer-assistant-side { display: grid; gap: 14px; }
.trainer-assistant-side__icon { width: 42px; height: 42px; margin-bottom: 13px; border-radius: 11px; display: grid; place-items: center; color: #a82e3c; background: #fff0f2; }
.trainer-assistant-side h2 { margin: 5px 0 8px; color: var(--utiva-blue-dark); font-size: 16px; line-height: 1.25; }
.trainer-assistant-side p:not(.eyebrow) { margin: 0 0 15px; color: var(--text-soft); font-size: 12px; line-height: 1.6; }
.trainer-assistant-context > div { min-height: 30px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 7px; color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-assistant-context > div svg { color: var(--success); }
.trainer-assistant-context > small { margin-top: 10px; padding: 10px; border-radius: 8px; display: flex; align-items: flex-start; gap: 7px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.trainer-profile-page { max-width: 1160px; }
.trainer-profile-page > .text-button { margin-bottom: 14px; }
.trainer-profile-hero { margin-bottom: 18px; padding: 25px 27px; border-radius: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; color: #fff; background: var(--utiva-blue); }
.trainer-profile-hero h1 { margin: 4px 0 7px; font-size: clamp(27px,3vw,38px); line-height: 1.08; }
.trainer-profile-hero p:last-child { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.5; }
.trainer-profile-hero > span { padding: 8px 11px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; color: var(--utiva-blue-dark); background: var(--utiva-yellow); font-size: 12px; font-weight: 800; white-space: nowrap; }
.trainer-profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 17px; align-items: start; }
.trainer-profile-layout main,.trainer-profile-layout aside { display: grid; gap: 14px; }
.trainer-profile-layout .panel { padding: 20px; }
.trainer-profile-identity { display: grid; grid-template-columns: 54px 1fr auto; gap: 13px; align-items: center; }
.trainer-profile-avatar { width: 54px; height: 54px; border-radius: 15px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,#696dde,var(--utiva-blue)); font-size: 15px; font-weight: 800; }
.trainer-profile-identity h2 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 16px; }
.trainer-profile-identity p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 13px; }
.trainer-profile-identity span { margin-top: 5px; display: inline-flex; align-items: center; gap: 5px; color: var(--success); font-size: 13px; font-weight: 700; }
.trainer-profile-identity > small { max-width: 210px; display: flex; align-items: flex-start; gap: 5px; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.trainer-profile-editor > p { margin: 4px 0 12px; color: var(--text-soft); font-size: 13px; }
.trainer-profile-editor .section-heading > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.trainer-profile-chips,.trainer-profile-days { display: flex; flex-wrap: wrap; gap: 7px; }
.trainer-profile-chips button,.trainer-profile-days button { min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 9px; display: inline-flex; align-items: center; gap: 4px; color: var(--text-soft); background: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.trainer-profile-chips button.is-active,.trainer-profile-days button.is-active { color: var(--utiva-blue); border-color: #9ca2e4; background: var(--utiva-blue-soft); }
.trainer-profile-days button { width: 44px; justify-content: center; }
.trainer-profile-editor > label { margin-top: 13px; display: grid; gap: 6px; color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-profile-editor select { min-height: 42px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px Poppins,sans-serif; }
.trainer-profile-save { margin-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.trainer-profile-save small { color: var(--text-soft); font-size: 12px; }
.trainer-verification-panel article { min-height: 58px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 31px 1fr; gap: 9px; align-items: center; }
.trainer-verification-panel article > span { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; color: var(--success); background: #e8f7f1; }
.trainer-verification-panel article > span.is-warning { color: #9a5e00; background: var(--utiva-yellow-soft); }
.trainer-verification-panel article strong,.trainer-verification-panel article small,.trainer-verification-panel article em { display: block; }
.trainer-verification-panel article strong { font-size: 13px; }
.trainer-verification-panel article small { color: var(--text-soft); font-size: 12px; }
.trainer-verification-panel article em { margin-top: 3px; color: var(--success); font-size: 12px; font-style: normal; font-weight: 800; }
.trainer-document-replace { margin-top: 10px; padding: 11px; border: 1px dashed #aeb8d5; border-radius: 10px; display: flex; align-items: center; gap: 9px; color: var(--utiva-blue); background: #f8faff; cursor: pointer; }
.trainer-document-replace input { display: none; }
.trainer-document-replace strong,.trainer-document-replace small { display: block; }
.trainer-document-replace strong { font-size: 13px; }
.trainer-document-replace small { color: var(--text-soft); font-size: 12px; }
.trainer-verification-note { margin-top: 9px; display: flex; align-items: flex-start; gap: 6px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.trainer-scheduling-status h2 { margin: 4px 0 6px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-scheduling-status > p:not(.eyebrow) { margin: 0 0 10px; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.trainer-scheduling-status > div { min-height: 34px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 6px; color: var(--text); font-size: 13px; font-weight: 700; }
.trainer-scheduling-status > div svg { color: var(--success); }
.trainer-quality-page { max-width: 1190px; }
.trainer-quality-page > .text-button { margin-bottom: 14px; }
.trainer-quality-hero { padding: 25px 27px; border-radius: 18px 18px 0 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; color: #fff; background: var(--utiva-blue); }
.trainer-quality-hero h1 { margin: 4px 0 7px; font-size: clamp(27px,3vw,39px); line-height: 1.08; }
.trainer-quality-hero p:last-child { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.5; }
.trainer-quality-period { min-width: 180px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; display: grid; gap: 2px; background: rgba(0,0,0,.18); }
.trainer-quality-period span { color: rgba(255,255,255,.74); font-size: 12px; font-weight: 700; }
.trainer-quality-period strong { color: #fff; font-size: 13px; }
.trainer-quality-context { margin-bottom: 17px; padding: 11px 17px; border: 1px solid #d9def2; border-top: 0; border-radius: 0 0 14px 14px; display: grid; grid-template-columns: 28px 1fr auto; gap: 9px; align-items: center; color: var(--utiva-blue); background: #f7f8ff; }
.trainer-quality-context strong { display: block; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-quality-context p { margin: 2px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.trainer-quality-context > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.trainer-quality-metrics { margin-bottom: 17px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.trainer-quality-metrics article { padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: flex; gap: 10px; background: #fff; }
.trainer-quality-metrics article > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.trainer-quality-metrics small,.trainer-quality-metrics strong,.trainer-quality-metrics p { display: block; }
.trainer-quality-metrics small { color: var(--text-soft); font-size: 12px; }
.trainer-quality-metrics strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 20px; line-height: 1; }
.trainer-quality-metrics strong em { font-size: 12px; font-style: normal; }
.trainer-quality-metrics p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.trainer-quality-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 17px; align-items: start; }
.trainer-quality-layout main,.trainer-quality-layout aside { display: grid; gap: 14px; }
.trainer-quality-layout .panel { padding: 19px; }
.trainer-quality-trend .section-heading > span,.trainer-quality-table .section-heading > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.trainer-quality-chart { height: 165px; margin-top: 13px; padding: 14px 12px 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; align-items: end; background: linear-gradient(to bottom,rgba(219,227,243,.32) 1px,transparent 1px); background-size: 100% 33%; }
.trainer-quality-chart > div { height: 100%; display: grid; grid-template-rows: 1fr auto auto; justify-items: center; align-items: end; }
.trainer-quality-chart span { width: min(42px,70%); border-radius: 7px 7px 0 0; background: linear-gradient(180deg,#6167d9,var(--utiva-blue)); }
.trainer-quality-chart strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 12px; }
.trainer-quality-chart small { color: var(--text-soft); font-size: 12px; }
.trainer-quality-trend footer { padding-top: 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--text-soft); font-size: 12px; }
.trainer-quality-trend footer span { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; }
.trainer-quality-trend footer i { width: 7px; height: 7px; border-radius: 2px; background: var(--utiva-blue); }
.trainer-quality-trend footer p { margin: 0; }
.trainer-quality-table { padding: 0!important; overflow: hidden; }
.trainer-quality-table > .section-heading { padding: 18px 19px 13px; }
.trainer-quality-table__head,.trainer-quality-table > button { display: grid; grid-template-columns: minmax(160px,1.55fr) 78px 58px 84px 98px 66px; gap: 8px; align-items: center; }
.trainer-quality-table__head { padding: 8px 14px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.trainer-quality-table > button { width: 100%; min-height: 62px; padding: 10px 14px; border: 0; border-top: 1px solid #edf0f7; color: var(--text); background: #fff; text-align: left; cursor: pointer; }
.trainer-quality-table > button:hover { background: #fafbff; }
.trainer-quality-table button strong,.trainer-quality-table button small { display: block; }
.trainer-quality-table button strong { font-size: 13px; }
.trainer-quality-table button small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.trainer-quality-table button > span { display: inline-flex; align-items: center; gap: 3px; color: var(--text); font-size: 13px; font-weight: 700; }
.trainer-quality-table button > span svg { color: #e89b00; fill: #e89b00; }
.trainer-quality-table button em { padding: 4px 6px; border-radius: 999px; justify-self: start; color: var(--success); background: #e8f7f1; font-size: 12px; font-style: normal; font-weight: 800; }
.trainer-quality-table button em.is-review { color: #a82e3c; background: #fff0f2; }
.trainer-quality-table button em.is-monitor { color: #8c5b00; background: var(--utiva-yellow-soft); }
.trainer-survey-coverage > div:not(.section-heading) { padding: 9px 0; border-top: 1px solid #edf0f7; }
.trainer-survey-coverage strong { display: block; font-size: 13px; }
.trainer-survey-coverage p { margin: 2px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.trainer-survey-coverage .button { margin-top: 10px; }
.trainer-feedback-themes h2,.trainer-quality-review-card h2 { margin: 4px 0 9px; color: var(--utiva-blue-dark); font-size: 15px; }
.trainer-feedback-themes > div { min-height: 38px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; }
.trainer-feedback-themes > div strong { color: var(--success); }
.trainer-feedback-themes > div.needs-attention strong { color: #8c5b00; }
.trainer-feedback-themes > small { display: block; margin-top: 8px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.trainer-quality-review-card > p:not(.eyebrow) { margin: 0 0 12px; color: var(--text-soft); font-size: 13px; line-height: 1.55; }
.trainer-quality-review-modal { width: min(650px,calc(100vw - 28px)); }
.trainer-review-evidence { margin: 15px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.trainer-review-evidence article { padding: 10px; border: 1px solid var(--border); border-radius: 9px; background: #fbfcff; }
.trainer-review-evidence small,.trainer-review-evidence strong,.trainer-review-evidence p { display: block; }
.trainer-review-evidence small { color: var(--text-soft); font-size: 12px; }
.trainer-review-evidence strong { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 13px; }
.trainer-review-evidence p { margin: 0; color: var(--text-soft); font-size: 12px; }
.trainer-review-comments { padding: 12px; border-radius: 10px; background: var(--surface-soft); }
.trainer-review-comments h3 { margin: 0 0 7px; font-size: 13px; }
.trainer-review-comments p { margin: 5px 0; padding: 8px; border-radius: 7px; color: var(--text-soft); background: #fff; font-size: 13px; font-style: italic; }
.trainer-review-comments small { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.trainer-review-note { margin: 13px 0; display: grid; gap: 6px; color: var(--text); font-size: 12px; font-weight: 700; }
.trainer-review-note textarea { padding: 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: 500 13px/1.55 Poppins,sans-serif; resize: vertical; }
.trainer-survey-preview-modal { width: min(540px,calc(100vw - 28px)); }
.trainer-survey-preview-questions { margin: 15px 0; display: grid; gap: 9px; }
.trainer-survey-preview-questions article { padding: 12px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: center; background: #fbfcff; }
.trainer-survey-preview-questions article > span { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 13px; font-weight: 800; }
.trainer-survey-preview-questions strong,.trainer-survey-preview-questions small { display: block; }
.trainer-survey-preview-questions strong { font-size: 13px; }
.trainer-survey-preview-questions small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.trainer-review-note small { color: var(--text-soft); font-size: 12px; font-weight: 500; }
.trainer-intervention-page{max-width:1080px}.trainer-intervention-hero{margin:10px 0;padding:22px 24px;border-radius:17px;display:flex;justify-content:space-between;gap:15px;align-items:center;color:#fff;background:linear-gradient(135deg,var(--utiva-blue-dark),#1116b5)}.trainer-intervention-hero h1{margin:3px 0;font-size:29px}.trainer-intervention-hero p{margin:0;color:rgba(255,255,255,.76);font-size: 12px}.trainer-intervention-hero .eyebrow{color:var(--utiva-yellow)}.trainer-intervention-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:10px;align-items:start}.trainer-intervention-layout>aside{display:grid;gap:10px}.trainer-intervention-form,.trainer-intervention-signals,.trainer-intervention-history{padding:16px}.trainer-intervention-form>label{margin-top:10px;display:grid;gap:5px}.trainer-intervention-form label>span{font-size: 12px;font-weight:700}.trainer-intervention-form input,.trainer-intervention-form select,.trainer-intervention-form textarea{width:100%;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#fbfcff;font:500 13px/1.5 Poppins,Arial,sans-serif}.trainer-intervention-form input,.trainer-intervention-form select{height:40px;padding:0 9px}.trainer-intervention-form textarea{padding:10px;resize:vertical}.trainer-intervention-form label>small{color:var(--text-soft);font-size: 12px;text-align:right}.trainer-intervention-form>div:last-child{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.trainer-intervention-signals h2,.trainer-intervention-history h2{margin:4px 0 9px;color:var(--utiva-blue-dark);font-size:14px}.trainer-intervention-signals article,.trainer-intervention-history article{padding:9px 0;border-top:1px solid #edf0f7;display:grid;grid-template-columns:20px 1fr;gap:6px;color:#a46600}.trainer-intervention-signals p,.trainer-intervention-history p{margin:0}.trainer-intervention-signals strong,.trainer-intervention-signals small,.trainer-intervention-history strong,.trainer-intervention-history small,.trainer-intervention-history em{display:block}.trainer-intervention-signals strong,.trainer-intervention-history strong{color:var(--text);font-size: 12px}.trainer-intervention-signals small,.trainer-intervention-history small,.trainer-intervention-history em{margin-top:2px;color:var(--text-soft);font-size: 12px;font-style:normal}
.trainer-variant .page-heading h1 { max-width: 850px; }

.data-panel { overflow: hidden; }
.data-toolbar { min-height: 68px; padding: 13px 18px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.mini-search { width: min(330px,45%); height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 8px; color: var(--text-soft); background: #fbfcff; font-size: 13px; }
.segmented { padding: 4px; border-radius: 10px; display: flex; gap: 3px; background: var(--surface-soft); }
.segmented button { min-height: 32px; padding: 0 12px; border-radius: 7px; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 600; }
.segmented button.is-active { color: var(--utiva-blue); background: #fff; box-shadow: 0 3px 10px rgba(3,4,95,.08); }
.segmented span { margin-left: 4px; color: #9a5e00; }
.toolbar-actions { display: flex; align-items: center; gap: 8px; }
.data-table__header, .data-table__row { display: grid; grid-template-columns: minmax(220px,1.25fr) minmax(190px,1fr) minmax(120px,.55fr) minmax(105px,.5fr) minmax(90px,.45fr); gap: 14px; align-items: center; }
.data-table__header { min-height: 45px; padding: 0 20px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.data-table__row { min-height: 69px; padding: 0 20px; border-top: 1px solid #edf0f7; }
.data-table__row:hover { background: #fbfcff; }
.data-table__row > div:first-child { display: flex; align-items: center; gap: 10px; min-width: 0; }
.data-table__row strong { font-size: 12px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.data-table__row > span { color: var(--text-soft); font-size: 12px; }
.data-table--trainer .data-table__row { grid-template-columns: minmax(190px,1fr) minmax(190px,1.05fr) 110px 90px 85px; }
.data-table--trainer .data-table__header { grid-template-columns: minmax(190px,1fr) minmax(190px,1.05fr) 110px 90px 85px; }
.avatar--tiny { width: 32px; height: 32px; border-radius: 9px; font-size: 12px; }
.inline-progress { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.inline-progress strong { color: var(--utiva-blue); font-size: 12px; }

.content-module-list { display: grid; gap: 12px; }
.content-module { min-height: 102px; padding: 19px 21px; display: grid; grid-template-columns: 60px 1fr auto; gap: 18px; align-items: center; }
.content-module__number { width: 55px; height: 55px; border-radius: 13px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 18px; font-weight: 800; }
.content-module h2 { margin: 0 0 4px; color: var(--utiva-blue-dark); font-size: 16px; }
.content-module > div:nth-child(2) > span { color: var(--text-soft); font-size: 12px; }
.content-module__status { display: flex; align-items: center; gap: 8px; }

.admin-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(310px,.65fr); gap: 18px; }
.dashboard-heading-actions { flex-wrap: wrap; justify-content: flex-end; }
.dashboard-period { min-height: 40px; }
.dashboard-status-strip { margin: -4px 0 18px; padding: 12px 17px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; background: #fff; box-shadow: var(--shadow-sm); }
.dashboard-status-strip > div { min-height: 36px; padding: 0 16px; border-left: 1px solid #e8ecf5; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); }
.dashboard-status-strip > div:first-child { padding-left: 0; border-left: 0; }
.dashboard-status-strip strong, .dashboard-status-strip small { display: block; }
.dashboard-status-strip strong { color: var(--text); font-size: 12px; }
.dashboard-status-strip small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.status-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 5px rgba(25,145,105,.1); }
.status-dot--healthy { background: var(--success); }
.admin-chart-panel { min-height: 370px; }
.chart-legend { display: flex; align-items: center; gap: 14px; color: var(--text-soft); font-size: 12px; }
.chart-legend > span { display: flex; align-items: center; gap: 5px; }
.chart-legend i { width: 8px; height: 8px; border-radius: 3px; background: var(--utiva-blue); }
.chart-legend button { padding: 7px 9px; border: 1px solid var(--border); border-radius: 8px; display: flex; gap: 5px; background: #fff; color: var(--text-soft); font-size: 12px; }
.chart-legend > strong { padding: 6px 9px; border: 1px solid var(--border); border-radius: 8px; color: var(--text-soft); background: #fff; font-size: 12px; }
.chart-stat { display: grid; grid-template-columns: auto auto 1fr; gap: 9px; align-items: end; }
.chart-stat strong { color: var(--utiva-blue-dark); font-size: 30px; line-height: 1; }
.chart-stat > span { padding: 3px 6px; border-radius: 9px; display: flex; align-items: center; gap: 3px; color: var(--success); background: #e8f7f1; font-size: 12px; font-weight: 700; }
.chart-stat small { grid-column: 1 / -1; color: var(--text-soft); font-size: 12px; }
.mini-chart { height: 220px; margin-top: 22px; padding-top: 10px; display: flex; align-items: flex-end; gap: clamp(6px,1.4vw,16px); position: relative; }
.mini-chart__grid { position: absolute; inset: 0 0 22px; display: flex; flex-direction: column; justify-content: space-between; }
.mini-chart__grid span { border-top: 1px dashed #e4e9f4; }
.mini-chart__bar { height: 100%; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; z-index: 1; }
.mini-chart__bar > span { width: min(22px,90%); min-height: 8px; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg,#555be0,var(--utiva-blue)); transition: height 220ms ease; }
.mini-chart__bar small { color: var(--text-soft); font-size: 12px; }
.admin-attention { min-height: 370px; }
.admin-alert { width: 100%; min-height: 66px; padding: 8px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; background: transparent; text-align: left; cursor: pointer; }
.admin-alert > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: #9a5e00; background: var(--utiva-yellow-soft); }
.admin-alert strong, .admin-alert small { display: block; }
.admin-alert strong { font-size: 12px; }
.admin-alert small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.attention-empty { min-height: 245px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--success); text-align: center; }
.attention-empty strong { margin-top: 10px; color: var(--text); font-size: 12px; }
.attention-empty p { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; }
.data-table--admin .data-table__header, .data-table--admin .data-table__row { grid-template-columns: minmax(230px,1.3fr) 100px 100px minmax(150px,.8fr) 100px; }
.org-mark { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.org-mark--1 { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.org-mark--2 { background: #7259bf; }
.org-mark--3 { background: var(--success); }
.data-table--admin-page .data-table__header, .data-table--admin-page .data-table__row { grid-template-columns: minmax(230px,1.25fr) minmax(150px,.8fr) minmax(110px,.55fr) minmax(110px,.55fr) 95px; }
.row-icon { width: 33px; height: 33px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--surface-soft); }

/* Admin organisation directory */
.organisation-heading { margin-bottom: 18px; }
.organisation-heading > div:first-child { max-width: 760px; }
.organisation-source { min-height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; display: inline-flex; align-items: center; gap: 7px; color: var(--text-soft); background: #fff; font-size: 13px; font-weight: 700; white-space: nowrap; }
.organisation-source--production { border-color: #b7e3d3; color: #087b57; background: #edf9f4; }
.organisation-source--loading svg { animation: spin .9s linear infinite; }
.organisation-source--testing { color: #7d5b00; background: #fff9e8; }
.organisation-sync-warning { margin: -4px 0 18px; padding: 13px 15px; border: 1px solid #f0d897; border-radius: 12px; display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 10px; align-items: center; color: #9a6500; background: #fff9e8; }
.organisation-sync-warning strong { display: block; color: var(--text); font-size: 14px; }
.organisation-sync-warning p { margin: 3px 0 0; color: var(--text-soft); font-size: 13px; }
.organisation-summary { margin-bottom: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.organisation-summary article { min-height: 120px; padding: 17px; border: 1px solid var(--border); border-radius: 15px; display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 12px; align-items: start; background: #fff; box-shadow: var(--shadow-sm); }
.organisation-summary__icon { width: 39px; height: 39px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.organisation-summary__icon--1 { color: #9a5e00; background: var(--utiva-yellow-soft); }
.organisation-summary__icon--2 { color: #6942bd; background: #f0eaff; }
.organisation-summary__icon--3 { color: var(--success); background: #e8f7f1; }
.organisation-summary small, .organisation-summary strong, .organisation-summary p { display: block; }
.organisation-summary small { color: var(--text-soft); font-size: 12px; font-weight: 600; }
.organisation-summary strong { margin-top: 3px; color: var(--utiva-blue-dark); font-size: 23px; line-height: 1; }
.organisation-summary p { grid-column: 1 / -1; margin: 13px 0 0; padding-top: 10px; border-top: 1px solid #edf0f7; color: var(--text-soft); font-size: 12px; }
.organisation-filter-panel { margin-bottom: 16px; padding: 14px; display: grid; grid-template-columns: minmax(280px,1fr) 170px 150px auto; gap: 10px; align-items: end; }
.organisation-search { width: 100%; height: 42px; }
.organisation-search input { min-width: 0; font-size: 13px; }
.organisation-select { display: grid; gap: 5px; }
.organisation-select > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.organisation-select select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; font-weight: 600; }
.organisation-clear { min-width: 88px; }
.organisation-clear:disabled { opacity: .45; cursor: not-allowed; }
.organisation-table-panel { overflow: hidden; }
.organisation-table-meta { min-height: 72px; padding: 14px 19px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.organisation-table-meta h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 17px; }
.organisation-table-meta > p { margin: 0; display: flex; align-items: center; gap: 9px; color: var(--text-soft); font-size: 12px; font-weight: 600; }
.organisation-table { overflow-x: auto; }
.organisation-table__header, .organisation-table__row { min-width: 1000px; display: grid; grid-template-columns: minmax(250px,1.35fr) minmax(170px,.9fr) 90px 95px minmax(150px,.75fr) 82px 22px; gap: 14px; align-items: center; }
.organisation-table__header { min-height: 43px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .9px; font-size: 12px; font-weight: 800; }
.organisation-table__row { width: 100%; min-height: 76px; padding: 0 19px; border-top: 1px solid #edf0f7; color: var(--text); background: #fff; text-align: left; cursor: pointer; transition: background 150ms ease; }
.organisation-table__row:hover { background: #fbfcff; }
.organisation-table__row:focus-visible { outline: 3px solid rgba(5,7,148,.16); outline-offset: -3px; }
.organisation-table__row > div:first-child { display: flex; align-items: center; gap: 10px; min-width: 0; }
.organisation-table__row > div:first-child > span:last-child { min-width: 0; }
.organisation-table__row strong, .organisation-table__row small { display: block; }
.organisation-table__row strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.organisation-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.organisation-table__row > svg { color: #9aa2b6; }
.organisation-status-cell { display: flex; align-items: center; }
.organisation-seat > span { width: 100%; height: 6px; border-radius: 10px; display: block; overflow: hidden; background: #e8ecf5; }
.organisation-seat i { height: 100%; border-radius: inherit; display: block; background: linear-gradient(90deg,var(--utiva-blue),#555be0); }
.organisation-quickview-layer { z-index: 82; align-items: stretch; justify-content: flex-end; padding: 0; background: rgba(3,4,95,.56); backdrop-filter: blur(4px); }
.organisation-quickview { width: min(470px,100%); height: 100%; padding: 28px; position: relative; overflow-y: auto; background: #fff; box-shadow: -24px 0 70px rgba(3,4,95,.24); animation: organisation-slide 220ms ease both; }
.organisation-quickview__close { position: absolute; top: 18px; right: 18px; }
.organisation-quickview__hero { padding-right: 40px; display: grid; grid-template-columns: 50px 1fr; gap: 13px; align-items: center; }
.organisation-quickview__hero .org-mark { width: 50px; height: 50px; border-radius: 14px; font-size: 12px; }
.organisation-quickview__hero h2 { margin: 3px 0 2px; color: var(--utiva-blue-dark); font-size: 23px; line-height: 1.15; }
.organisation-quickview__hero > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.organisation-quickview__metrics { margin: 25px 0 18px; padding: 14px; border-radius: 13px; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; background: var(--surface-soft); }
.organisation-quickview__metrics > div { padding: 2px 13px; border-left: 1px solid var(--border); }
.organisation-quickview__metrics > div:first-child { padding-left: 0; border-left: 0; }
.organisation-quickview__metrics span, .organisation-quickview__metrics strong { display: block; }
.organisation-quickview__metrics span { color: var(--text-soft); font-size: 12px; }
.organisation-quickview__metrics strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 18px; }
.organisation-quickview__details { border-top: 1px solid #edf0f7; }
.organisation-quickview__details > div { min-height: 92px; padding: 17px 2px; border-bottom: 1px solid #edf0f7; }
.organisation-quickview__details span { display: flex; align-items: center; gap: 6px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.organisation-quickview__details strong { display: block; margin: 8px 0 3px; font-size: 12px; }
.organisation-quickview__details small { display: flex; align-items: center; gap: 5px; color: var(--text-soft); font-size: 12px; }
.organisation-quickview__status { margin-top: 18px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.organisation-quickview__status span, .organisation-quickview__status strong { display: block; }
.organisation-quickview__status span { color: var(--text-soft); font-size: 12px; }
.organisation-quickview__status strong { margin-top: 2px; font-size: 12px; }
.organisation-quickview__status select { height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--utiva-blue); background: #fff; font-size: 13px; font-weight: 700; }
.organisation-quickview__footer { margin-top: 23px; display: flex; justify-content: flex-end; gap: 9px; }
.organisation-create-modal { width: min(650px,calc(100% - 28px)); }
.organisation-create-modal .form-field input, .organisation-create-modal .form-field select { font-size: 13px; }
@keyframes organisation-slide { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }

/* Organisation profile and tenant boundary */
.organisation-profile-page { padding-bottom: 54px; }
.profile-back { min-height: 40px; margin-bottom: 14px; padding: 0 8px; display: inline-flex; align-items: center; gap: 7px; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.organisation-profile-hero { min-height: 122px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.organisation-profile-identity { min-width: 0; display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 15px; align-items: center; }
.organisation-profile-logo { width: 58px; height: 58px; border-radius: 15px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.organisation-profile-logo img { width: 100%; height: 100%; border-radius: inherit; display: block; object-fit: contain; background: #fff; }
.organisation-profile-identity h1 { margin: 2px 0 3px; overflow: hidden; color: var(--utiva-blue-dark); text-overflow: ellipsis; white-space: nowrap; font-size: clamp(24px,2.4vw,34px); line-height: 1.1; }
.organisation-profile-identity > div > p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.organisation-profile-actions { display: flex; align-items: end; gap: 9px; }
.organisation-profile-actions label { display: grid; gap: 5px; }
.organisation-profile-actions label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.organisation-profile-actions select { min-width: 112px; height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--utiva-blue); background: #fff; font-size: 13px; font-weight: 700; }
.organisation-boundary-strip { margin: 14px 0; padding: 13px 17px; border: 1px solid #cce8dc; border-radius: 14px; display: grid; grid-template-columns: 1.4fr repeat(3,1fr); align-items: center; background: #f4fbf8; box-shadow: var(--shadow-sm); }
.organisation-boundary-strip > div { min-height: 43px; padding: 0 17px; border-left: 1px solid #d8eee5; display: flex; flex-direction: column; justify-content: center; }
.organisation-boundary-strip > div:first-child { padding-left: 0; border-left: 0; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; }
.organisation-boundary-icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--success); background: #dff4eb; }
.organisation-boundary-strip p { margin: 0; }
.organisation-boundary-strip span, .organisation-boundary-strip strong, .organisation-boundary-strip small { display: block; }
.organisation-boundary-strip > div:not(:first-child) > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.organisation-boundary-strip strong { color: var(--text); font-size: 12px; }
.organisation-boundary-strip small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.organisation-profile-tabs { margin-bottom: 17px; padding: 5px; border: 1px solid var(--border); border-radius: 12px; display: flex; gap: 4px; background: #fff; box-shadow: var(--shadow-sm); }
.organisation-profile-tabs button { min-height: 40px; padding: 0 15px; border-radius: 8px; display: flex; align-items: center; gap: 7px; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.organisation-profile-tabs button.is-active { color: #fff; background: var(--utiva-blue); box-shadow: 0 5px 12px rgba(5,7,148,.18); }
.organisation-profile-tabs button span { min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); font-size: 12px; }
.organisation-profile-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 17px; align-items: start; }
.organisation-profile-card { padding: 21px; }
.organisation-profile-card--wide { grid-column: 1; }
.organisation-profile-card h2, .organisation-profile-section h2, .organisation-brand-form h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 17px; }
.organisation-profile-metrics { margin-top: 18px; display: grid; grid-template-columns: repeat(4,1fr); }
.organisation-profile-metrics > div { padding: 3px 15px; border-left: 1px solid #e8ecf5; }
.organisation-profile-metrics > div:first-child { padding-left: 0; border-left: 0; }
.organisation-profile-metrics span, .organisation-profile-metrics strong, .organisation-profile-metrics small { display: block; }
.organisation-profile-metrics span { color: var(--text-soft); font-size: 12px; }
.organisation-profile-metrics strong { margin: 4px 0 3px; color: var(--utiva-blue-dark); font-size: 22px; line-height: 1; }
.organisation-profile-metrics small { color: var(--text-soft); font-size: 12px; }
.profile-contact { margin: 17px 0; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 39px 1fr; gap: 10px; align-items: center; background: var(--surface-soft); }
.profile-contact > span { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; }
.profile-contact strong, .profile-contact p, .profile-contact small { display: block; margin: 0; }
.profile-contact strong { font-size: 12px; }
.profile-contact p { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.profile-contact small { margin-top: 6px; display: flex; align-items: center; gap: 5px; color: var(--utiva-blue); font-size: 12px; }
.profile-detail-list { border-top: 1px solid #edf0f7; }
.profile-detail-list > div { min-height: 43px; border-bottom: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.profile-detail-list span { color: var(--text-soft); font-size: 12px; }
.profile-detail-list strong { text-align: right; font-size: 12px; }
.organisation-tenant-card { grid-column: 2; grid-row: 1 / span 2; }
.organisation-tenant-card > p { margin: 13px 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.organisation-tenant-card ul { margin: 0 0 17px; padding: 0; list-style: none; }
.organisation-tenant-card li { min-height: 40px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 7px; color: var(--text); font-size: 12px; }
.organisation-tenant-card li svg { color: var(--success); }
.organisation-programme-preview { margin-top: 10px; border-top: 1px solid #edf0f7; }
.organisation-programme-preview > button { width: 100%; min-height: 65px; padding: 10px 2px; border-bottom: 1px solid #edf0f7; display: grid; grid-template-columns: 37px minmax(0,1fr) auto auto; gap: 10px; align-items: center; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.organisation-programme-preview > button > span { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.organisation-programme-preview strong, .organisation-programme-preview small { display: block; }
.organisation-programme-preview strong { font-size: 12px; }
.organisation-programme-preview small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.organisation-programme-preview > button > div:nth-child(3) { text-align: right; }
.organisation-programme-preview > button > svg { color: #9aa2b6; }
.organisation-profile-section { padding: 22px; overflow: hidden; }
.organisation-section-heading { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.organisation-section-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--text-soft); font-size: 12px; }
.organisation-programme-table { overflow-x: auto; }
.organisation-programme-table__header, .organisation-programme-table > button { min-width: 720px; display: grid; grid-template-columns: minmax(280px,1.3fr) 100px minmax(160px,.75fr) 90px; gap: 14px; align-items: center; }
.organisation-programme-table__header { min-height: 40px; padding: 0 12px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.organisation-programme-table > button { width: 100%; min-height: 70px; padding: 0 12px; border-top: 1px solid #edf0f7; color: var(--text); background: #fff; text-align: left; cursor: pointer; }
.organisation-programme-table > button:hover { background: #fbfcff; }
.organisation-programme-table > button > div:first-child { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; }
.organisation-programme-table > button > div:first-child > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.organisation-programme-table p { margin: 0; }
.organisation-programme-table strong, .organisation-programme-table small { display: block; }
.organisation-programme-table strong { font-size: 12px; }
.organisation-programme-table small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.programme-completion { display: grid; grid-template-columns: 1fr 31px; gap: 8px; align-items: center; }
.programme-completion > span { height: 6px; border-radius: 10px; display: block; overflow: hidden; background: #e7ebf4; }
.programme-completion i { height: 100%; border-radius: inherit; display: block; background: var(--utiva-blue); }
.programme-completion small { margin: 0; }
.programme-status-cell { display: block; }
.organisation-people-grid { align-items: start; }
.client-admin-list { border-top: 1px solid #edf0f7; }
.client-admin-list > div { min-height: 68px; padding: 10px 2px; border-bottom: 1px solid #edf0f7; display: grid; grid-template-columns: 34px minmax(150px,1fr) minmax(130px,.65fr) 70px 35px; gap: 10px; align-items: center; }
.client-admin-list p { margin: 0; }
.client-admin-list strong, .client-admin-list small { display: block; }
.client-admin-list strong { font-size: 12px; }
.client-admin-list small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-admin-status { display: block; }
.organisation-access-policy { grid-column: 2; }
.organisation-access-policy .section-heading > svg { color: var(--success); }
.organisation-access-policy > div:not(.section-heading) { min-height: 46px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.organisation-access-policy > div:not(.section-heading) span { color: var(--text-soft); font-size: 12px; }
.organisation-access-policy > div:not(.section-heading) strong { color: var(--success); font-size: 12px; }
.organisation-access-policy > div:not(.section-heading) strong.is-blocked { color: #b0293b; }
.organisation-access-policy .button { margin-top: 16px; }
.organisation-branding-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: 17px; align-items: start; }
.organisation-brand-form { padding: 24px; display: grid; gap: 16px; }
.organisation-brand-form > div:first-child > p:last-child { margin: 6px 0 0; color: var(--text-soft); font-size: 12px; }
.organisation-brand-form > label { display: grid; gap: 7px; }
.organisation-brand-form > label > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.organisation-brand-form input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; }
.organisation-brand-form input:read-only { color: var(--text-soft); }
.brand-colour-field { display: grid; grid-template-columns: 46px 1fr; gap: 9px; }
.brand-colour-field input[type="color"] { padding: 4px; cursor: pointer; }
.brand-upload { width: 100%; min-height: 72px; padding: 10px; border: 1px dashed #bfc8dc; border-radius: 12px; display: grid; grid-template-columns: 45px 1fr auto; gap: 11px; align-items: center; background: #fbfcff; text-align: left; cursor: pointer; }
.brand-upload { position: relative; }
.brand-upload__input { width: 100%!important; height: 100%!important; padding: 0!important; position: absolute; inset: 0; z-index: 2; opacity: 0; cursor: pointer; }
.brand-upload .organisation-profile-logo { width: 45px; height: 45px; border-radius: 11px; font-size: 12px; }
.brand-upload strong, .brand-upload small { display: block; }
.brand-upload strong { font-size: 12px; }
.brand-upload small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.organisation-brand-form > .button { justify-self: end; }
.organisation-contact-modal, .organisation-programme-modal, .organisation-programme-detail, .organisation-admin-detail, .organisation-policy-modal { width: min(610px,calc(100% - 28px)); }
.organisation-brand-preview { min-height: 420px; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; color: #fff; background: linear-gradient(145deg,var(--organisation-brand),#03045f); box-shadow: 0 20px 45px rgba(3,4,95,.18); }
.organisation-brand-preview__bar { min-height: 74px; padding: 12px 18px; border-bottom: 1px solid rgba(255,255,255,.15); display: grid; grid-template-columns: 39px 1fr auto; gap: 10px; align-items: center; }
.organisation-brand-preview__bar .organisation-profile-logo { width: 39px; height: 39px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; font-size: 12px; }
.organisation-brand-preview__bar strong { font-size: 12px; }
.organisation-brand-preview__bar > span:last-child { color: rgba(255,255,255,.65); font-size: 12px; }
.organisation-brand-preview > div:nth-child(2) { padding: 62px 28px 30px; }
.organisation-brand-preview .eyebrow { color: var(--utiva-yellow); }
.organisation-brand-preview h2 { margin: 8px 0 9px; font-size: 26px; line-height: 1.12; }
.organisation-brand-preview p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.5; }
.organisation-brand-preview button { min-height: 40px; margin-top: 22px; padding: 0 14px; border-radius: 10px; display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.organisation-brand-preview > small { margin-top: auto; padding: 15px 20px; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.7); font-size: 12px; }
.organisation-invite-modal { width: min(520px,100%); }
.organisation-invite-scope { margin: 16px 0; padding: 14px; border-radius: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; color: var(--success); background: #eef9f4; }
.organisation-invite-scope p { margin: 0; }
.organisation-invite-scope strong, .organisation-invite-scope small { display: block; }
.organisation-invite-scope strong { color: var(--text); font-size: 12px; }
.organisation-invite-scope small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }

/* Organisation seat and licence management */
.seat-management { display: grid; gap: 16px; }
.seat-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.seat-summary article { min-height: 110px; padding: 17px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 11px; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.seat-summary__icon { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: #8b5d00; background: #fff1cd; }
.seat-summary__icon--blue { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.seat-summary__icon--green { color: var(--success); background: #e4f6ed; }
.seat-summary__icon--amber { color: #a65516; background: #fff0e4; }
.seat-summary small, .seat-summary strong, .seat-summary p { display: block; margin: 0; }
.seat-summary small { color: var(--text-soft); font-size: 12px; }
.seat-summary strong { margin: 4px 0 3px; color: var(--utiva-blue-dark); font-size: 20px; line-height: 1; }
.seat-summary p { color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.seat-contract-card { min-height: 82px; padding: 15px 18px; display: grid; grid-template-columns: minmax(300px,1.25fr) minmax(150px,.55fr) minmax(130px,.45fr) auto; gap: 20px; align-items: center; }
.seat-contract-card__main { display: grid; grid-template-columns: 40px 1fr; gap: 11px; align-items: center; }
.seat-contract-card__main > span { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.seat-contract-card h2 { margin: 2px 0; color: var(--utiva-blue-dark); font-size: 15px; }
.seat-contract-card p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 13px; }
.seat-contract-card > div:not(.seat-contract-card__main) > span, .seat-contract-card > div:not(.seat-contract-card__main) > strong { display: block; }
.seat-contract-card > div:not(.seat-contract-card__main) > span { margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.seat-contract-card > div:not(.seat-contract-card__main) > strong { font-size: 13px; }
.seat-contract-card .text-button { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.seat-status { display: flex !important; align-items: center; gap: 6px; color: var(--success); }
.seat-status > span { width: 6px; height: 6px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 4px #e5f6ed; }
.seat-management__grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(270px,.45fr); gap: 16px; align-items: start; }
.seat-allocation-panel { padding: 21px; overflow: hidden; }
.seat-allocation-panel h2, .seat-action-card h2, .seat-rules-card h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 17px; }
.seat-allocation-table { overflow-x: auto; }
.seat-allocation-table__header, .seat-allocation-table > div:not(.seat-allocation-table__header) { min-width: 600px; display: grid; grid-template-columns: minmax(210px,1.25fr) 68px 68px 68px minmax(100px,.65fr); gap: 12px; align-items: center; }
.seat-allocation-table__header { min-height: 38px; padding: 0 10px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.seat-allocation-table > div:not(.seat-allocation-table__header) { min-height: 64px; padding: 8px 10px; border-bottom: 1px solid #edf0f7; }
.seat-allocation-table > div:not(.seat-allocation-table__header) > div:first-child { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; }
.seat-allocation-table > div:not(.seat-allocation-table__header) > div:first-child > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.seat-allocation-table p { margin: 0; }
.seat-allocation-table strong, .seat-allocation-table small { display: block; }
.seat-allocation-table strong { font-size: 13px; }
.seat-allocation-table small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.seat-use { display: grid; grid-template-columns: 1fr 28px; gap: 7px; align-items: center; }
.seat-use > span { height: 6px; border-radius: 10px; display: block; overflow: hidden; background: #e7ebf4; }
.seat-use i { height: 100%; border-radius: inherit; display: block; background: var(--utiva-blue); }
.seat-use small { margin: 0; }
.seat-allocation-footer { min-width: 0 !important; min-height: 48px !important; padding: 10px !important; border: 0 !important; display: flex !important; justify-content: space-between; gap: 14px; color: var(--text-soft); font-size: 12px; }
.seat-allocation-footer strong { display: inline; color: var(--text); }
.seat-management__aside { display: grid; gap: 12px; }
.seat-action-card, .seat-rules-card { padding: 19px; }
.seat-action-card .section-heading > svg { color: #a65516; }
.seat-action-card > p { margin: 13px 0 16px; color: var(--text-soft); font-size: 13px; line-height: 1.55; }
.seat-rules-card .section-heading > svg { color: var(--success); }
.seat-rules-card ul { margin: 12px 0 0; padding: 0; list-style: none; }
.seat-rules-card li { min-height: 48px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 20px 1fr; gap: 6px; align-items: center; }
.seat-rules-card li > svg { color: var(--success); }
.seat-rules-card li:last-child > svg { color: var(--utiva-blue); }
.seat-rules-card strong, .seat-rules-card small { display: block; }
.seat-rules-card strong { color: var(--text); font-size: 12px; }
.seat-rules-card small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.seat-activity-card { padding: 17px 19px; display: grid; gap: 4px; }
.seat-activity-card strong { color: var(--text); font-size: 13px; }
.seat-activity-card span, .seat-activity-card small { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.seat-export { background: #fff; }
.seat-allocation-modal { width: min(560px,100%); }
.seat-allocation-modal select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; }
.seat-contract-modal { width: min(560px,100%); }
.seat-modal-grid { margin: 18px 0 12px; display: grid; grid-template-columns: minmax(0,1fr) 150px; gap: 12px; }
.seat-modal-note { padding: 13px; border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.seat-modal-note p { margin: 0; }
.seat-modal-note strong, .seat-modal-note small { display: block; }
.seat-modal-note strong { color: var(--text); font-size: 12px; }
.seat-modal-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }

/* Enterprise cohorts and enrolment */
.enterprise-cohorts { display: grid; gap: 16px; }
.cohort-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.cohort-summary article { min-height: 104px; padding: 17px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 11px; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.cohort-summary article > span { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.cohort-summary article:nth-child(2) > span { color: var(--success); background: #e4f6ed; }
.cohort-summary article:nth-child(3) > span { color: #8b5d00; background: #fff1cd; }
.cohort-summary article:nth-child(4) > span { color: #76510d; background: #fff5da; }
.cohort-summary small, .cohort-summary strong, .cohort-summary p { display: block; margin: 0; }
.cohort-summary small { color: var(--text-soft); font-size: 12px; }
.cohort-summary strong { margin: 4px 0 3px; color: var(--utiva-blue-dark); font-size: 20px; line-height: 1; }
.cohort-summary p { color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.enterprise-cohorts__grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(270px,.4fr); gap: 16px; align-items: start; }
.cohort-list-panel { padding: 21px; overflow: hidden; }
.cohort-list-panel h2, .cohort-readiness-card h2, .cohort-import-card h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 17px; }
.cohort-table { overflow-x: auto; }
.cohort-table__header, .cohort-table > div:not(.cohort-table__header) { width: 100%; min-width: 0; display: grid; grid-template-columns: minmax(110px,1.1fr) minmax(110px,1fr) minmax(105px,.8fr) minmax(110px,.85fr) 62px 40px; gap: 8px; align-items: center; }
.cohort-table__header { min-height: 38px; padding: 0 10px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.cohort-table > div:not(.cohort-table__header) { min-height: 72px; padding: 9px 10px; border-bottom: 1px solid #edf0f7; }
.cohort-table > div:not(.cohort-table__header) > div:first-child { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; }
.cohort-table > div:not(.cohort-table__header) > div:first-child > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.cohort-table p { margin: 0; }
.cohort-table strong, .cohort-table small { display: block; }
.cohort-table strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.35; }
.cohort-table small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.35; }
.cohort-enrolment > span { height: 6px; border-radius: 10px; display: block; overflow: hidden; background: #e7ebf4; }
.cohort-enrolment i { height: 100%; border-radius: inherit; display: block; background: var(--utiva-blue); }
.cohort-readiness { display: grid; gap: 12px; }
.cohort-readiness-card, .cohort-import-card { padding: 19px; }
.cohort-readiness-card .section-heading > svg { color: var(--success); }
.cohort-readiness-card > p { margin: 12px 0 10px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.cohort-readiness-card ul { margin: 0; padding: 0; list-style: none; }
.cohort-readiness-card li { min-height: 48px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 20px 1fr; gap: 6px; align-items: center; }
.cohort-readiness-card li > svg { color: var(--success); }
.cohort-readiness-card strong, .cohort-readiness-card small { display: block; }
.cohort-readiness-card strong { font-size: 12px; }
.cohort-readiness-card small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.cohort-import-card > span { width: 42px; height: 42px; margin-bottom: 12px; border-radius: 11px; display: grid; place-items: center; color: #8b5d00; background: #fff1cd; }
.cohort-import-card > div > p:last-child { margin: 6px 0 15px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.cohort-activity-card { padding: 17px 19px; display: grid; gap: 4px; }
.cohort-activity-card strong { color: var(--text); font-size: 13px; }
.cohort-activity-card span, .cohort-activity-card small { color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.cohort-builder-modal { width: min(700px,100%); }
.cohort-builder-steps { margin: 18px 0; padding: 14px 16px; border-radius: 12px; display: grid; grid-template-columns: repeat(3,1fr); background: var(--surface-soft); }
.cohort-builder-steps > div { position: relative; display: flex; align-items: center; gap: 8px; color: #9aa2b6; }
.cohort-builder-steps > div:not(:last-child)::after { position: absolute; right: 13px; width: calc(100% - 96px); height: 1px; content: ''; background: #dfe4ef; }
.cohort-builder-steps span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; color: #788196; background: #e6eaf3; font-size: 12px; font-weight: 800; }
.cohort-builder-steps strong { font-size: 12px; }
.cohort-builder-steps > div.is-active { color: var(--utiva-blue); }
.cohort-builder-steps > div.is-active span { color: #fff; background: var(--utiva-blue); }
.cohort-builder-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cohort-builder-form select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; }
.cohort-upload-zone { min-height: 104px; padding: 17px; border: 1px dashed #bfc8dc; border-radius: 13px; display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 12px; align-items: center; background: #fbfcff; }
.cohort-upload-zone.is-validated { border-style: solid; border-color: #bfe1d2; background: #f3faf7; }
.cohort-upload-zone > span { width: 43px; height: 43px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.cohort-upload-zone.is-validated > span { color: var(--success); background: #dff4eb; }
.cohort-upload-zone strong, .cohort-upload-zone p { display: block; margin: 0; }
.cohort-upload-zone strong { font-size: 12px; }
.cohort-upload-zone p { margin-top: 4px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.cohort-validation-results { margin-top: 12px; padding: 14px; border: 1px solid #e1e6f0; border-radius: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; background: #fff; }
.cohort-validation-results > div { padding: 4px 12px; border-left: 1px solid #edf0f7; }
.cohort-validation-results > div:first-child { padding-left: 0; border-left: 0; }
.cohort-validation-results strong, .cohort-validation-results span { display: block; }
.cohort-validation-results strong { color: var(--utiva-blue-dark); font-size: 17px; }
.cohort-validation-results span { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.cohort-validation-results > p { grid-column: 1 / -1; margin: 3px 0 0; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: center; color: #9a5a13; background: #fff7e8; }
.cohort-validation-results > p strong { color: #6f430f; font-size: 12px; }
.cohort-validation-results > p span { margin: 0; font-size: 12px; }
.cohort-import-rule { margin-top: 12px; padding: 13px; border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--success); background: #eef9f4; }
.cohort-import-rule p { margin: 0; }
.cohort-import-rule strong, .cohort-import-rule small { display: block; }
.cohort-import-rule strong { color: var(--text); font-size: 12px; }
.cohort-import-rule small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.cohort-review-hero { padding: 16px; border: 1px solid #cfe8dc; border-radius: 12px; display: grid; grid-template-columns: 46px 1fr; gap: 11px; align-items: center; background: #f2faf6; }
.cohort-review-hero > span { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; color: var(--success); background: #dff4eb; }
.cohort-review-hero h3 { margin: 3px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.cohort-review-hero p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.cohort-review-grid { margin: 12px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cohort-review-grid > div { min-height: 60px; padding: 13px; border: 1px solid #e4e8f1; border-radius: 10px; background: #fff; }
.cohort-review-grid span, .cohort-review-grid strong { display: block; }
.cohort-review-grid span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.cohort-review-grid strong { margin-top: 6px; font-size: 12px; }
.cohort-review-note { margin: 0; padding: 11px; border-radius: 9px; display: flex; align-items: center; gap: 7px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; }
.cohort-builder-footer { margin-top: 18px; }
.cohort-detail-modal { width: min(620px,100%); }
.cohort-detail-grid { margin: 17px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.cohort-detail-grid > div { min-height: 66px; padding: 13px; border-left: 1px solid #e8ecf4; border-top: 1px solid #e8ecf4; }
.cohort-detail-grid > div:nth-child(odd) { border-left: 0; }
.cohort-detail-grid > div:nth-child(-n+2) { border-top: 0; }
.cohort-detail-grid span, .cohort-detail-grid strong { display: block; }
.cohort-detail-grid span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.cohort-detail-grid strong { margin-top: 6px; overflow-wrap: anywhere; font-size: 13px; }

/* Admin user directory */
.user-directory-summary { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.user-directory-summary article { min-height: 102px; padding: 17px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 39px 1fr; gap: 11px; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.user-summary-icon { width: 39px; height: 39px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.user-summary-icon--1 { color: var(--success); background: #e4f6ed; }.user-summary-icon--2 { color: #8b5d00; background: #fff1cd; }.user-summary-icon--3 { color: #7a3d8f; background: #f5eaf9; }
.user-directory-summary small,.user-directory-summary strong,.user-directory-summary p { display:block;margin:0 }.user-directory-summary small{color:var(--text-soft);font-size: 12px}.user-directory-summary strong{margin:4px 0 3px;color:var(--utiva-blue-dark);font-size:20px}.user-directory-summary p{color:var(--text-soft);font-size: 12px}
.user-directory-filters { margin-bottom:16px;padding:15px;display:grid;grid-template-columns:minmax(280px,1fr) 170px 150px auto;gap:11px;align-items:end }
.user-directory-filters label:not(.mini-search){display:grid;gap:5px}.user-directory-filters label>span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.7px;font-size: 12px;font-weight:800}.user-directory-filters select{height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:#fbfcff;color:var(--text);font-size: 12px}
.user-directory-table{padding:20px;overflow:hidden}.user-directory-table__meta{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.user-directory-table__meta h2{margin:2px 0 0;color:var(--utiva-blue-dark);font-size:17px}.user-directory-table__meta>p{display:flex;align-items:center;gap:6px;color:var(--text-soft);font-size: 12px}
.user-table{overflow-x:auto}.user-table__header,.user-table>button{width:100%;min-width:0;display:grid;grid-template-columns:minmax(190px,1.35fr) 90px minmax(100px,.75fr) minmax(115px,.85fr) 95px 70px 24px;gap:8px;align-items:center}.user-table__header{min-height:38px;padding:0 10px;color:var(--text-soft);background:var(--surface-soft);text-transform:uppercase;letter-spacing:.7px;font-size: 12px;font-weight:800}.user-table>button{min-height:66px;padding:8px 10px;border-bottom:1px solid #edf0f7;color:var(--text);background:#fff;text-align:left;cursor:pointer}.user-table>button:hover{background:#fbfcff}.user-table>button>div:first-child{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}.user-table p{margin:0;min-width:0}.user-table strong,.user-table small{display:block}.user-table strong{font-size: 13px}.user-table small{margin-top:3px;color:var(--text-soft);overflow-wrap:anywhere;font-size: 12px}.user-table>button>[data-label]{min-width:0;overflow-wrap:anywhere;font-size: 12px;line-height:1.4}.user-table>button>svg{color:#9aa2b6}
.user-quickview{width:min(620px,100%)}.user-quickview__hero{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center}.user-quickview__hero>.avatar{width:52px;height:52px;font-size:12px}.user-quickview__hero h2{margin:2px 0;color:var(--utiva-blue-dark);font-size:20px}.user-quickview__hero p:not(.eyebrow){margin:0;color:var(--text-soft);font-size: 12px}.user-quickview__grid{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e3e8f2;border-radius:12px;overflow:hidden}.user-quickview__grid>div{min-height:66px;padding:13px;border-bottom:1px solid #e8ecf4;border-left:1px solid #e8ecf4}.user-quickview__grid>div:nth-child(odd){border-left:0}.user-quickview__grid span,.user-quickview__grid strong{display:block}.user-quickview__grid span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.7px;font-size: 12px;font-weight:800}.user-quickview__grid strong{margin-top:6px;font-size: 13px;overflow-wrap:anywhere}.user-access-scope{padding:14px;border-radius:11px;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;color:var(--success);background:#eef9f4}.user-access-scope p{margin:0}.user-access-scope strong,.user-access-scope small{display:block}.user-access-scope strong{color:var(--text);font-size: 13px}.user-access-scope small{margin-top:3px;color:var(--text-soft);font-size: 12px}.user-quickview__actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.user-reset-prepared{margin-top:11px;padding:13px;border-radius:10px;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;color:var(--success);background:#eef9f4}.user-reset-prepared p{margin:0}.user-reset-prepared strong,.user-reset-prepared small{display:block}.user-reset-prepared strong{color:var(--text);font-size:13px}.user-reset-prepared small{margin-top:2px;color:var(--text-soft);font-size:12px;line-height:1.45}

/* User invitations and import */
.invitation-page>.course-builder-back{margin-bottom:16px}.invitation-tabs{margin:0 0 16px;padding:4px;width:fit-content;border:1px solid var(--border);border-radius:11px;display:flex;gap:3px;background:#eaf0fb}.invitation-tabs button{min-height:40px;padding:0 15px;border:0;border-radius:8px;display:flex;align-items:center;gap:7px;color:var(--text-soft);background:transparent;font:800 12px Poppins,sans-serif;cursor:pointer}.invitation-tabs button.is-active{color:var(--utiva-blue);background:#fff;box-shadow:0 5px 13px rgba(5,7,148,.09)}
.invitation-layout,.bulk-import-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.72fr);gap:14px;align-items:start}.invitation-card,.invitation-guide,.bulk-import-card,.bulk-rules,.invitation-history{padding:20px}.invitation-step{padding:5px 9px;border-radius:999px;color:var(--utiva-blue);background:#eef0ff;font-size: 12px;font-weight:800}.invitation-form-grid{margin:19px 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.invitation-scope{margin-bottom:16px;padding:13px;border-radius:11px;display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:start;color:var(--success);background:#eef9f4}.invitation-scope strong,.invitation-scope p{display:block;margin:0}.invitation-scope strong{color:var(--text);font-size: 12px}.invitation-scope p{margin-top:3px;color:var(--text-soft);font-size: 12px;line-height:1.5}.individual-invite-receipt{margin:-5px 0 14px;padding:12px;border-radius:10px;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;color:var(--success);background:#eef9f4}.individual-invite-receipt p{margin:0}.individual-invite-receipt strong,.individual-invite-receipt small{display:block}.individual-invite-receipt strong{color:var(--text);font-size:13px}.individual-invite-receipt small{margin-top:2px;color:var(--text-soft);font-size:12px;overflow-wrap:anywhere}.form-field__error{color:#b0444e!important}.invitation-guide h2,.bulk-rules h2{margin:3px 0 15px;color:var(--utiva-blue-dark);font-size:17px}.invitation-guide>div{padding:11px 0;border-bottom:1px solid #e8edf6;display:flex;align-items:center;gap:9px;color:#9aa3b6;font-size: 12px;font-weight:700}.invitation-guide>div.is-complete{color:var(--success)}.invitation-guide__note{margin:15px 0 0;padding:12px;border-radius:9px;color:var(--text-soft);background:var(--surface-muted);font-size: 12px;line-height:1.55}
.bulk-upload-zone{min-height:230px;padding:25px;border:1.5px dashed #bdc9df;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f8faff}.bulk-upload-zone>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;color:var(--utiva-blue);background:#e9ecff}.bulk-upload-zone strong{display:block;margin:12px 0 4px;color:var(--utiva-blue-dark);font-size:12px}.bulk-upload-zone p{max-width:410px;margin:0 0 14px;color:var(--text-soft);font-size: 12px}.bulk-upload-zone small{margin-top:10px;color:var(--text-soft);font-size: 12px}.bulk-file-heading{margin:17px 0 13px;padding:12px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;justify-content:space-between;background:#fafcff}.bulk-file-heading>div{display:flex;align-items:center;gap:10px}.bulk-file-heading>div>span{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.bulk-file-heading strong,.bulk-file-heading small{display:block}.bulk-file-heading strong{font-size: 12px}.bulk-file-heading small{margin-top:2px;color:var(--text-soft);font-size: 12px}.bulk-results{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.bulk-results article{padding:13px;border:1px solid;border-radius:10px;display:flex;align-items:center;gap:9px}.bulk-results strong,.bulk-results span{display:block}.bulk-results strong{font-size:16px}.bulk-results span{font-size: 12px}.bulk-result--ready{color:#137a55;border-color:#bce4d5!important;background:#effaf5}.bulk-result--duplicate{color:#9a6200;border-color:#f0d597!important;background:#fff8e8}.bulk-result--failed{color:#b0444e;border-color:#efc5c9!important;background:#fff2f3}.bulk-issue-list{margin-top:12px;border:1px solid var(--border);border-radius:11px;overflow:hidden}.bulk-issue-list>div{padding:11px 12px;display:grid;grid-template-columns:85px 1fr 1.35fr;gap:10px;align-items:center;border-top:1px solid #e8edf6;font-size: 12px}.bulk-issue-list>div:first-child{border-top:0}.bulk-issue-list span,.bulk-issue-list small{color:var(--text-soft)}.bulk-import-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.bulk-sent-confirmation{margin-top:14px;padding:14px;border-radius:11px;display:flex;gap:10px;align-items:center;color:var(--success);background:#eef9f4}.bulk-sent-confirmation strong{display:block;color:var(--text);font-size: 12px}.bulk-sent-confirmation p{margin:3px 0 0;color:var(--text-soft);font-size: 12px}.bulk-rules>div{padding:12px 0;border-top:1px solid #e8edf6;display:grid;grid-template-columns:24px 1fr;gap:9px;color:var(--utiva-blue)}.bulk-rules p{margin:0}.bulk-rules strong,.bulk-rules small{display:block}.bulk-rules strong{color:var(--text);font-size: 12px}.bulk-rules small{margin-top:3px;color:var(--text-soft);font-size: 12px;line-height:1.45}.invitation-history{margin-top:14px}.invitation-history-table>div{display:grid;grid-template-columns:minmax(220px,2fr) .75fr .65fr 1fr .8fr;gap:10px;align-items:center;padding:11px 4px;border-top:1px solid #e8edf6;font-size: 12px}.invitation-history-table>div:first-child{padding:8px 4px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.55px;font-size: 12px;font-weight:800}.invitation-history-table strong,.invitation-history-table small{display:block}.invitation-history-table small{margin-top:2px;color:var(--text-soft);font-size: 12px}

/* User identity lifecycle */
.lifecycle-page>.course-builder-back{margin-bottom:16px}.lifecycle-hero{margin-bottom:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.lifecycle-identity{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center}.lifecycle-identity>.avatar{width:58px;height:58px;font-size:13px}.lifecycle-identity h1{margin:2px 0;color:var(--utiva-blue-dark);font-size:24px;line-height:1.1}.lifecycle-identity p:not(.eyebrow){margin:0;color:var(--text-soft);font-size:13px;overflow-wrap:anywhere}.lifecycle-hero__actions{display:flex;align-items:center;gap:9px}.lifecycle-test-boundary{margin-bottom:12px;padding:13px 16px;border:1px solid #d7dcfb;border-radius:12px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:center;color:var(--utiva-blue);background:#f3f4ff}.lifecycle-test-boundary p{margin:0}.lifecycle-test-boundary strong,.lifecycle-test-boundary small{display:block}.lifecycle-test-boundary strong{color:var(--text);font-size:13px}.lifecycle-test-boundary small{margin-top:2px;color:var(--text-soft);font-size:12px;line-height:1.45}.lifecycle-assurance{margin-bottom:14px;padding:13px 16px;border:1px solid #cce7dd;border-radius:12px;display:grid;grid-template-columns:repeat(3,1fr);background:#f2fbf7}.lifecycle-assurance>div{padding:0 14px;border-left:1px solid #d9eee5;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;color:var(--success)}.lifecycle-assurance>div:first-child{padding-left:0;border-left:0}.lifecycle-assurance p{margin:0}.lifecycle-assurance strong,.lifecycle-assurance small{display:block}.lifecycle-assurance strong{color:var(--text);font-size:13px}.lifecycle-assurance small{margin-top:2px;color:var(--text-soft);font-size:12px}.lifecycle-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,.7fr);gap:14px;align-items:start}.lifecycle-grid main,.lifecycle-grid aside{display:grid;gap:14px}.lifecycle-records,.lifecycle-actions,.lifecycle-audit,.lifecycle-scope{padding:20px}.lifecycle-record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.lifecycle-record-grid>div{padding:13px;border:1px solid var(--border);border-radius:10px;background:#fbfcff}.lifecycle-record-grid span,.lifecycle-record-grid strong,.lifecycle-record-grid small{display:block}.lifecycle-record-grid span{color:var(--text-soft);font-size:12px}.lifecycle-record-grid strong{margin:4px 0;color:var(--utiva-blue-dark);font-size:18px}.lifecycle-record-grid small{color:var(--success);font-size:12px;font-weight:800}.lifecycle-actions>article{padding:14px 0;border-top:1px solid #e8edf6;display:grid;grid-template-columns:40px 1fr auto;gap:11px;align-items:center}.lifecycle-action-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.lifecycle-actions h3{margin:0;color:var(--utiva-blue-dark);font-size:13px}.lifecycle-actions p{margin:4px 0 0;color:var(--text-soft);font-size:12px;line-height:1.45}.lifecycle-action--danger .lifecycle-action-icon{color:#b0444e;background:#fff0f2}.lifecycle-timeline>div{padding:0 0 16px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px}.lifecycle-timeline>div>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.lifecycle-timeline strong,.lifecycle-timeline small{display:block}.lifecycle-timeline strong{font-size:13px}.lifecycle-timeline p{margin:3px 0;color:var(--text-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.lifecycle-timeline small{color:#8790a5;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.lifecycle-scope h2{margin:3px 0 13px;color:var(--utiva-blue-dark);font-size:17px}.lifecycle-scope>div{padding:10px 0;border-top:1px solid #e8edf6;display:flex;justify-content:space-between;gap:12px;font-size:12px}.lifecycle-scope span{color:var(--text-soft)}.lifecycle-modal{width:min(560px,100%)}.lifecycle-preserve-note{margin-top:14px;padding:13px;border-radius:10px;display:grid;grid-template-columns:24px 1fr;gap:8px;color:var(--success);background:#eef9f4}.lifecycle-preserve-note p{margin:0}.lifecycle-preserve-note strong,.lifecycle-preserve-note small{display:block}.lifecycle-preserve-note strong{color:var(--text);font-size:13px}.lifecycle-preserve-note small{margin-top:3px;color:var(--text-soft);font-size:12px}.button--danger{background:#b33a49!important;color:#fff!important}

/* Trainer directory */
.trainer-summary{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.trainer-summary article{padding:15px;border:1px solid var(--border);border-radius:13px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;background:#fff;box-shadow:var(--shadow-sm)}.trainer-summary article>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.trainer-summary small,.trainer-summary strong,.trainer-summary p{display:block;margin:0}.trainer-summary small{color:var(--text-soft);font-size:12px}.trainer-summary strong{margin:3px 0;color:var(--utiva-blue-dark);font-size:19px}.trainer-summary p{color:var(--text-soft);font-size:12px}.trainer-filters{margin-bottom:14px;padding:14px;display:grid;grid-template-columns:minmax(250px,1fr) 165px 145px 150px auto;gap:10px;align-items:end}.trainer-filters label:not(.mini-search){min-width:0;display:grid;gap:5px}.trainer-filters label>span{min-width:0;color:var(--text-soft);text-transform:uppercase;letter-spacing:.65px;font-size:12px;font-weight:800}.trainer-filters select{width:100%;height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:#fbfcff;color:var(--text);font-size:13px}.trainer-table-panel{padding:20px;overflow:hidden}.trainer-table-meta{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.trainer-table-meta h2{margin:2px 0 0;color:var(--utiva-blue-dark);font-size:17px}.trainer-table-meta>p{display:flex;align-items:center;gap:6px;color:var(--text-soft);font-size:12px}.trainer-table{overflow:visible}.trainer-table__header,.trainer-table>button{width:100%;min-width:0;display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(135px,1fr) 100px 88px 92px 86px 18px;gap:7px;align-items:center}.trainer-table__header{min-height:38px;padding:0 9px;color:var(--text-soft);background:var(--surface-soft);text-transform:uppercase;letter-spacing:.45px;font-size:11px;font-weight:800}.trainer-table>button{min-height:70px;padding:9px;border-bottom:1px solid #edf0f7;color:var(--text);background:#fff;text-align:left;cursor:pointer}.trainer-table>button:hover{background:#fbfcff}.trainer-table>button>div:first-child{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}.trainer-table p{margin:0;min-width:0}.trainer-table strong,.trainer-table small{display:block;overflow-wrap:anywhere}.trainer-table strong{font-size:12px}.trainer-table small{margin-top:3px;color:var(--text-soft);font-size:12px;line-height:1.35}.trainer-table>button>[data-label]{min-width:0;overflow-wrap:anywhere}.trainer-table>button>svg{color:#9aa2b6}.trainer-quickview{width:min(680px,100%)}.trainer-quickview__hero{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center}.trainer-quickview__hero>.avatar{width:54px;height:54px;font-size:12px}.trainer-quickview__hero h2{margin:2px 0;color:var(--utiva-blue-dark);font-size:20px}.trainer-quickview__hero p:not(.eyebrow){margin:0;color:var(--text-soft);font-size:13px;overflow-wrap:anywhere}.trainer-quickview__metrics{margin:17px 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:11px;overflow:hidden}.trainer-quickview__metrics>div{padding:12px;border-left:1px solid #e8edf6}.trainer-quickview__metrics>div:first-child{border-left:0}.trainer-quickview__metrics span,.trainer-quickview__metrics strong,.trainer-quickview__metrics small{display:block}.trainer-quickview__metrics span{color:var(--text-soft);font-size:12px}.trainer-quickview__metrics strong{margin:4px 0;color:var(--utiva-blue-dark);font-size:16px}.trainer-quickview__metrics small{color:var(--text-soft);font-size:12px}.trainer-skill-list>span{display:block;margin-bottom:7px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.65px;font-size:12px;font-weight:800}.trainer-skill-list>div{display:flex;flex-wrap:wrap;gap:6px}.trainer-skill-list strong{padding:6px 9px;border-radius:999px;color:var(--utiva-blue);background:#eef0ff;font-size:12px}.trainer-capacity-card{margin:14px 0;padding:13px;border-radius:10px;display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;color:var(--success);background:#eef9f4}.trainer-capacity-card strong{color:var(--text);font-size:13px}.trainer-capacity-card p{margin:3px 0 0;color:var(--text-soft);font-size:12px}.trainer-cohort-list{padding-top:4px}.trainer-cohort-list>div{padding:9px 0;border-top:1px solid #e8edf6;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center}.trainer-cohort-list>div>span:first-child{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.trainer-cohort-list p{margin:0;min-width:0}.trainer-cohort-list strong,.trainer-cohort-list small{display:block;overflow-wrap:anywhere}.trainer-cohort-list strong{font-size:13px}.trainer-cohort-list small{margin-top:2px;color:var(--text-soft);font-size:12px}.trainer-no-cohort{color:var(--text-soft);font-size:12px}.trainer-create-modal{width:min(650px,100%)}

/* Trainer verification */
.verification-page>.course-builder-back{margin-bottom:16px}.verification-hero{margin-bottom:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.verification-identity{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}.verification-identity>.avatar{width:56px;height:56px;font-size:12px}.verification-identity h1{margin:2px 0;color:var(--utiva-blue-dark);font-size:23px}.verification-identity p:not(.eyebrow){margin:0;color:var(--text-soft);font-size: 12px}.verification-status{display:grid;justify-items:end;gap:5px}.verification-status>span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.65px;font-size: 12px;font-weight:800}.verification-status small{color:var(--text-soft);font-size: 12px}.verification-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.68fr);gap:14px;align-items:start}.verification-grid main,.verification-grid aside{display:grid;gap:14px}.verification-evidence,.verification-decision,.verification-checklist,.verification-audit{padding:20px}.verification-evidence-list article{min-height:64px;padding:10px 0;border-top:1px solid #e8edf6;display:grid;grid-template-columns:38px 1fr auto 32px;gap:10px;align-items:center}.verification-doc-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.verification-doc-icon.is-missing{color:#b0444e;background:#fff0f2}.verification-evidence-list strong{font-size: 12px}.verification-evidence-list p{margin:3px 0 0;color:var(--text-soft);font-size: 12px}.verification-missing{margin-top:12px;padding:12px;border-radius:10px;display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;color:#a36b00;background:#fff6df}.verification-missing strong{display:block;color:var(--text);font-size: 12px}.verification-missing p{margin:3px 0 0;color:var(--text-soft);font-size: 12px}.verification-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.verification-form label{display:grid;gap:6px}.verification-form label>span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.65px;font-size: 12px;font-weight:800}.verification-form select,.verification-form input,.verification-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;outline:0;color:var(--text);background:#fbfcff;font:600 12px Poppins,sans-serif}.verification-form select,.verification-form input{height:41px;padding:0 11px}.verification-form textarea{min-height:92px;padding:11px;resize:vertical}.verification-note{grid-column:1/-1}.verification-decision-actions{margin-top:13px;display:flex;justify-content:flex-end;gap:8px}.verification-expiry-control{margin-top:13px;padding:12px;border-radius:10px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;color:var(--success);background:#eef9f4}.verification-expiry-control strong{display:block;color:var(--text);font-size: 12px}.verification-expiry-control p{margin:3px 0 0;color:var(--text-soft);font-size: 12px}.verification-checklist h2{margin:3px 0 12px;color:var(--utiva-blue-dark);font-size:17px}.verification-checklist>div{padding:9px 0;border-top:1px solid #e8edf6;display:flex;align-items:center;gap:8px;color:#9ca5b6;font-size: 12px;font-weight:700}.verification-checklist>div.is-complete{color:var(--success)}.verification-checklist>p{margin:13px 0 0;padding:11px;border-radius:9px;color:var(--text-soft);background:var(--surface-muted);font-size: 12px;line-height:1.5}.verification-event{padding:0 0 15px;display:grid;grid-template-columns:28px 1fr;gap:8px}.verification-event>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.verification-event strong,.verification-event small{display:block}.verification-event strong{font-size: 12px}.verification-event p{margin:3px 0;color:var(--text-soft);font-size: 12px;line-height:1.45}.verification-event small{color:#8790a5;font-size:6.5px}

.verification-event small{font-size:12px;line-height:1.45}.verification-identity,.verification-identity>div,.verification-evidence-list article>div,.verification-event>div{min-width:0}.verification-identity p:not(.eyebrow),.verification-evidence-list p,.verification-event p{overflow-wrap:anywhere}.verification-evidence-list article{grid-template-columns:38px minmax(0,1fr) auto 40px}.verification-evidence-list strong,.verification-event strong,.verification-expiry-control strong{font-size:13px}.verification-form select,.verification-form input,.verification-form textarea{font-size:13px}.verification-preview-modal,.verification-expiry-modal{width:min(560px,calc(100vw - 28px))}.verification-preview-sheet{padding:16px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;background:#fbfcff}.verification-preview-sheet>div:first-child{min-height:146px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef0ff}.verification-preview-sheet dl{margin:0;display:grid;grid-template-columns:108px minmax(0,1fr);gap:9px 12px;align-content:start}.verification-preview-sheet dt{color:var(--text-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.45px}.verification-preview-sheet dd{min-width:0;margin:0;color:var(--text);font-size:13px;font-weight:700;overflow-wrap:anywhere}

/* Trainer assignment and capacity */
.assignment-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:14px;align-items:start}.assignment-layout main,.assignment-layout aside{display:grid;gap:14px}.assignment-schedule,.assignment-candidates,.assignment-review,.workload-policy{padding:20px}.assignment-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.assignment-form label{display:grid;gap:6px}.assignment-form label>span{color:var(--text-soft);text-transform:uppercase;letter-spacing:.65px;font-size: 12px;font-weight:800}.assignment-form select,.assignment-form input{width:100%;height:41px;padding:0 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#fbfcff;font:600 12px Poppins,sans-serif}.assignment-form--wide{grid-column:1/-1}.assignment-candidate-list>button{width:100%;min-height:68px;padding:10px;border:1px solid transparent;border-top-color:#e8edf6;display:grid;grid-template-columns:36px minmax(180px,1.3fr) 115px 100px 24px;gap:10px;align-items:center;color:var(--text);background:#fff;text-align:left;cursor:pointer}.assignment-candidate-list>button.is-selected{border-color:#aeb8ff;border-radius:10px;background:#f6f7ff}.assignment-candidate-list>button.is-blocked{opacity:.62;cursor:not-allowed}.assignment-candidate-list p{margin:0}.assignment-candidate-list strong,.assignment-candidate-list small{display:block}.assignment-candidate-list strong{font-size: 12px}.assignment-candidate-list small{margin-top:3px;color:var(--text-soft);font-size: 12px}.assignment-radio{width:20px;height:20px;border:1px solid #c9d2e3;border-radius:50%;display:grid;place-items:center;color:#fff}.is-selected .assignment-radio{border-color:var(--utiva-blue);background:var(--utiva-blue)}.assignment-review h2,.workload-policy h2{margin:3px 0 14px;color:var(--utiva-blue-dark);font-size:17px}.assignment-review>div:not(.assignment-confirmed){padding:9px 0;border-top:1px solid #e8edf6;display:grid;gap:3px}.assignment-review>div>span{color:var(--text-soft);font-size: 12px}.assignment-review>div>strong{font-size: 12px}.assignment-review>.builder-switch{margin:12px 0;padding:12px;border-radius:10px;background:var(--surface-muted)}.assignment-confirmed{margin-top:12px;padding:13px;border-radius:10px;display:grid;grid-template-columns:24px 1fr;gap:8px;color:var(--success);background:#eef9f4}.assignment-confirmed strong{display:block;color:var(--text);font-size: 12px}.assignment-confirmed p{margin:3px 0 0;color:var(--text-soft);font-size: 12px}.workload-policy>div{padding:9px 0;border-top:1px solid #e8edf6;display:flex;justify-content:space-between;gap:12px;font-size: 12px}.workload-policy span{color:var(--text-soft)}

.assignment-form select,.assignment-form input{font-size:13px}.assignment-form label>small{min-width:0;color:var(--text-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.assignment-form--wide>small{display:none}.assignment-candidate-list>button:disabled{color:var(--text);background:#fff}.assignment-candidate-list>button>div,.assignment-candidate-list>button>span{min-width:0}.assignment-candidate-list strong,.assignment-review>div>strong,.assignment-confirmed strong{font-size:13px}.assignment-candidate-list small,.assignment-review>div>span,.assignment-confirmed p,.assignment-confirmed small{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.assignment-schedule-warning{margin-top:12px;padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:8px;color:#a36b00;background:#fff6df;font-size:13px;font-weight:700}.assignment-confirmed small{display:block;margin-top:3px;color:var(--text-soft)}

/* Admin growth and engagement analytics */
.analytics-heading { margin-bottom: 20px; }
.analytics-filter-panel { margin-bottom: 18px; padding: 17px; }
.analytics-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(170px,1fr)) auto; gap: 12px; align-items: end; }
.analytics-filter { display: grid; gap: 6px; }
.analytics-filter > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.analytics-filter select { width: 100%; height: 41px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 12px; font-weight: 600; }
.analytics-filter select:disabled { color: #858da1; cursor: not-allowed; }
.analytics-reset { min-width: 101px; }
.analytics-filter-summary { margin-top: 14px; padding-top: 13px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--text-soft); font-size: 12px; }
.analytics-filter-summary > span { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.compare-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.compare-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.compare-toggle > span { width: 30px; height: 18px; padding: 2px; border-radius: 20px; background: #ccd3e2; transition: background 160ms ease; }
.compare-toggle > span::after { content: ''; width: 14px; height: 14px; border-radius: 50%; display: block; background: #fff; box-shadow: 0 1px 4px rgba(3,4,95,.2); transition: transform 160ms ease; }
.compare-toggle input:checked + span { background: var(--utiva-blue); }
.compare-toggle input:checked + span::after { transform: translateX(12px); }
.analytics-metrics { margin: 0 0 18px; }
.analytics-integrity-strip { margin-bottom: 18px; padding: 11px 16px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 1fr 1.15fr 1.15fr; align-items: center; background: #fff; box-shadow: var(--shadow-sm); }
.analytics-integrity-strip > div, .analytics-integrity-strip > button { min-height: 41px; padding: 0 16px; border-left: 1px solid #e8ecf5; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); background: transparent; text-align: left; }
.analytics-integrity-strip > div:first-child { padding-left: 0; border-left: 0; }
.analytics-integrity-strip > button { cursor: pointer; }
.analytics-integrity-strip > button:hover { border-radius: 8px; background: var(--surface-soft); }
.analytics-integrity-strip p { margin: 0; }
.analytics-integrity-strip strong, .analytics-integrity-strip small { display: block; }
.analytics-integrity-strip strong { color: var(--text); font-size: 12px; }
.analytics-integrity-strip small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.analytics-integrity-strip > button > svg:last-child { margin-left: auto; }
.analytics-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 18px; }
.analytics-trend-panel { min-height: 365px; }
.analytics-legend { display: flex; gap: 13px; color: var(--text-soft); font-size: 12px; }
.analytics-legend span { display: flex; align-items: center; gap: 5px; }
.analytics-legend i { width: 8px; height: 8px; border-radius: 3px; }
.analytics-legend .is-enrolled { background: var(--utiva-blue); }
.analytics-legend .is-active { background: var(--utiva-yellow); }
.analytics-chart { height: 265px; padding: 20px 2px 0; display: flex; align-items: stretch; justify-content: space-between; gap: clamp(7px,1.4vw,17px); background: repeating-linear-gradient(to bottom,transparent 0,transparent 52px,#edf0f7 53px); }
.analytics-chart__group { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 8px; }
.analytics-chart__bars { width: 100%; height: 225px; display: flex; align-items: flex-end; justify-content: center; gap: 4px; }
.analytics-chart__bar { width: min(18px,38%); min-height: 9px; border-radius: 5px 5px 2px 2px; transition: height 220ms ease; }
.analytics-chart__bar--enrolled { background: linear-gradient(180deg,#5e64e9,var(--utiva-blue)); }
.analytics-chart__bar--active { background: linear-gradient(180deg,#ffc956,var(--utiva-yellow)); }
.analytics-chart__group small { color: var(--text-soft); font-size: 12px; white-space: nowrap; }
.engagement-panel { min-height: 365px; display: flex; flex-direction: column; }
.engagement-donut { width: 154px; height: 154px; margin: 7px auto 21px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--utiva-blue) 0 var(--engagement-value),var(--utiva-yellow) var(--engagement-value) calc(var(--engagement-value) + 54deg),#e9edf6 calc(var(--engagement-value) + 54deg) 360deg); }
.engagement-donut > div { width: 108px; height: 108px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: #fff; box-shadow: inset 0 0 0 1px #edf0f7; }
.engagement-donut strong { color: var(--utiva-blue-dark); font-size: 26px; line-height: 1; }
.engagement-donut small { margin-top: 5px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.engagement-breakdown { margin-top: auto; display: grid; gap: 8px; }
.engagement-breakdown span { display: grid; grid-template-columns: 8px 32px 1fr; align-items: center; gap: 7px; color: var(--text-soft); font-size: 12px; }
.engagement-breakdown i { width: 8px; height: 8px; border-radius: 3px; }
.engagement-breakdown .is-engaged { background: var(--utiva-blue); }
.engagement-breakdown .is-occasional { background: var(--utiva-yellow); }
.engagement-breakdown .is-inactive { background: #e1e6f0; }
.engagement-breakdown strong { color: var(--text); font-size: 12px; }
.completion-funnel { min-height: 265px; }
.completion-funnel .section-heading > strong { color: var(--utiva-blue); font-size: 12px; }
.funnel-step { min-height: 43px; display: grid; grid-template-columns: 105px 1fr 38px; gap: 11px; align-items: center; }
.funnel-step > span { color: var(--text-soft); font-size: 12px; }
.funnel-step > div { height: 9px; border-radius: 10px; overflow: hidden; background: #edf0f7; }
.funnel-step i { height: 100%; display: block; border-radius: inherit; background: var(--utiva-blue); }
.funnel-step--1 { background: #3e44c9 !important; }
.funnel-step--2 { background: #7b81e7 !important; }
.funnel-step--3 { background: var(--utiva-yellow) !important; }
.funnel-step strong { color: var(--utiva-blue-dark); text-align: right; font-size: 12px; }
.analytics-insight { min-height: 265px; display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: start; background: linear-gradient(145deg,#050794,#1517a8); color: #fff; }
.analytics-insight > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.analytics-insight .eyebrow { color: rgba(255,255,255,.54); }
.analytics-insight h2 { margin: 0 0 8px; color: #fff; font-size: 18px; }
.analytics-insight p:not(.eyebrow) { margin: 0 0 16px; color: rgba(255,255,255,.72); font-size: 12px; }
.analytics-insight .text-button { padding: 0; color: var(--utiva-yellow); }
.analytics-programmes { margin-top: 18px; overflow-x: auto; }
.analytics-table { min-width: 880px; }
.analytics-table__header, .analytics-table__row { display: grid; grid-template-columns: minmax(270px,1.35fr) 80px 70px 88px 90px 105px; gap: 13px; align-items: center; }
.analytics-table__header { min-height: 39px; padding: 0 12px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.analytics-table__row { width: 100%; min-height: 65px; padding: 0 12px; border-top: 1px solid #edf0f7; color: var(--text-soft); background: transparent; text-align: left; cursor: pointer; }
.analytics-table__row:hover { background: #fafbff; }
.analytics-table__row strong, .analytics-table__row small { display: block; }
.analytics-table__row strong { color: var(--text); font-size: 12px; }
.analytics-table__row small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.analytics-table__row > span:not(.health-pill) { font-size: 12px; }
.metric-definition-modal { width: min(650px,calc(100% - 30px)); max-height: calc(100vh - 40px); overflow-y: auto; }
.metric-definition-list { margin: 20px 0; display: grid; gap: 9px; }
.metric-definition-list article { padding: 13px 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.metric-definition-list article > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.metric-definition-list article strong { color: var(--utiva-blue-dark); font-size: 12px; }
.metric-definition-list article span { padding: 3px 7px; border-radius: 12px; color: var(--success); background: #e8f7f1; text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
.metric-definition-list article p { margin: 5px 0 7px; color: var(--text-soft); font-size: 12px; }
.metric-definition-list article small { display: flex; align-items: center; gap: 5px; color: var(--utiva-blue); font-size: 12px; }

.analytics-page .analytics-filter select,
.analytics-page .analytics-filter-summary,
.analytics-page .analytics-integrity-strip strong,
.analytics-page .analytics-integrity-strip small,
.analytics-page .analytics-legend,
.analytics-page .engagement-breakdown span,
.analytics-page .engagement-breakdown strong,
.analytics-page .completion-funnel .section-heading > strong,
.analytics-page .funnel-step > span,
.analytics-page .funnel-step strong,
.analytics-page .analytics-insight p:not(.eyebrow),
.analytics-page .analytics-table__row strong,
.analytics-page .analytics-table__row small,
.analytics-page .analytics-table__row > span:not(.health-pill),
.analytics-page .metric-definition-list article strong,
.analytics-page .metric-definition-list article p,
.analytics-page .metric-definition-list article small { font-size: 13px; }

/* Admin product operations */
.product-metrics { margin-top: 0; }
.product-catalogue { overflow-x: hidden; }
.product-tabs { min-height: 54px; padding: 0 20px; border-bottom: 1px solid var(--border); display: flex; align-items: stretch; gap: 25px; overflow-x: auto; }
.product-tabs button { padding: 2px 0 0; position: relative; flex: 0 0 auto; color: var(--text-soft); background: transparent; font-size: 13px; font-weight: 600; cursor: pointer; }
.product-tabs button > span { margin-left: 5px; padding: 2px 5px; border-radius: 8px; color: #737b90; background: #eef1f7; font-size: 12px; font-weight: 800; }
.product-tabs button.is-active { color: var(--utiva-blue); font-weight: 800; }
.product-tabs button.is-active > span { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.product-tabs button.is-active::after { content: ''; height: 3px; position: absolute; inset: auto 0 -1px; border-radius: 3px 3px 0 0; background: var(--utiva-blue); }
.saved-view-bar { min-height: 57px; padding: 10px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 16px; background: #fff; }
.saved-view-bar > div:first-child { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.saved-view-list { min-width: 0; display: flex; align-items: center; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.saved-view-list::-webkit-scrollbar { display: none; }
.saved-view { min-height: 40px; border: 1px solid #dde3f1; border-radius: 20px; display: flex; align-items: center; flex: 0 0 auto; background: #fbfcff; }
.saved-view > button { min-height: 38px; padding: 0 12px; color: var(--text-soft); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.saved-view > button + button { padding: 0 7px 0 2px; color: #8b93a6; }
.saved-view.is-active { border-color: #aeb8e7; background: var(--utiva-blue-soft); }
.saved-view.is-active > button { color: var(--utiva-blue); }
.save-view-button { min-height: 40px; padding: 0 12px; border-radius: 20px; display: flex; align-items: center; gap: 5px; flex: 0 0 auto; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.save-view-button:hover { background: var(--utiva-blue-soft); }
.catalogue-toolbar { min-height: 68px; padding: 13px 18px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 15px; background: #fbfcff; }
.catalogue-toolbar .mini-search--input > button { width: 40px; height: 40px; margin-right: -10px; display: grid; place-items: center; flex: 0 0 auto; color: #8e96a9; background: transparent; cursor: pointer; }
.mini-search--input input { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; }
.mini-search--input input::placeholder { color: #8e96a9; }
.select-control { min-height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 7px; color: var(--text-soft); background: #fff; }
.select-control select { border: 0; outline: 0; color: var(--text-soft); background: transparent; font-size: 13px; font-weight: 600; }
.toolbar-actions .is-active { border-color: #aeb8e7; background: var(--utiva-blue-soft); }
.filter-count { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); font-size: 12px; }
.product-filter-panel { padding: 15px 18px; border-top: 1px solid #edf0f7; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: minmax(180px,.8fr) minmax(180px,.8fr) minmax(180px,1fr) auto; gap: 13px; align-items: end; background: #fff; animation: rise-in 160ms ease; }
.product-filter-panel label, .product-filter-panel > div { display: grid; gap: 6px; }
.product-filter-panel label > span, .product-filter-panel > div > span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.product-filter-panel select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; }
.product-filter-panel > div > strong { min-height: 40px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; display: flex; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 13px; }
.product-filter-panel .text-button { min-height: 40px; white-space: nowrap; }
.catalogue-summary { min-height: 43px; padding: 0 20px; border-bottom: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--text-soft); background: #fff; font-size: 13px; }
.catalogue-summary > span:last-child { display: flex; align-items: center; gap: 8px; }
.catalogue-summary .status-dot { width: 7px; height: 7px; box-shadow: 0 0 0 4px rgba(25,145,105,.08); }
.product-table { min-width: 0; }
.product-table__header, .product-table__row { display: grid; grid-template-columns: minmax(192px,1.35fr) 78px minmax(94px,.7fr) minmax(104px,.76fr) 72px 78px 82px 18px; gap: 10px; align-items: center; }
.product-table__header { min-height: 44px; padding: 0 12px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .45px; font-size: 11px; font-weight: 800; }
.product-table__row { width: 100%; min-height: 82px; padding: 10px 12px; border-top: 1px solid #edf0f7; background: #fff; text-align: left; cursor: pointer; transition: background 150ms ease; }
.product-table__row:hover { background: #fafbff; }
.product-table__row > div:first-child { min-width: 0; display: flex; align-items: center; gap: 11px; }
.product-table__row strong, .product-table__row small { display: block; }
.product-table__row strong { color: var(--text); font-size: 13px; line-height: 1.35; }
.product-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.product-table__row > span:not(.health-pill) { min-width: 0; overflow-wrap: anywhere; color: var(--text-soft); font-size: 13px; line-height: 1.35; }
.product-table__row > svg { color: #939bad; }
.product-type { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.product-type--live-workshop { color: #b0293b; background: #fff0f2; }
.product-type--assessment { color: #9a5e00; background: var(--utiva-yellow-soft); }
.product-type--community { color: #6942bd; background: #f0eaff; }
.product-type--scorm { color: var(--success); background: #e8f7f1; }
.product-type--learning-path { color: #3f5e99; background: #e8f1ff; }
.health-pill--info { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.catalogue-pagination { min-height: 64px; padding: 12px 18px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--text-soft); background: #fbfcff; font-size: 13px; }
.catalogue-pagination > div { display: flex; align-items: center; gap: 6px; }
.catalogue-pagination .button { min-height: 40px; padding: 0 12px; font-size: 13px; }
.page-number { width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 10px; color: var(--text-soft); background: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.page-number.is-active { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); }
.catalogue-view-modal { width: min(560px,100%); }
.catalogue-view-modal .form-field { margin-top: 22px; }
.saved-view-preview { margin-top: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface-soft); }
.saved-view-preview > span { display: block; margin-bottom: 9px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.saved-view-preview > div { display: flex; flex-wrap: wrap; gap: 7px; }
.saved-view-preview small { padding: 5px 8px; border-radius: 12px; color: var(--utiva-blue); background: #fff; font-size: 12px; font-weight: 700; }
.empty-state { min-height: 260px; padding: 50px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #8e96a9; text-align: center; }
.empty-state h3 { margin: 13px 0 4px; color: var(--utiva-blue-dark); font-size: 15px; }
.empty-state p { margin: 0; font-size: 13px; }

/* Detail drawer */
.drawer-layer { position: fixed; inset: 0; z-index: 90; display: flex; justify-content: flex-end; background: rgba(3,4,95,.34); backdrop-filter: blur(3px); animation: fade-in 180ms ease both; }
.detail-drawer { width: min(485px,100%); height: 100%; padding: 27px; overflow-y: auto; background: #fff; box-shadow: -22px 0 70px rgba(3,4,95,.18); animation: drawer-in 220ms ease both; }
.detail-drawer__header { padding-bottom: 20px; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 20px; }
.detail-drawer__header h2 { margin: 0; color: var(--utiva-blue-dark); font-size: 22px; line-height: 1.24; }
.detail-drawer__status { min-height: 56px; display: flex; align-items: center; gap: 10px; color: var(--text-soft); font-size: 13px; }
.detail-drawer__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.detail-drawer__stats > div { min-height: 78px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.detail-drawer__stats span, .detail-drawer__stats strong { display: block; }
.detail-drawer__stats span { margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.detail-drawer__stats strong { color: var(--text); font-size: 13px; }
.drawer-section { margin-top: 22px; padding-top: 21px; border-top: 1px solid var(--border); }
.drawer-section .section-heading h3 { margin: 0; color: var(--utiva-blue-dark); font-size: 16px; }
.drawer-section .section-heading > span { color: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.lifecycle-track { margin-top: 15px; display: grid; grid-template-columns: repeat(6,1fr); }
.lifecycle-track > div { min-width: 0; position: relative; display: grid; justify-items: center; gap: 6px; color: #9aa1b1; }
.lifecycle-track > div::before { content: ''; height: 2px; position: absolute; z-index: 0; left: 0; right: 50%; top: 14px; background: #e2e6ef; }
.lifecycle-track > div::after { content: ''; height: 2px; position: absolute; z-index: 0; left: 50%; right: 0; top: 14px; background: #e2e6ef; }
.lifecycle-track > div:first-child::before, .lifecycle-track > div:last-child::after { display: none; }
.lifecycle-track > div > span { width: 28px; height: 28px; border: 2px solid #e2e6ef; border-radius: 50%; position: relative; z-index: 1; display: grid; place-items: center; color: #8991a4; background: #fff; font-size: 12px; font-weight: 800; }
.lifecycle-track > div > small { max-width: 64px; overflow: visible; text-align: center; white-space: normal; font-size: 11px; line-height: 1.2; font-weight: 700; }
.lifecycle-track > div.is-complete::before, .lifecycle-track > div.is-complete::after, .lifecycle-track > div.is-current::before { background: #91d4bc; }
.lifecycle-track > div.is-complete > span { border-color: var(--success); color: #fff; background: var(--success); }
.lifecycle-track > div.is-current > span { border-color: var(--utiva-blue); color: var(--utiva-blue); box-shadow: 0 0 0 4px var(--utiva-blue-soft); }
.lifecycle-track > div.is-current > small { color: var(--utiva-blue); }
.lifecycle-control { margin-top: 17px; padding: 13px; border: 1px solid #dfe4f2; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--surface-soft); }
.lifecycle-control > div { display: flex; align-items: center; gap: 9px; color: var(--utiva-blue); }
.lifecycle-control strong, .lifecycle-control small { display: block; }
.lifecycle-control strong { color: var(--text); font-size: 13px; }
.lifecycle-control small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.lifecycle-control .button { min-height: 40px; padding: 0 12px; flex: 0 0 auto; font-size: 13px; }
.product-governance > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.product-governance > div:last-child > span { min-height: 72px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 22px 1fr; align-content: center; color: var(--utiva-blue); background: #fbfcff; }
.product-governance > div:last-child svg { grid-row: 1 / span 2; align-self: center; }
.product-governance > div:last-child strong, .product-governance > div:last-child small { display: block; }
.lifecycle-audit-row { min-height: 61px; padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 31px 1fr auto; gap: 9px; align-items: center; }
.lifecycle-audit-row > span { width: 31px; height: 31px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.lifecycle-audit-row strong, .lifecycle-audit-row small { display: block; }
.lifecycle-audit-row strong { font-size: 13px; }
.lifecycle-audit-row small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.lifecycle-audit-row time { color: var(--text-soft); font-size: 13px; }
.lifecycle-modal { width: min(620px,100%); }
.lifecycle-transition { margin: 22px 0 17px; padding: 14px; border-radius: 12px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; background: linear-gradient(135deg,var(--surface-soft),#fff9e8); }
.lifecycle-transition > div { min-height: 64px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.lifecycle-transition small, .lifecycle-transition strong { display: block; }
.lifecycle-transition small { margin-bottom: 5px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.lifecycle-transition strong { color: var(--utiva-blue-dark); font-size: 14px; }
.lifecycle-transition > svg { color: var(--utiva-blue); }
.lifecycle-validation { margin-bottom: 16px; display: grid; gap: 8px; }
.lifecycle-validation > div { padding: 10px 11px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 29px 1fr; gap: 9px; align-items: center; }
.lifecycle-validation > div > span { width: 29px; height: 29px; border-radius: 50%; display: grid; place-items: center; color: #8c94a7; background: #f0f2f7; }
.lifecycle-validation > div > span.is-passed { color: #fff; background: var(--success); }
.lifecycle-validation > div > span.is-blocked { color: #fff; background: var(--danger); }
.lifecycle-validation strong, .lifecycle-validation small { display: block; }
.lifecycle-validation strong { font-size: 13px; }
.lifecycle-validation small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.lifecycle-reason { margin-top: 14px; }
.lifecycle-reason textarea { width: 100%; min-height: 93px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; resize: vertical; outline: 0; color: var(--text); background: #fbfcff; font: inherit; font-size: 13px; line-height: 1.5; }
.lifecycle-modal .form-field > small { color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.lifecycle-reason textarea:focus { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.product-governance > div:last-child strong { color: var(--text); font-size: 13px; }
.product-governance > div:last-child small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.check-row { min-height: 49px; display: grid; grid-template-columns: 28px 1fr auto; gap: 9px; align-items: center; }
.check-row > span { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #9a5e00; background: var(--utiva-yellow-soft); }
.check-row > span.is-done { color: #fff; background: var(--success); }
.check-row strong { font-size: 13px; }
.check-row small { color: var(--text-soft); font-size: 13px; }
.drawer-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.drawer-actions .button { min-height: 64px; padding: 8px; flex-direction: column; font-size: 13px; }
.detail-drawer__footer { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 8px; }

/* Commerce */
.commerce-page--orders > .commerce-scope,
.commerce-page--orders > .product-metrics,
.commerce-page--orders > .commerce-insights,
.commerce-page--transactions > .commerce-scope,
.commerce-page--transactions > .product-metrics,
.commerce-page--transactions > .commerce-insights,
.commerce-page--setup > .commerce-scope,
.commerce-page--setup > .product-metrics,
.commerce-page--setup > .commerce-insights { display: none; }
.commerce-page--setup > .role-heading .heading-actions,
.commerce-page--setup .payment-profile > .button { display: none; }
.commerce-scope { margin-bottom: 16px; padding: 14px 17px; display: grid; grid-template-columns: 220px 190px 1fr; gap: 15px; align-items: end; }
.commerce-scope > div > .eyebrow { margin-bottom: 6px; }
.commerce-scope label { height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 8px; color: var(--utiva-blue); background: #fbfcff; }
.commerce-scope select { width: 100%; border: 0; outline: 0; color: var(--text); background: transparent; font: inherit; font-size: 12px; font-weight: 700; }
.commerce-scope__status { min-height: 42px; justify-self: end; display: flex; align-items: center; gap: 9px; }
.commerce-scope__status > span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--success); background: #e8f7f1; }
.commerce-scope__status strong, .commerce-scope__status small { display: block; }
.commerce-scope__status strong { font-size: 12px; }
.commerce-scope__status small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.commerce-insights { margin-bottom: 16px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 16px; }
.reconciliation-card, .currency-mix { padding: 18px; }
.reconciliation-card .section-heading, .currency-mix .section-heading { margin-bottom: 14px; }
.reconciliation-card .health-pill { display: inline-flex; align-items: center; gap: 5px; }
.reconciliation-values { min-height: 76px; padding: 14px; border-radius: 12px; display: grid; grid-template-columns: 1fr auto 1fr minmax(90px,.55fr); gap: 12px; align-items: center; background: var(--surface-soft); }
.reconciliation-values > svg { color: #a6adbd; }
.reconciliation-values span, .reconciliation-values strong { display: block; }
.reconciliation-values span { color: var(--text-soft); font-size: 12px; }
.reconciliation-values strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 15px; }
.reconciliation-variance { padding-left: 13px; border-left: 1px solid var(--border); }
.reconciliation-variance strong { color: var(--success); }
.reconciliation-card .text-button { margin-top: 13px; }
.currency-mix .section-heading > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.currency-row { min-height: 38px; display: grid; grid-template-columns: 40px 1fr 30px; gap: 8px; align-items: center; }
.currency-row > span { color: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.currency-row > strong { font-size: 12px; }
.currency-row > small { color: var(--text-soft); font-size: 12px; text-align: right; }
.currency-row > div { height: 4px; grid-column: 1 / -1; border-radius: 999px; overflow: hidden; background: #edf0f7; }
.currency-row > div i { height: 100%; display: block; border-radius: inherit; background: var(--utiva-yellow); }
.finance-table { min-width: 920px; }
.finance-table__header, .finance-table__row { display: grid; grid-template-columns: 110px minmax(190px,1.15fr) 120px minmax(150px,.8fr) 120px 95px; gap: 14px; align-items: center; }
.finance-table__header { min-height: 44px; padding: 0 20px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.finance-table__row { min-height: 68px; padding: 0 20px; border-top: 1px solid #edf0f7; }
.finance-table__row--button { width: 100%; border-right: 0; border-bottom: 0; border-left: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.finance-table__row--button:hover { background: #f8f9ff; }
.finance-table__row > strong { color: var(--utiva-blue); font-size: 12px; }
.finance-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.finance-table__row > span b, .finance-table__row > span small { display: block; overflow: hidden; text-overflow: ellipsis; }
.finance-table__row > span b { color: var(--text); font-size: 12px; }
.finance-table__row > span small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.order-table .finance-table__row > span:nth-child(4), .order-table .finance-table__row > span:nth-child(4) small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
.finance-table.is-compact .finance-table__row { min-height: 52px; }
.table-result-count { align-self: center; color: var(--text-soft); font-size: 12px; font-weight: 700; }
.order-detail { width: min(720px,100%); }
.order-detail__hero { padding: 3px 42px 20px 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.order-detail__hero h2 { margin: 5px 0 5px; color: var(--utiva-blue-dark); font-size: 25px; line-height: 1.12; }
.order-detail__hero p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.order-detail__facts { padding: 18px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.order-detail__facts > div { min-height: 76px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.order-detail__facts span, .order-detail__facts strong, .order-detail__facts small { display: block; }
.order-detail__facts span { color: var(--text-soft); font-size: 12px; }
.order-detail__facts strong { margin-top: 5px; font-size: 12px; }
.order-detail__facts small { margin-top: 3px; overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; }
.order-state-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.order-state-grid article { padding: 14px; border-radius: 12px; display: grid; grid-template-columns: 35px 1fr; gap: 10px; align-items: start; background: var(--surface-soft); }
.order-state-grid article > span { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; }
.order-state-grid small, .order-state-grid strong { display: block; }
.order-state-grid small { color: var(--text-soft); font-size: 12px; }
.order-state-grid strong { margin-top: 3px; font-size: 12px; }
.order-state-grid p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.order-journey { margin-top: 17px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; }
.order-journey > div { min-height: 45px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; position: relative; }
.order-journey > div:not(:last-child)::after { content: ''; width: 1px; height: 17px; left: 14px; bottom: -8px; position: absolute; background: var(--border); }
.order-journey > div > span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #8c94a7; background: #eef1f7; }
.order-journey > div.is-complete > span { color: #fff; background: var(--success); }
.order-journey strong, .order-journey small { display: block; }
.order-journey strong { font-size: 12px; }
.order-journey small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.transaction-detail { width: min(700px,100%); }
.transaction-match-grid { padding: 18px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.transaction-match-grid > div { min-height: 68px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.transaction-match-grid span, .transaction-match-grid strong { display: block; }
.transaction-match-grid span { color: var(--text-soft); font-size: 12px; }
.transaction-match-grid strong { margin-top: 5px; color: var(--utiva-blue-dark); font-size: 12px; }
.reconciliation-reason { padding: 13px; border: 1px solid #f1d5c6; border-radius: 11px; display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; background: #fff8f3; }
.reconciliation-reason > span { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #b35122; background: #ffe7da; }
.reconciliation-reason.is-success { border-color: #cfe9df; background: #f5fffb; }
.reconciliation-reason.is-success > span { color: #fff; background: var(--success); }
.reconciliation-reason strong { font-size: 12px; }
.reconciliation-reason p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.suggested-match { margin-top: 14px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.suggested-match > div { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; }
.suggested-match > div > span:first-child { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.suggested-match strong, .suggested-match small { display: block; }
.suggested-match strong { font-size: 12px; }
.suggested-match small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.transaction-audit { margin-top: 14px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.transaction-audit > div { min-height: 41px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; }
.transaction-audit > div > span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.transaction-audit strong, .transaction-audit small { display: block; }
.transaction-audit strong { font-size: 12px; }
.transaction-audit small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.transaction-note-editor { margin-top: 14px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.transaction-note-editor textarea { min-height: 82px; resize: vertical; }
.transaction-note-editor > div { margin-top: 10px; display: flex; justify-content: flex-end; gap: 8px; }
.invoice-register { overflow-x: auto; }
.invoice-table { min-width: 920px; }
.invoice-table__header, .invoice-table__row { display: grid; grid-template-columns: 110px minmax(220px,1.2fr) 110px 125px 115px 90px; gap: 14px; align-items: center; }
.invoice-table__header { min-height: 44px; padding: 0 20px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.invoice-table__row { width: 100%; min-height: 70px; padding: 0 20px; border: 0; border-top: 1px solid #edf0f7; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.invoice-table__row:hover { background: #f8f9ff; }
.invoice-table__row > strong { color: var(--utiva-blue); font-size: 12px; }
.invoice-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.invoice-table__row b, .invoice-table__row small { display: block; overflow: hidden; text-overflow: ellipsis; }
.invoice-table__row b { color: var(--text); font-size: 12px; }
.invoice-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.invoice-detail { width: min(720px,100%); }
.invoice-summary { padding: 17px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.invoice-summary > div { min-height: 66px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.invoice-summary span, .invoice-summary strong { display: block; }
.invoice-summary span { color: var(--text-soft); font-size: 12px; }
.invoice-summary strong { margin-top: 5px; font-size: 12px; }
.invoice-consistency { padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: var(--success); background: #f1fbf7; }
.invoice-consistency > svg { margin: auto; }
.invoice-consistency strong { font-size: 12px; }
.invoice-consistency p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.invoice-audit { max-height: 200px; overflow-y: auto; }
.invoice-composer { width: min(720px,100%); }
.invoice-total-preview { margin-top: 16px; padding: 14px; border-radius: 11px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; background: var(--surface-soft); }
.invoice-total-preview > div:not(:last-child) { border-right: 1px solid var(--border); }
.invoice-total-preview span, .invoice-total-preview strong { display: block; }
.invoice-total-preview span { color: var(--text-soft); font-size: 12px; }
.invoice-total-preview strong { margin-top: 5px; color: var(--utiva-blue-dark); font-size: 13px; }
.invoice-total-preview > div:last-child strong { color: var(--utiva-blue); }
.invoice-preview-sheet { margin-top: 15px; padding: 20px; border: 1px solid var(--border); border-radius: 14px; color: var(--text); background: linear-gradient(150deg,#fff,#f8f9ff); box-shadow: 0 12px 30px rgba(5,7,148,.07); }
.invoice-preview-sheet > header { padding-bottom: 16px; border-bottom: 2px solid var(--utiva-blue); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.invoice-preview-sheet > header > strong { color: var(--utiva-blue); font-size: 23px; font-weight: 800; letter-spacing: -1px; }
.invoice-preview-sheet > header > strong span { color: var(--utiva-yellow); }
.invoice-preview-sheet > header > b { color: var(--utiva-blue-dark); font-size: 15px; letter-spacing: 2px; }
.invoice-preview-sheet__meta, .invoice-preview-sheet__bill { display: grid; gap: 12px; }
.invoice-preview-sheet__meta { padding: 16px 0; grid-template-columns: repeat(3,1fr); }
.invoice-preview-sheet__bill { padding: 16px 0; border-top: 1px solid var(--border); grid-template-columns: 1fr 1fr; }
.invoice-preview-sheet p { margin: 0; min-width: 0; }
.invoice-preview-sheet p > span, .invoice-preview-sheet p > strong, .invoice-preview-sheet p > small { display: block; }
.invoice-preview-sheet p > span { color: var(--text-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; }
.invoice-preview-sheet p > strong { margin-top: 5px; font-size: 14px; overflow-wrap: anywhere; }
.invoice-preview-sheet p > small { margin-top: 4px; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.invoice-preview-sheet__total { margin: 0 0 13px auto; width: min(260px,100%); padding: 14px; border-radius: 11px; color: #fff; background: var(--utiva-blue); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.invoice-preview-sheet__total span { font-size: 12px; }
.invoice-preview-sheet__total strong { font-size: 16px; }
.invoice-preview-sheet > small { color: var(--text-soft); font-size: 12px; }
.plan-register { overflow-x: auto; }
.plan-table { min-width: 920px; }
.plan-table__header, .plan-table__row { display: grid; grid-template-columns: 100px minmax(220px,1.15fr) 110px 110px minmax(155px,.8fr) 90px; gap: 14px; align-items: center; }
.plan-table__header { min-height: 44px; padding: 0 20px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.plan-table__row { width: 100%; min-height: 70px; padding: 0 20px; border: 0; border-top: 1px solid #edf0f7; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.plan-table__row:hover { background: #f8f9ff; }
.plan-table__row > strong { color: var(--utiva-blue); font-size: 12px; }
.plan-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.plan-table__row b, .plan-table__row small { display: block; overflow: hidden; text-overflow: ellipsis; }
.plan-table__row b { color: var(--text); font-size: 12px; }
.plan-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.plan-detail, .plan-composer { width: min(740px,100%); }
.plan-balance { padding: 17px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.plan-balance > div { min-height: 68px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.plan-balance span, .plan-balance strong { display: block; }
.plan-balance span { color: var(--text-soft); font-size: 12px; }
.plan-balance strong { margin-top: 5px; font-size: 12px; }
.plan-policy { padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.plan-policy > svg { margin: auto; }
.plan-policy strong { font-size: 12px; }
.plan-policy p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.instalment-list { margin-top: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.instalment-list .section-heading { margin-bottom: 5px; }
.instalment-list > div:not(.section-heading) { min-height: 49px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 26px 1fr 110px 85px; gap: 9px; align-items: center; }
.instalment-list > div > span:first-child { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; font-weight: 800; }
.instalment-list strong, .instalment-list small { display: block; }
.instalment-list strong, .instalment-list > div > b { font-size: 12px; }
.instalment-list small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.plan-audit { max-height: 155px; overflow-y: auto; }
.schedule-preview { margin-top: 16px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.schedule-preview > div:first-child { padding-bottom: 10px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.schedule-preview > div:first-child .eyebrow { margin: 0; }
.schedule-preview > div:first-child strong { font-size: 12px; }
.schedule-preview > div:not(:first-child) { min-height: 37px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 1fr 110px 100px; gap: 10px; align-items: center; }
.schedule-preview span, .schedule-preview strong, .schedule-preview small { font-size: 12px; }
.schedule-preview small { color: var(--text-soft); text-align: right; }
.payment-record-panel { margin-top: 15px; padding: 16px; border: 1px solid #cfd9ff; border-radius: 12px; background: #f7f9ff; }
.payment-record-panel > div:first-child { margin-bottom: 12px; }
.payment-record-panel .eyebrow { margin-bottom: 4px; }
.payment-record-panel h3 { margin: 0; color: var(--utiva-blue-dark); font-size: 15px; }
.payment-record-panel .form-field { margin: 0; }
.payment-record-panel > div:nth-last-child(2) { margin-top: 12px; display: flex; justify-content: flex-end; gap: 8px; }
.payment-record-panel > small { display: block; margin-top: 10px; color: var(--text-soft); font-size: 12px; }
.reversal-policy-banner { margin-bottom: 16px; padding: 16px 18px; display: flex; justify-content: space-between; gap: 20px; align-items: center; background: linear-gradient(120deg,#f7f8ff,#fffaf0); }
.reversal-policy-banner > div:first-child { display: flex; gap: 11px; align-items: center; }
.reversal-policy-banner > div:first-child > svg { width: 36px; height: 36px; padding: 9px; border-radius: 10px; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.reversal-policy-banner .eyebrow { margin-bottom: 3px; }
.reversal-policy-banner h2 { margin: 0; color: var(--utiva-blue-dark); font-size: 14px; }
.reversal-policy-banner > div:last-child { display: flex; gap: 8px; }
.reversal-policy-banner > div:last-child > span { min-width: 120px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: rgba(255,255,255,.8); }
.reversal-policy-banner strong, .reversal-policy-banner small { display: block; }
.reversal-policy-banner strong { font-size: 12px; }
.reversal-policy-banner small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.reversal-register { overflow-x: auto; }
.reversal-table { min-width: 980px; }
.reversal-table__header, .reversal-table__row { display: grid; grid-template-columns: 95px 140px minmax(200px,1fr) 115px minmax(190px,.9fr) 110px; gap: 14px; align-items: center; }
.reversal-table__header { min-height: 44px; padding: 0 20px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.reversal-table__row { width: 100%; min-height: 72px; padding: 0 20px; border: 0; border-top: 1px solid #edf0f7; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.reversal-table__row:hover { background: #f8f9ff; }
.reversal-table__row > strong { color: var(--utiva-blue); font-size: 12px; }
.reversal-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.reversal-table__row b, .reversal-table__row small { display: block; overflow: hidden; text-overflow: ellipsis; }
.reversal-table__row b { color: var(--text); font-size: 12px; }
.reversal-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.reversal-detail, .reversal-composer { width: min(760px,100%); }
.reversal-summary { padding: 17px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.reversal-summary > div { min-height: 72px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.reversal-summary span, .reversal-summary strong { display: block; }
.reversal-summary span { color: var(--text-soft); font-size: 12px; }
.reversal-summary strong { margin-top: 5px; font-size: 12px; line-height: 1.4; }
.reversal-workflow { padding: 15px; border: 1px solid var(--border); border-radius: 11px; }
.reversal-workflow > div { min-height: 44px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; position: relative; }
.reversal-workflow > div:not(:last-child)::after { content: ''; width: 1px; height: 16px; left: 14px; bottom: -8px; position: absolute; background: var(--border); }
.reversal-workflow > div > span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #8c94a7; background: #eef1f7; }
.reversal-workflow > div.is-complete > span { color: #fff; background: var(--success); }
.reversal-workflow strong, .reversal-workflow small { display: block; }
.reversal-workflow strong { font-size: 12px; }
.reversal-workflow small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.reversal-audit { max-height: 160px; overflow-y: auto; }
.reversal-editor { margin-top: 15px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: #fbfcff; }
.reversal-editor--action { border-color: #cfd9ff; background: #f7f9ff; }
.reversal-editor > div:first-child { margin-bottom: 12px; }
.reversal-editor .eyebrow { margin-bottom: 4px; }
.reversal-editor h3 { margin: 0; color: var(--utiva-blue-dark); font-size: 15px; }
.reversal-editor .form-field { margin-top: 10px; }
.reversal-editor textarea { min-height: 78px; resize: vertical; }
.reversal-editor > div:last-child, .reversal-editor > div:nth-last-child(2) { margin-top: 12px; display: flex; justify-content: flex-end; gap: 8px; }
.reversal-editor > small { display: block; margin-top: 10px; color: var(--text-soft); font-size: 12px; }
.refund-route-preview { margin-top: 16px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.refund-route-preview > svg { margin: auto; }
.refund-route-preview span, .refund-route-preview strong, .refund-route-preview small { display: block; }
.refund-route-preview span { color: var(--text-soft); font-size: 12px; }
.refund-route-preview strong { margin-top: 3px; font-size: 12px; }
.refund-route-preview small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.pricing-settings-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 16px; align-items: start; }
.pricing-validation { margin-bottom: 16px; padding: 15px 17px; border-color: #cfe9df; display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: start; color: var(--success); background: #f5fffb; }
.pricing-validation.is-warning { border-color: #f0dca7; color: #8a5a00; background: #fffaf0; }
.pricing-validation > svg { margin-top: 1px; }
.pricing-validation strong, .pricing-validation small { display: block; }
.pricing-validation strong { font-size: 14px; }
.pricing-validation small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.pricing-validation p { margin: 7px 0 0; color: var(--text); font-size: 12px; }
.pricing-rule-register { overflow-x: auto; }
.rule-table { min-width: 720px; }
.rule-table__header, .rule-table__row { display: grid; grid-template-columns: minmax(150px,1fr) 125px 150px minmax(160px,.9fr) 90px; gap: 13px; align-items: center; }
.rule-table__header { min-height: 44px; padding: 0 18px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.rule-table__row { width: 100%; min-height: 70px; padding: 0 18px; border: 0; border-top: 1px solid #edf0f7; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.rule-table__row:hover { background: #f8f9ff; }
.rule-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.rule-table__row b, .rule-table__row small { display: block; overflow: hidden; text-overflow: ellipsis; }
.rule-table__row b { color: var(--text); font-size: 12px; }
.rule-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.pricing-preview { padding: 18px; position: sticky; top: 76px; }
.pricing-preview .section-heading { margin-bottom: 15px; }
.pricing-preview .section-heading > span { display: inline-flex; align-items: center; gap: 4px; }
.pricing-preview > label { margin-top: 10px; display: block; }
.pricing-preview > label > span { margin-bottom: 5px; display: block; color: var(--text-soft); font-size: 12px; font-weight: 700; }
.pricing-preview select { width: 100%; height: 39px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; outline: 0; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; }
.pricing-preview select:focus { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.price-breakdown { margin-top: 15px; padding: 13px; border-radius: 11px; background: var(--surface-soft); }
.price-breakdown > div { min-height: 34px; border-bottom: 1px solid #e5e9f4; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.price-breakdown > div:last-child { min-height: 48px; border-bottom: 0; }
.price-breakdown span { color: var(--text-soft); font-size: 12px; }
.price-breakdown strong { color: var(--text); font-size: 12px; text-align: right; }
.price-breakdown > div:last-child span { color: var(--utiva-blue-dark); font-weight: 800; }
.price-breakdown > div:last-child strong { color: var(--utiva-blue); font-size: 16px; }
.pricing-proof { margin: 13px 0; padding: 11px; border: 1px solid #d6e8df; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; color: var(--success); background: #f5fffa; }
.pricing-proof p { margin: 0; }
.pricing-proof strong, .pricing-proof small { display: block; }
.pricing-proof strong { font-size: 12px; }
.pricing-proof small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.pricing-preview > .button { width: 100%; }
.calculation-receipt { margin-top: 12px; padding: 12px; border: 1px solid #cfe9df; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: start; color: var(--success); background: #f5fffb; }
.calculation-receipt > svg { margin-top: 1px; }
.calculation-receipt strong, .calculation-receipt small { display: block; }
.calculation-receipt strong { font-size: 12px; }
.calculation-receipt small { margin-top: 3px; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.commercial-rule-modal { width: min(620px,100%); }
.commercial-rule-facts { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.commercial-rule-facts > span { min-height: 59px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.commercial-rule-facts small, .commercial-rule-facts strong { display: block; }
.commercial-rule-facts small { color: var(--text-soft); font-size: 12px; }
.commercial-rule-facts strong { margin-top: 4px; font-size: 12px; }
.payment-setup { padding: 21px; }
.payment-profile { min-height: 92px; padding: 19px; border-radius: 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #fff; background: linear-gradient(120deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.payment-profile h2 { margin: 0 0 4px; font-size: 18px; }
.payment-profile p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.65); font-size: 12px; }
.payment-profile .eyebrow { color: var(--utiva-yellow); }
.gateway-launch-note { margin-top: 14px; padding: 13px; border: 1px solid #d8e0ff; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: var(--utiva-blue); background: #f5f7ff; }
.gateway-launch-note > svg { margin: auto; }
.gateway-launch-note strong { font-size: 12px; }
.gateway-launch-note p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.gateway-grid { margin-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.gateway-card { min-height: 118px; padding: 16px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: start; background: #fff; }
.gateway-card__mark { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: #0ea765; font-size: 12px; font-weight: 800; }
.gateway-card__mark--1 { background: #635bff; }
.gateway-card__mark--2 { background: var(--utiva-blue); }
.gateway-card__mark--3 { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.gateway-card h3 { margin: 0 0 3px; font-size: 13px; }
.gateway-card p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.gateway-card small { margin-top: 6px; display: block; color: var(--text-soft); font-size: 12px; }
.gateway-card .health-pill { grid-column: 2; }
.gateway-card .icon-button { grid-column: 3; grid-row: 1 / span 2; align-self: center; }
.gateway-config { width: min(720px,100%); }
.gateway-config__security { margin-top: 16px; padding: 13px; border: 1px solid #f0dca7; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: #8a5a00; background: #fffaf0; }
.gateway-config__security > svg { margin: auto; }
.gateway-config__security strong { font-size: 12px; }
.gateway-config__security p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.gateway-config__grid { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.gateway-config__grid label { display: grid; gap: 6px; }
.gateway-config__grid label > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.gateway-config__grid label > div, .gateway-config__grid select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; justify-content: space-between; outline: 0; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; font-weight: 700; }
.gateway-config__grid label > div svg { color: var(--text-soft); }
.gateway-currencies { margin-top: 15px; }
.gateway-currencies > div { display: flex; flex-wrap: wrap; gap: 7px; }
.gateway-currencies span { padding: 7px 9px; border-radius: 9px; display: inline-flex; align-items: center; gap: 5px; color: var(--success); background: #e8f7f1; font-size: 12px; font-weight: 800; }
.gateway-verification { margin-top: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.gateway-verification > div { min-height: 36px; display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; color: #8c94a7; }
.gateway-verification > div.is-complete { color: var(--success); }
.gateway-verification > div > svg { width: 24px; height: 24px; padding: 5px; border-radius: 50%; background: #eef1f7; }
.gateway-verification > div.is-complete > svg { color: #fff; background: var(--success); }
.gateway-verification span { color: var(--text); font-size: 12px; font-weight: 700; }
.gateway-verification strong { font-size: 12px; }

/* Credentials and communications */
.credential-table .finance-table__header, .credential-table .finance-table__row { grid-template-columns: 120px minmax(230px,1.2fr) 100px 80px 85px 100px; }
.credential-register { overflow-x: auto; }
.credential-registry-table { min-width: 880px; }
.credential-registry-table__header, .credential-registry-table__row { display: grid; grid-template-columns: 115px minmax(200px,1.2fr) 90px 70px 105px 105px 80px; gap: 12px; align-items: center; }
.credential-registry-table__header { min-height: 44px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.credential-registry-table__row { width: 100%; min-height: 71px; padding: 0 19px; border: 0; border-top: 1px solid #edf0f7; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.credential-registry-table__row:hover { background: #f8f9ff; }
.credential-registry-table__row > strong { color: var(--utiva-blue); font-size: 12px; }
.credential-registry-table__row > span:not(.health-pill) { overflow: hidden; color: var(--text-soft); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.credential-registry-table__row b, .credential-registry-table__row small { display: block; overflow: hidden; text-overflow: ellipsis; }
.credential-registry-table__row b { color: var(--text); font-size: 12px; }
.credential-registry-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.credential-detail { width: min(720px,100%); }
.credential-facts { padding: 17px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; }
.credential-facts > div { min-height: 68px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.credential-facts span, .credential-facts strong { display: block; }
.credential-facts span { color: var(--text-soft); font-size: 12px; }
.credential-facts strong { margin-top: 5px; font-size: 12px; }
.credential-facts > .credential-fact--wide { grid-column: span 2; }
.credential-governance { padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.credential-governance > svg { margin: auto; }
.credential-governance strong { font-size: 12px; }
.credential-governance p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.credential-audit { max-height: 165px; overflow-y: auto; }
.credential-lifecycle-register { overflow: hidden; }
.credential-selection-bar { min-height: 42px; padding: 0 18px; border-top: 1px solid #dce4f5; display: flex; align-items: center; justify-content: space-between; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; font-weight: 700; }
.credential-selection-bar span { display: inline-flex; align-items: center; gap: 6px; }
.credential-lifecycle-table { min-width: 880px; }
.credential-lifecycle-table__header, .credential-lifecycle-table__row { display: grid; grid-template-columns: 52px minmax(166px,1.1fr) minmax(166px,1.05fr) 92px 100px 82px 50px; gap: 10px; align-items: center; }
.credential-lifecycle-table__header { min-height: 44px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.credential-lifecycle-table__row { min-height: 78px; padding: 10px 19px; border-top: 1px solid #edf0f7; }
.credential-lifecycle-table__row:hover { background: #fbfcff; }
.credential-lifecycle-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.credential-lifecycle-table__row > span strong, .credential-lifecycle-table__row > span small { display: block; overflow-wrap: anywhere; }
.credential-lifecycle-table__row > span strong { color: var(--text); font-size: 12px; line-height: 1.35; }
.credential-lifecycle-table__row > span:first-of-type strong { color: var(--utiva-blue); }
.credential-lifecycle-table__row > span small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.credential-row-check { width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer; }
.credential-row-check input { width: 17px; height: 17px; accent-color: var(--utiva-blue); }
.credential-lifecycle-table__row > .text-button { min-width: 44px; min-height: 40px; justify-content: center; }
.credential-lifecycle-detail { width: min(720px,100%); }
.credential-verification-state { margin: 15px 0 2px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 36px 1fr; gap: 9px; align-items: center; }
.credential-verification-state.is-valid { color: var(--success); background: #e8f7f1; }
.credential-verification-state.is-invalid { color: var(--danger); background: #fff0f1; }
.credential-verification-state p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.credential-verification-state strong { font-size: 12px; }
.credential-mode-switch { margin-bottom: 15px; padding: 4px; border-radius: 11px; display: grid; grid-template-columns: 1fr 1fr; background: var(--surface-soft); }
.credential-mode-switch button { min-height: 40px; padding: 0 10px; border: 0; border-radius: 8px; color: var(--text-soft); background: transparent; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.credential-mode-switch button.is-active { color: var(--utiva-blue); background: #fff; box-shadow: 0 4px 14px rgba(3,4,95,.1); }
.credential-cohort-proof { margin: 0 0 15px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); background: #fbfcff; }
.credential-cohort-proof p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.credential-cohort-proof strong { font-size: 12px; }
.credential-cohort-proof small { display: block; margin-top: 6px; color: var(--danger); font-size: 12px; font-weight: 700; }
.credential-issue-modal, .credential-bulk-modal { width: min(650px,100%); }
.credential-bulk-modal textarea { min-height: 90px; padding: 11px; font: 500 13px/1.5 Poppins,Arial,sans-serif; resize: vertical; }
.public-verification-page { min-height: 100vh; color: var(--text); background: radial-gradient(circle at 88% 5%,rgba(251,175,27,.16),transparent 25%),linear-gradient(180deg,#f5f7ff 0,#fff 58%); }
.public-verification-header { height: 76px; padding: 0 clamp(24px,6vw,88px); border-bottom: 1px solid rgba(219,227,243,.9); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.84); backdrop-filter: blur(14px); }
.public-verification-brand { display: inline-flex; align-items: baseline; gap: 8px; color: var(--utiva-blue); text-decoration: none; font-size: 30px; font-weight: 800; letter-spacing: -1.7px; }
.public-verification-brand > span { color: var(--utiva-yellow); }
.public-verification-brand small { color: var(--text-soft); font-size: 12px; letter-spacing: 2px; }
.public-verification-header > span { display: inline-flex; align-items: center; gap: 7px; color: var(--utiva-blue); font-size: 12px; font-weight: 700; }
.public-verification-hero { max-width: 1080px; margin: auto; padding: 74px 28px 32px; display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: clamp(35px,7vw,88px); align-items: center; }
.public-verification-hero h1 { margin: 8px 0 14px; max-width: 650px; color: var(--utiva-blue-dark); font-size: clamp(38px,5.4vw,66px); line-height: 1.02; letter-spacing: -2.8px; }
.public-verification-hero > div > p:last-child { max-width: 600px; margin: 0; color: var(--text-soft); font-size: 14px; line-height: 1.7; }
.public-verification-search { padding: 25px; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(3,4,95,.1); }
.public-verification-search > label { display: block; margin-bottom: 9px; color: var(--text); font-size: 12px; font-weight: 700; }
.public-verification-search > div { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.public-verification-search input { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--border); border-radius: 11px; outline: 0; color: var(--text); background: #fbfcff; font: inherit; font-size: 13px; }
.public-verification-search input:focus { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.public-verification-search .button { height: 50px; padding: 0 20px; }
.public-verification-search > small { display: block; margin-top: 9px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.public-verification-result { max-width: 760px; min-height: 230px; margin: 0 auto; padding: 25px 28px 58px; }
.verification-empty, .verification-not-found { min-height: 215px; padding: 35px; border: 1px dashed #cbd5eb; border-radius: 22px; display: flex; align-items: center; flex-direction: column; justify-content: center; color: var(--text-soft); text-align: center; background: rgba(255,255,255,.65); }
.verification-empty svg { color: var(--utiva-blue); }
.verification-empty h2, .verification-not-found h2 { margin: 12px 0 5px; color: var(--text); font-size: 23px; }
.verification-empty p, .verification-not-found > p:not(.eyebrow) { margin: 0; font-size: 12px; line-height: 1.6; }
.verification-not-found > span { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; color: #a15f00; background: var(--utiva-yellow-soft); }
.verification-not-found .eyebrow { margin-top: 14px; color: #985d00; }
.verification-not-found .button { margin-top: 19px; }
.verification-record { padding: 26px; border: 1px solid var(--border); border-radius: 24px; background: #fff; box-shadow: 0 22px 60px rgba(3,4,95,.12); }
.verification-record__status { padding: 15px; border-radius: 13px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center; }
.verification-record--active .verification-record__status { color: var(--success); background: #e8f7f1; }
.verification-record--revoked .verification-record__status, .verification-record--expired .verification-record__status { color: var(--danger); background: #fff0f1; }
.verification-record__status > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: currentColor; }
.verification-record__status > span svg { color: #fff; }
.verification-record__status .eyebrow { color: currentColor; }
.verification-record__status h2 { margin: 3px 0; color: var(--text); font-size: 20px; }
.verification-record__status p:last-child { margin: 0; color: var(--text-soft); font-size: 12px; }
.verification-record__status small { display: block; margin-top: 4px; color: var(--text-soft); font-size: 12px; }
.verification-record__source { margin-top: 12px; padding: 10px 12px; border: 1px solid #dce5f2; border-radius: 10px; display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: center; color: var(--utiva-blue); background: #f8faff; }
.verification-record__source p { margin: 0; }
.verification-record__source strong,.verification-record__source span { display: block; }
.verification-record__source strong { color: var(--text); font-size: 12px; }
.verification-record__source span { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.verification-record__credential { margin-top: 18px; padding: 35px 28px 25px; border: 6px solid var(--utiva-blue-dark); border-radius: 12px; position: relative; overflow: hidden; text-align: center; background: #fff; }
.verification-record__credential::after { content: ''; width: 150px; height: 150px; right: -75px; bottom: -85px; border-radius: 50%; position: absolute; background: rgba(251,175,27,.18); }
.verification-record__brand { margin-bottom: 20px; display: flex; align-items: baseline; justify-content: center; gap: 7px; }
.verification-record__brand strong { color: var(--utiva-blue); font-size: 22px; letter-spacing: -1px; }
.verification-record__brand strong span { color: var(--utiva-yellow); }
.verification-record__brand small { color: var(--text-soft); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.verification-record__credential h3 { margin: 7px 0; color: var(--utiva-blue); font-size: 30px; }
.verification-record__credential > p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.verification-record__credential h4 { margin: 5px 0 25px; font-size: 15px; }
.verification-record__facts { padding-top: 16px; border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.verification-record__facts span, .verification-record__facts small, .verification-record__facts strong { display: block; }
.verification-record__facts small { color: var(--text-soft); font-size: 12px; }
.verification-record__facts strong { margin-top: 4px; font-size: 12px; line-height: 1.4; }
.verification-record__skills { width: fit-content; margin: 16px auto 0 !important; padding: 8px 12px; border-radius: 999px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px !important; }
.verification-record__skills strong { margin-right: 7px; color: var(--utiva-blue); }
.verification-record__privacy { margin-top: 15px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.verification-record__privacy p { margin: 0; }
.verification-record__privacy strong, .verification-record__privacy small { display: block; }
.verification-record__privacy strong { font-size: 12px; }
.verification-record__privacy small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.verification-copy { width: 100%; margin-top: 14px; justify-content: center; }
.public-verification-footer { min-height: 70px; padding: 18px clamp(24px,6vw,88px); border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; color: var(--text-soft); background: #fff; font-size: 12px; }
.public-verification-footer span { display: inline-flex; align-items: center; gap: 6px; }
.public-verification-footer a { min-height: 40px; padding: 8px 0; display: inline-flex; align-items: center; color: var(--utiva-blue); font-weight: 700; }
.credential-template-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 16px; align-items: start; }
.template-library { padding: 16px; position: sticky; top: 76px; }
.template-library .section-heading { margin-bottom: 8px; }
.template-library__item { width: 100%; min-height: 78px; padding: 11px 7px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 36px 1fr auto; gap: 9px; align-items: center; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.template-library__item:hover, .template-library__item.is-active { background: #f8f9ff; }
.template-library__item.is-active { box-shadow: inset 3px 0 var(--utiva-blue); }
.template-library__item.is-disabled { opacity: .55; cursor: not-allowed; }
.template-library__icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.template-library__icon--badge { color: #9a5e00; background: var(--utiva-yellow-soft); }
.template-library__item p { min-width: 0; margin: 0; }
.template-library__item strong, .template-library__item small { display: block; overflow-wrap: anywhere; }
.template-library__item strong { font-size: 12px; line-height: 1.4; }
.template-library__item small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.template-workspace { min-width: 0; display: grid; gap: 16px; }
.template-editor { padding: 18px; }
.template-editor .section-heading { margin-bottom: 15px; }
.template-variable-section { margin-top: 16px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; }
.template-variable-section h3 { margin: 2px 0 0; font-size: 12px; }
.template-variable-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.template-variable-grid label { min-height: 48px; padding: 9px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 16px 1fr; gap: 7px; align-items: center; cursor: pointer; }
.template-variable-grid label.is-required { background: #fbfcff; }
.template-variable-grid input { accent-color: var(--utiva-blue); }
.template-variable-grid span, .template-variable-grid small { display: block; }
.template-variable-grid span { font-size: 12px; font-weight: 700; }
.template-variable-grid small { margin-top: 2px; color: var(--text-soft); font-size: 12px; font-weight: 500; }
.template-preview-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(250px,.65fr); gap: 16px; align-items: start; }
.credential-output { min-height: 410px; padding: 34px; border: 10px solid var(--utiva-blue-dark); border-radius: 3px; display: flex; align-items: center; flex-direction: column; justify-content: center; position: relative; overflow: hidden; text-align: center; background: #fff; box-shadow: 0 15px 40px rgba(3,4,95,.12); }
.credential-output::before, .credential-output::after { content: ''; width: 170px; height: 170px; border-radius: 50%; position: absolute; background: rgba(251,175,27,.16); }
.credential-output::before { left: -90px; top: -90px; }
.credential-output::after { right: -90px; bottom: -90px; }
.credential-output--modern-dark { border-color: #10122c; color: #fff; background: linear-gradient(135deg,#03045f,#16184d); }
.credential-output--modern-dark p, .credential-output--modern-dark .eyebrow, .credential-output--modern-dark small { color: rgba(255,255,255,.7); }
.credential-output--warm-yellow { border-color: var(--utiva-yellow); background: #fffaf0; }
.credential-output--badge { min-height: 390px; border-radius: 28px; }
.credential-output__brand { left: 28px; top: 24px; position: absolute; display: flex; align-items: baseline; gap: 6px; color: var(--utiva-blue-dark); }
.credential-output--modern-dark .credential-output__brand { color: #fff; }
.credential-output__brand strong { font-size: 20px; letter-spacing: -1px; }
.credential-output__brand strong span { color: var(--utiva-yellow); }
.credential-output__brand small { font-size: 12px; letter-spacing: 1.5px; }
.credential-output > .eyebrow { color: var(--utiva-blue); }
.credential-output h2 { margin: 8px 0 15px; max-width: 500px; color: inherit; font-size: clamp(22px,3vw,34px); line-height: 1.05; }
.credential-output > p:not(.eyebrow) { margin: 3px 0; color: var(--text-soft); font-size: 12px; }
.credential-output h3 { margin: 5px 0; color: var(--utiva-blue); font-size: 25px; }
.credential-output--modern-dark h3 { color: var(--utiva-yellow); }
.credential-output h4 { margin: 6px 0 23px; font-size: 13px; }
.credential-output__footer { width: 100%; padding-top: 17px; border-top: 1px solid rgba(91,97,118,.22); display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.credential-output__footer span, .credential-output__footer small, .credential-output__footer strong { display: block; }
.credential-output__footer small { color: var(--text-soft); font-size: 12px; }
.credential-output__footer strong { margin-top: 3px; font-size: 12px; }
.template-validation { padding: 17px; }
.template-validation .section-heading { margin-bottom: 10px; }
.template-validation > div:not(.section-heading):not(.template-renderer-note):not(.template-actions) { min-height: 39px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: center; color: #9b5a12; }
.template-validation > div.is-complete { color: var(--success) !important; }
.template-validation > div > span { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: #fff4e6; }
.template-validation > div.is-complete > span { color: #fff; background: var(--success); }
.template-validation > div > strong { color: var(--text); font-size: 12px; }
.template-renderer-note { margin-top: 13px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 27px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.template-renderer-note p { margin: 0; }
.template-renderer-note strong, .template-renderer-note small { display: block; }
.template-renderer-note strong { font-size: 12px; }
.template-renderer-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.template-actions { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.template-actions .button { padding: 0 9px; }
.certificate-design-lock { min-height: 66px; margin-bottom: 16px; padding: 13px 16px; border: 1px solid #cfe4dc; border-radius: 13px; display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; color: #147d5a; background: #eefaf5; }
.certificate-design-lock strong { color: var(--text); font-size: 12px; }
.certificate-design-lock p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.certificate-upload-editor, .certificate-field-editor { min-width: 0; padding: 18px; }
.certificate-upload-editor .section-heading, .certificate-field-editor .section-heading { margin-bottom: 15px; }
.certificate-pdf-dropzone { min-height: 88px; padding: 15px; border: 1.5px dashed #b8c7e6; border-radius: 13px; display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; background: #f8faff; cursor: pointer; transition: border-color 160ms ease, background 160ms ease; }
.certificate-pdf-dropzone:hover { border-color: var(--utiva-blue); background: #f3f5ff; }
.certificate-pdf-dropzone.has-file { border-style: solid; border-color: #cfe4dc; background: #f6fcf9; }
.certificate-pdf-dropzone input { width: 1px; height: 1px; position: absolute; opacity: 0; pointer-events: none; }
.certificate-pdf-dropzone > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.certificate-pdf-dropzone div { min-width: 0; }
.certificate-pdf-dropzone strong, .certificate-pdf-dropzone p { display: block; overflow-wrap: anywhere; }
.certificate-pdf-dropzone strong { font-size: 12px; }
.certificate-pdf-dropzone p { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; }
.certificate-pdf-dropzone > b { color: var(--utiva-blue); font-size: 12px; }
.certificate-template-basics { margin-top: 15px; }
.certificate-field-table { overflow-x: auto; border: 1px solid var(--border); border-radius: 11px; }
.certificate-field-table__header, .certificate-field-table__row { min-width: 620px; display: grid; grid-template-columns: 42px minmax(130px,.8fr) minmax(220px,1.3fr) 95px; gap: 10px; align-items: center; }
.certificate-field-table__header { min-height: 39px; padding: 0 12px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.certificate-field-table__row { min-height: 61px; padding: 9px 12px; border-top: 1px solid #edf0f7; }
.certificate-field-check { display: grid; place-items: center; }
.certificate-field-check input { accent-color: var(--utiva-blue); }
.certificate-field-table__row > span strong, .certificate-field-table__row > span small { display: block; }
.certificate-field-table__row > span strong { font-size: 12px; }
.certificate-field-table__row > span small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.certificate-field-control { min-width: 0; }
.certificate-field-control > small { display: none; }
.certificate-field-control > input, .certificate-field-control > select { width: 100%; min-height: 40px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: #fff; font: 500 12px Poppins,Arial,sans-serif; }
.certificate-field-control > input:disabled, .certificate-field-control > select:disabled { color: #7f8798; background: #f4f6fa; }
.certificate-pdf-review { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(250px,.65fr); gap: 16px; align-items: start; }
.certificate-pdf-preview { min-width: 0; padding: 18px; }
.certificate-pdf-preview .section-heading { margin-bottom: 12px; }
.certificate-pdf-preview iframe { width: 100%; min-height: 510px; border: 1px solid var(--border); border-radius: 10px; background: #edf0f7; }
.certificate-pdf-preview > img { width: 100%; max-height: 620px; border: 1px solid var(--border); border-radius: 10px; display: block; object-fit: contain; background: #edf0f7; }
.certificate-pdf-placeholder { min-height: 390px; padding: 30px; border: 1px dashed #c9d3e8; border-radius: 11px; display: flex; align-items: center; flex-direction: column; justify-content: center; color: var(--utiva-blue); background: #f8faff; text-align: center; }
.certificate-pdf-placeholder strong { margin-top: 14px; color: var(--text); font-size: 12px; }
.certificate-pdf-placeholder p { max-width: 390px; margin: 6px auto 0; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.communications-health-strip { min-height: 68px; margin-bottom: 16px; padding: 11px 16px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; background: #fff; box-shadow: var(--shadow-soft); }
.communications-health-strip > div { min-width: 0; padding: 0 13px; border-left: 1px solid #edf0f7; display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); }
.communications-health-strip > div:first-child { padding-left: 0; border-left: 0; }
.communications-health-strip p { margin: 0; overflow: hidden; }
.communications-health-strip strong, .communications-health-strip small { display: block; overflow-wrap: anywhere; }
.communications-health-strip strong { color: var(--text); font-size: 12px; }
.communications-health-strip small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.communications-centre-page .role-heading { align-items: stretch; flex-direction: column; }
.communications-centre-page .role-heading .heading-actions { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
.communications-filter { margin-bottom: 16px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.communications-filter .mini-search { max-width: 430px; }
.communications-filter > span { color: var(--text-soft); font-size: 12px; font-weight: 700; }
.communications-grid { display: grid; grid-template-columns: minmax(330px,.72fr) minmax(0,1.28fr); gap: 18px; align-items: start; }
.notification-rule { width: 100%; min-height: 64px; padding: 8px 0; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 36px 1fr auto auto; gap: 9px; align-items: center; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.notification-rule:hover { background: #fbfcff; }
.notification-rule__icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.notification-rule__icon--1 { color: #9a5e00; background: var(--utiva-yellow-soft); }
.notification-rule__icon--2 { color: var(--success); background: #e8f7f1; }
.notification-rule strong, .notification-rule small { display: block; }
.notification-rule > span:nth-child(2) { min-width: 0; }
.notification-rule strong { font-size: 12px; }
.notification-rule small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.campaign-panel { min-width: 0; }
.campaign-table__header, .campaign-table__row { display: grid; grid-template-columns: minmax(220px,1.2fr) 80px 80px 100px; gap: 12px; align-items: center; }
.campaign-table__header { min-height: 38px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 700; }
.campaign-table__row { width: 100%; min-height: 67px; border-top: 1px solid #edf0f7; background: transparent; text-align: left; cursor: pointer; }
.campaign-table__row:hover { background: #fbfcff; }
.campaign-table__row strong, .campaign-table__row small { display: block; }
.campaign-table__row strong { font-size: 12px; }
.communications-empty { min-height: 100px; display: flex; align-items: center; flex-direction: column; justify-content: center; color: var(--text-soft); text-align: center; }
.communications-empty p { margin: 7px 0 0; font-size: 12px; }
.communication-campaign-detail { width: min(700px,100%); }
.communication-campaign-metrics { margin: 16px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.communication-campaign-metrics > div { min-height: 72px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.communication-campaign-metrics span, .communication-campaign-metrics strong { display: block; }
.communication-campaign-metrics span { color: var(--text-soft); font-size: 12px; }
.communication-campaign-metrics strong { margin-top: 6px; color: var(--utiva-blue); font-size: 16px; }
.delivery-reconciliation { min-height: 70px; margin-bottom: 16px; padding: 12px 16px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(220px,.6fr); gap: 16px; align-items: center; background: #fff; box-shadow: var(--shadow-soft); }
.delivery-reconciliation > div { min-width: 0; display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); }
.delivery-reconciliation p { margin: 0; }
.delivery-reconciliation strong, .delivery-reconciliation small { display: block; }
.delivery-reconciliation strong { color: var(--text); font-size: 13px; }
.delivery-reconciliation small { margin-top: 3px; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.delivery-failure-register { overflow: hidden; }
.delivery-failure-heading { min-width: 0; padding: 14px 19px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.delivery-failure-heading h2 { margin: 3px 0 0; font-size: 14px; }
.delivery-failure-heading > span { color: var(--text-soft); font-size: 13px; font-weight: 700; text-align: right; }
.delivery-failure-table { width: 100%; min-width: 0; }
.delivery-failure-table__header, .delivery-failure-table__row { display: grid; grid-template-columns: minmax(205px,1.15fr) minmax(145px,.85fr) minmax(170px,1fr) 120px 70px 48px; gap: 10px; align-items: center; }
.delivery-failure-table__header { min-height: 42px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.delivery-failure-table__row { min-height: 82px; padding: 10px 19px; border-top: 1px solid #edf0f7; }
.delivery-failure-table__row:hover { background: #fbfcff; }
.delivery-failure-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.delivery-failure-table__row strong, .delivery-failure-table__row small { display: block; overflow-wrap: anywhere; }
.delivery-failure-table__row strong { color: var(--text); font-size: 13px; }
.delivery-failure-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.delivery-failure-detail { width: min(700px,100%); }
.delivery-failure-detail .order-detail__hero > div { min-width: 0; }
.delivery-failure-detail .order-detail__hero h2,
.delivery-failure-detail .order-detail__hero p { overflow-wrap: anywhere; }
.delivery-failure-reason { margin: 15px 0; padding: 14px; border-radius: 11px; display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; color: var(--danger); background: #fff0f1; }
.delivery-failure-reason strong { font-size: 13px; }
.delivery-failure-reason p { margin: 3px 0 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.delivery-action-guidance { padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.delivery-action-guidance > strong { display: block; margin: 4px 0; font-size: 13px; }
.delivery-action-guidance > p:last-child { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.report-directory-register { overflow: hidden; }
.report-directory-table { width: 100%; min-width: 0; }
.report-directory-table__header, .report-directory-table__row { display: grid; grid-template-columns: minmax(220px,1.35fr) 100px 100px 110px 130px 90px 44px; gap: 10px; align-items: center; }
.report-directory-table__header { min-height: 44px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 700; }
.report-directory-table__row { min-height: 78px; padding: 9px 19px; border-top: 1px solid #edf0f7; }
.report-directory-table__row:hover { background: #fbfcff; }
.report-directory-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.report-directory-table__row > span strong, .report-directory-table__row > span small { display: block; overflow-wrap: anywhere; }
.report-directory-table__row > span strong { color: var(--text); font-size: 13px; }
.report-directory-table__row > span small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.report-directory-detail { width: min(720px,100%); }
.report-directory-detail .order-detail__hero > div { min-width: 0; }
.report-directory-detail .order-detail__hero h2,
.report-directory-detail .order-detail__hero p { overflow-wrap: anywhere; }
.report-directory-facts { margin: 16px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.report-directory-facts > div { min-height: 70px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.report-directory-facts span, .report-directory-facts strong { display: block; }
.report-directory-facts span { color: var(--text-soft); font-size: 13px; }
.report-directory-facts strong { margin-top: 5px; font-size: 13px; overflow-wrap: anywhere; }
.report-evidence-sources { margin-bottom: 14px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; }
.report-evidence-sources > div { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 7px; }
.report-evidence-sources span { padding: 7px 9px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--success); background: #e8f7f1; font-size: 13px; font-weight: 700; }
.report-browser-viewer { width: min(780px,100%); }
.report-browser-summary { margin: 16px 0; display: grid; grid-template-columns: 1.2fr .5fr 1fr; gap: 8px; }
.report-browser-summary > div { min-height: 68px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.report-browser-summary span, .report-browser-summary strong { display: block; }
.report-browser-summary span { color: var(--text-soft); font-size: 13px; }
.report-browser-summary strong { margin-top: 5px; font-size: 13px; overflow-wrap: anywhere; }
.report-browser-table { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; }
.report-browser-table > div { min-height: 43px; padding: 8px 11px; display: grid; grid-template-columns: minmax(180px,1.3fr) 92px 92px 92px; gap: 10px; align-items: center; border-top: 1px solid #edf0f7; }
.report-browser-table > div:first-child { border-top: 0; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .7px; }
.report-browser-table span { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.report-builder-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(320px,.72fr); gap: 16px; align-items: start; }
.report-builder-layout > main, .report-builder-layout > aside { min-width: 0; display: grid; gap: 16px; }
.report-builder-layout > aside { position: sticky; top: 78px; }
.report-builder-step, .report-output-card, .report-preview-card { min-width: 0; padding: 18px; }
.report-builder-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.report-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.report-field-grid > label { min-height: 72px; padding: 11px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 9px; align-items: center; cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.report-field-grid > label:hover, .report-field-grid > label.is-selected { border-color: #adb9ed; background: #f8f9ff; }
.report-field-grid > label.is-restricted { cursor: not-allowed; background: #f6f7fa; opacity: .75; }
.report-field-grid input { position: absolute; opacity: 0; pointer-events: none; }
.report-field-grid label > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.report-field-grid label.is-restricted > span { color: var(--text-soft); background: #e9ebf0; }
.report-field-grid p { min-width: 0; margin: 0; }
.report-field-grid strong, .report-field-grid small { display: block; }
.report-field-grid strong { font-size: 13px; }
.report-field-grid small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.35; }
.report-field-grid em { color: var(--text-soft); font-size: 11px; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; }
.report-format-options { margin: 12px 0; display: grid; gap: 7px; }
.report-format-options button { min-height: 52px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; color: var(--text); background: #fff; text-align: left; cursor: pointer; }
.report-format-options button:hover, .report-format-options button.is-selected { border-color: var(--utiva-blue); background: #f7f8ff; }
.report-format-options button > svg { color: var(--utiva-blue); }
.report-format-options strong, .report-format-options small { display: block; }
.report-format-options strong { font-size: 13px; }
.report-format-options small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.report-authorisation-note { margin-top: 13px; padding: 12px; border-radius: 11px; display: grid; grid-template-columns: 26px 1fr; gap: 8px; color: var(--success); background: #eaf8f2; }
.report-authorisation-note p { margin: 0; }
.report-authorisation-note strong, .report-authorisation-note small { display: block; }
.report-authorisation-note strong { color: var(--text); font-size: 13px; }
.report-authorisation-note small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.report-preview-card .section-heading > span { color: var(--text-soft); font-size: 13px; font-weight: 700; }
.report-preview-meta { margin: 10px 0; display: flex; flex-wrap: wrap; gap: 6px; }
.report-preview-meta span { padding: 5px 7px; border-radius: 7px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.report-preview-table { margin-bottom: 10px; overflow: hidden; border: 1px solid var(--border); border-radius: 10px; }
.report-preview-table > div { min-width: 0; min-height: 40px; padding: 7px 9px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; align-items: center; border-top: 1px solid #edf0f7; }
.report-preview-table > div:first-child { border-top: 0; background: var(--surface-soft); }
.report-preview-table strong { color: var(--text-soft); font-size: 11px; line-height: 1.3; text-transform: uppercase; letter-spacing: .5px; overflow-wrap: anywhere; }
.report-preview-table span { min-width: 0; color: var(--text); font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.report-preview-more { margin: 0 0 11px; color: var(--text-soft); font-size: 13px; font-weight: 700; }
.report-definition-receipt { margin-bottom: 10px; padding: 10px; border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--success); background: #e8f7f1; }
.report-definition-receipt p { margin: 0; }
.report-definition-receipt strong, .report-definition-receipt small { display: block; }
.report-definition-receipt strong { color: var(--text); font-size: 13px; }
.report-definition-receipt small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.report-generated-state { margin-bottom: 11px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 25px 1fr; gap: 8px; color: var(--success); background: #e8f7f1; }
.report-generated-state p { margin: 0; }
.report-generated-state strong, .report-generated-state small { display: block; }
.report-generated-state strong { color: var(--text); font-size: 13px; overflow-wrap: anywhere; }
.report-generated-state small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.report-schedule-register { overflow: hidden; }
.report-schedule-heading { min-width: 0; padding: 17px 19px 12px; }
.report-schedule-table { width: 100%; min-width: 0; }
.report-schedule-table__header, .report-schedule-table__row { display: grid; grid-template-columns: minmax(175px,1.35fr) 95px 85px 70px 105px 115px 70px 40px; gap: 10px; align-items: center; }
.report-schedule-table__header { min-height: 42px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .9px; }
.report-schedule-table__header > span { min-width: 0; overflow-wrap: anywhere; }
.report-schedule-table__row { min-height: 82px; padding: 9px 19px; border-top: 1px solid #edf0f7; }
.report-schedule-table__row:hover { background: #fbfcff; }
.report-schedule-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.report-schedule-table__row strong, .report-schedule-table__row small { display: block; overflow-wrap: anywhere; }
.report-schedule-table__row strong { color: var(--text); font-size: 13px; }
.report-schedule-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.report-schedule-editor { width: min(760px,100%); }
.report-schedule-form { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.report-schedule-form textarea { min-height: 70px; padding: 10px; resize: vertical; font: 500 13px/1.5 Poppins,Arial,sans-serif; }
.report-schedule-form .form-field > small { margin-top: 5px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.report-schedule-form .form-field > small.field-error { color: var(--danger); }
.report-schedule-run-state { margin: 14px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.report-schedule-run-state > div { min-height: 64px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.report-schedule-run-state span, .report-schedule-run-state strong { display: block; }
.report-schedule-run-state span { color: var(--text-soft); font-size: 13px; }
.report-schedule-run-state strong { margin-top: 5px; font-size: 13px; overflow-wrap: anywhere; }
.report-test-evidence { margin-bottom: 12px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--success); background: #e8f7f1; }
.report-test-evidence p { margin: 0; }
.report-test-evidence strong, .report-test-evidence small { display: block; }
.report-test-evidence strong { color: var(--text); font-size: 13px; }
.report-test-evidence small { margin-top: 3px; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.report-failure-toggle { margin: 0 0 15px; padding: 12px; border: 1px solid var(--border); border-radius: 11px; }
.audit-integrity-strip { min-height: 82px; margin-bottom: 16px; padding: 12px 16px; border: 1px solid #dfe5f2; border-radius: 14px; display: grid; grid-template-columns: repeat(3,1fr); background: #fff; box-shadow: var(--shadow-soft); }
.audit-integrity-strip > div { padding: 0 15px; border-left: 1px solid #edf0f7; display: grid; grid-template-columns: 32px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); }
.audit-integrity-strip > div:first-child { border-left: 0; }
.audit-integrity-strip p { margin: 0; }
.audit-integrity-strip strong, .audit-integrity-strip small { display: block; }
.audit-integrity-strip strong { color: var(--text); font-size: 13px; }
.audit-integrity-strip small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.audit-register { overflow: visible; }
.audit-log-page .toolbar-actions .select-control { min-height: 48px; padding-block: 5px; display: grid; gap: 1px; }
.audit-log-page .toolbar-actions .select-control > span { color: #7b8294; text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.audit-register-table { min-width: 0; }
.audit-register-table__header, .audit-register-table__row { display: grid; grid-template-columns: 128px 112px minmax(190px,1.35fr) 78px 132px 72px 44px; gap: 9px; align-items: center; }
.audit-register-table__header { min-height: 42px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .9px; }
.audit-register-table__row { min-height: 82px; padding: 9px 19px; border-top: 1px solid #edf0f7; }
.audit-register-table__row:hover { background: #fbfcff; }
.audit-register-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.audit-register-table__row strong, .audit-register-table__row small { display: block; overflow-wrap: anywhere; }
.audit-register-table__row strong { color: var(--text); font-size: 13px; }
.audit-register-table__row small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.audit-register-table__row > .text-button { min-width: 40px; min-height: 40px; justify-content: center; }
.audit-event-detail { width: min(760px,100%); }
.audit-event-facts { margin: 16px 0; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.audit-event-facts > div { min-height: 72px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.audit-event-facts span, .audit-event-facts strong, .audit-event-facts small { display: block; }
.audit-event-facts span { color: var(--text-soft); font-size: 13px; }
.audit-event-facts strong { margin-top: 5px; font-size: 13px; }
.audit-event-facts small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.audit-event-facts strong, .audit-event-facts small { overflow-wrap: anywhere; }
.audit-event-description { margin-bottom: 12px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; color: var(--utiva-blue); }
.audit-event-description strong { color: var(--text); font-size: 13px; }
.audit-event-description p { margin: 4px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.audit-immutability-note { margin-bottom: 14px; padding: 12px; border-radius: 11px; display: grid; grid-template-columns: 26px 1fr; gap: 8px; color: var(--success); background: #e9f8f2; }
.audit-immutability-note p { margin: 0; }
.audit-immutability-note strong, .audit-immutability-note small { display: block; }
.audit-immutability-note strong { color: var(--text); font-size: 13px; }
.audit-immutability-note small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.setup-shortcuts { margin-bottom: 22px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.setup-shortcuts > button { min-height: 92px; padding: 16px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 42px minmax(0,1fr) 20px; gap: 12px; align-items: center; color: var(--text); background: #fff; box-shadow: var(--shadow-soft); text-align: left; cursor: pointer; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.setup-shortcuts > button:hover { border-color: #aeb9ee; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(3,4,95,.1); }
.setup-shortcuts > button > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.setup-shortcuts strong, .setup-shortcuts small { display: block; }
.setup-shortcuts strong { font-size: 15px; }
.setup-shortcuts small { margin-top: 4px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.setup-shortcuts > button > svg { color: var(--text-soft); }
.setup-connections-heading { margin: 3px 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.setup-connections-heading h2 { margin: 3px 0 0; font-size: 19px; }
.setup-connections-heading .heading-actions { display: flex; gap: 9px; }
.integration-register { padding: 18px; }
.integration-register .catalogue-toolbar { padding: 0 0 14px; }
.integration-register .catalogue-toolbar h2 { margin: 3px 0 0; font-size: 16px; }
.integration-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.integration-grid > article { padding: 14px; border: 1px solid var(--border); border-radius: 13px; background: #fff; }
.integration-icon { width: 38px; height: 38px; margin-bottom: 12px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.integration-icon--payments { color: #087b57; background: #e8f7f1; }
.integration-icon--collaboration { color: #6651b7; background: #f0edff; }
.integration-icon--hris { color: #b06b00; background: #fff5dc; }
.integration-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.integration-card-heading small { color: var(--text-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .7px; }
.integration-card-heading h3 { margin: 3px 0 0; font-size: 14px; }
.integration-grid > article > p { min-height: 30px; margin: 8px 0 12px; color: var(--text-soft); font-size: 13px; }
.integration-facts { margin-bottom: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.integration-facts span { min-height: 52px; padding: 8px; border-radius: 8px; background: #f8f9fc; }
.integration-facts strong, .integration-facts small { display: block; }
.integration-facts strong { font-size: 13px; }
.integration-facts small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.integration-editor { width: min(780px,100%); }
.integration-auth-state { margin: 16px 0; padding: 12px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 30px 1fr auto; gap: 9px; align-items: center; color: var(--utiva-blue); background: #fbfcff; }
.integration-auth-state strong { color: var(--text); font-size: 13px; }
.integration-auth-state p { margin: 3px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.integration-event-section { margin: 14px 0; }
.integration-event-section h3 { margin: 4px 0 10px; font-size: 14px; }
.integration-event-section > div { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.integration-event-section label { min-height: 38px; padding: 8px; border: 1px solid var(--border); border-radius: 8px; display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: center; cursor: pointer; }
.integration-event-section label.is-selected { border-color: #abb8ed; background: #f7f8ff; }
.integration-event-section input { position: absolute; opacity: 0; }
.integration-event-section label > span { width: 18px; height: 18px; border: 1px solid #cad2e4; border-radius: 5px; display: grid; place-items: center; color: #fff; }
.integration-event-section label.is-selected > span { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.integration-event-section strong { font-size: 13px; overflow-wrap: anywhere; }
.integration-policy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; align-items: stretch; }
.integration-policy-grid .builder-switch { margin: 0; padding: 9px 11px; border: 1px solid var(--border); border-radius: 9px; }
.integration-monitor-state { margin: 13px 0; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 26px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--surface-soft); }
.integration-monitor-state p { margin: 0; }
.integration-monitor-state strong, .integration-monitor-state small { display: block; }
.integration-monitor-state strong { color: var(--text); font-size: 13px; }
.integration-monitor-state small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.integration-create { width: min(620px,100%); }
.api-client-register { overflow: hidden; }
.api-client-table { width: 100%; }
.api-client-row { width: 100%; min-height: 76px; padding: 11px 19px; border: 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: minmax(200px,1.3fr) minmax(135px,.8fr) minmax(160px,1fr) minmax(110px,.65fr) 90px 20px; gap: 12px; align-items: center; color: var(--text-soft); background: #fff; text-align: left; }
.api-client-row:hover { background: #fbfcff; }
.api-client-row--head { min-height: 46px; border-top: 0; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 800; }
.api-client-row > span { min-width: 0; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.api-client-row > span:first-child strong, .api-client-row > span:first-child small { display: block; }
.api-client-row > span:first-child strong { color: var(--text); font-size: 13px; }
.api-client-row > span:first-child small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.api-client-row > svg { color: var(--text-soft); }
.api-client-detail, .api-usage-log { width: min(680px,100%); }
.api-client-issue { width: min(720px,100%); }
.api-client-scope-section { margin: 15px 0; }
.api-client-scope-section > div { margin-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.api-client-scope-section label { min-height: 42px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 8px; align-items: center; cursor: pointer; }
.api-client-scope-section label.is-selected { border-color: #abb8ed; background: #f7f8ff; }
.api-client-scope-section input { position: absolute; opacity: 0; }
.api-client-scope-section label > span { width: 18px; height: 18px; border: 1px solid #cad2e4; border-radius: 5px; display: grid; place-items: center; color: #fff; }
.api-client-scope-section label.is-selected > span { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.api-client-scope-section strong { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.api-usage-list { margin: 15px 0; display: grid; gap: 8px; }
.api-usage-list article { padding: 11px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; align-items: start; background: #fbfcff; }
.api-usage-list article > span { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.api-usage-list p { margin: 0; }
.api-usage-list strong, .api-usage-list small, .api-usage-list em { display: block; overflow-wrap: anywhere; }
.api-usage-list strong { font-size: 13px; }
.api-usage-list small, .api-usage-list em { margin-top: 3px; color: var(--text-soft); font-size: 13px; font-style: normal; line-height: 1.45; }
.system-scope-switch { margin-bottom: 16px; padding: 15px 18px; display: grid; grid-template-columns: 34px minmax(220px,1fr) 220px 220px; gap: 12px; align-items: end; color: var(--utiva-blue); }
.system-scope-switch > div:first-child { grid-column: 1 / 3; display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; }
.system-scope-switch h2 { margin: 3px 0 0; color: var(--text); font-size: 15px; }
.system-record-meta { display: block; margin-top: 4px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.system-settings-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: 16px; align-items: start; }
.system-settings-grid > main, .system-settings-grid > aside { display: grid; gap: 16px; }
.system-setting-card { padding: 18px; }
.system-setting-card .section-heading > svg { color: var(--utiva-blue); }
.system-setting-card .builder-switch { margin: 12px 0 0; padding: 11px; border: 1px solid var(--border); border-radius: 10px; }
.system-setting-card .form-field > small { margin-top: 5px; color: var(--text-soft); font-size: 13px; }
.field-error { color: var(--danger) !important; }
.setting-version-card, .setting-scope-note { padding: 15px; display: grid; grid-template-columns: 28px 1fr; gap: 9px; color: var(--utiva-blue); }
.setting-version-card h2 { margin: 3px 0; color: var(--text); font-size: 15px; }
.setting-version-card p { margin: 4px 0 8px; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.setting-scope-note { border-color: #d8e8e2; background: #f1fbf7; }
.setting-scope-note p { margin: 0; }
.setting-scope-note strong, .setting-scope-note small { display: block; }
.setting-scope-note strong { color: var(--text); font-size: 13px; }
.setting-scope-note small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.system-history-detail { width: min(680px,100%); }
.system-version-list { margin: 14px 0; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.system-version-list > div { min-height: 62px; padding: 10px 12px; border-top: 1px solid var(--border); display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 10px; align-items: center; }
.system-version-list > div:first-child { border-top: 0; }
.system-version-list > div > span { min-height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 13px; font-weight: 800; }
.system-version-list p { margin: 0; }
.system-version-list strong, .system-version-list small { display: block; overflow-wrap: anywhere; }
.system-version-list strong { color: var(--text); font-size: 13px; }
.system-version-list small { margin-top: 4px; color: var(--text-soft); font-size: 13px; }
.privacy-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); gap: 16px; align-items: start; }
.privacy-layout > main, .privacy-layout > aside { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.privacy-retention, .privacy-requests, .consent-evidence-card { min-width: 0; padding: 18px; }
.privacy-retention-row { min-height: 68px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(0,1fr) 145px 75px; gap: 10px; align-items: center; }
.privacy-retention-row strong, .privacy-retention-row small { display: block; }
.privacy-retention-row strong { font-size: 13px; }
.privacy-retention-row small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.privacy-policy-meta { display: block; margin-top: 4px; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.privacy-policy-actions { padding-top: 12px; border-top: 1px solid #edf0f7; display: flex; justify-content: flex-end; gap: 8px; }
.privacy-legal-note { margin-top: 12px; padding: 12px; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--surface-soft); }
.privacy-legal-note p { margin: 0; }
.privacy-legal-note strong, .privacy-legal-note small { display: block; }
.privacy-legal-note strong { color: var(--text); font-size: 12px; }
.privacy-legal-note small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.privacy-request-table { width: 100%; max-width: 100%; overflow: visible; }
.privacy-request-table > div, .privacy-request-table > button { min-width: 0; min-height: 64px; padding: 0 10px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(150px,1.25fr) minmax(82px,.8fr) 90px 105px 20px; gap: 8px; align-items: center; color: var(--text); background: transparent; text-align: left; }
.privacy-request-table > div { min-height: 38px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.privacy-request-table > button { width: 100%; cursor: pointer; }
.privacy-request-table > button:hover { background: #fbfcff; }
.privacy-request-table strong, .privacy-request-table small { display: block; overflow-wrap: anywhere; }
.privacy-request-table strong { font-size: 13px; }
.privacy-request-table small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.consent-evidence-card > div { min-height: 45px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
.consent-evidence-card > div span { color: var(--text-soft); }
.consent-evidence-card .button { margin-top: 12px; }
.privacy-request-detail { width: min(760px,100%); }
.privacy-request-confirm { min-height: 48px; margin: 12px 0; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 9px; align-items: center; color: var(--text); font-size: 13px; font-weight: 650; cursor: pointer; }
.privacy-request-confirm input { width: 18px; height: 18px; accent-color: var(--utiva-blue); }
.privacy-request-evidence { margin: 12px 0; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: #fbfcff; }
.privacy-request-evidence > div { min-height: 36px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 7px; align-items: center; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.privacy-request-evidence > div svg { color: var(--utiva-blue); }
.privacy-consent-detail { width: min(620px,100%); }
.privacy-consent-list { margin: 14px 0; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.privacy-consent-list > div { min-height: 50px; padding: 9px 12px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 13px; }
.privacy-consent-list > div:first-child { border-top: 0; }
.privacy-consent-list span { color: var(--text-soft); }
.privacy-consent-list strong { max-width: 56%; text-align: right; overflow-wrap: anywhere; }
.privacy-page .heading-actions .select-control { min-height: 48px; padding-block: 4px; display: grid; gap: 1px; }
.privacy-page .heading-actions .select-control > span { color: #7b8294; text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
.support-case-register { overflow: hidden; }
.support-case-table { width: 100%; }
.support-case-row { width: 100%; min-height: 78px; padding: 11px 18px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(210px,1.35fr) minmax(135px,.8fr) minmax(105px,.62fr) minmax(110px,.65fr) minmax(100px,.58fr) 90px 18px; gap: 11px; align-items: center; color: var(--text); background: #fff; text-align: left; }
.support-case-row--head { min-height: 44px; border-top: 0; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .7px; }
.support-case-row:not(.support-case-row--head):hover { background: #fbfcff; }
.support-case-row > span { min-width: 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.support-case-row strong, .support-case-row small { display: block; overflow-wrap: anywhere; }
.support-case-row strong { color: var(--text); font-size: 13px; }
.support-case-row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.support-case-row > svg { color: var(--text-soft); }
.support-case-detail { width: min(780px,100%); }
.support-case-controls { margin-bottom: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.support-case-history { padding: 13px; border: 1px solid var(--border); border-radius: 11px; }
.support-case-history > div { min-height: 46px; padding: 6px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 7px; align-items: center; color: var(--text-soft); font-size: 13px; }
.support-case-history > div svg { color: var(--utiva-blue); }
.support-case-history strong, .support-case-history small { display: block; overflow-wrap: anywhere; }
.support-case-history strong { color: var(--text); font-size: 13px; }
.support-case-history small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.support-note-modal, .support-reply-modal { width: min(620px,100%); }
.support-new-case { width: min(720px,100%); }
.support-note-modal textarea, .support-reply-modal textarea { min-height: 120px; padding: 11px; font: inherit; font-size: 13px; resize: vertical; }
.support-reply-proof { margin: 0 0 13px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.support-reply-proof p { margin: 0; }
.support-reply-proof strong, .support-reply-proof small { display: block; }
.support-reply-proof strong { font-size: 13px; }
.support-reply-proof small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-portal-hero { margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.client-portal-hero > div { display: flex; align-items: center; gap: 12px; }
.client-org-mark { width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); }
.client-portal-hero h1 { margin: 4px 0; font-size: clamp(23px,3vw,34px); color: var(--dark-blue); }
.client-portal-hero p { margin: 0; color: var(--text-soft); font-size: 12px; }
.client-boundary { margin-bottom: 14px; padding: 11px 14px; border: 1px solid #d8e8e2; border-radius: 11px; display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; color: var(--success); background: #f0faf6; }
.client-boundary p { margin: 0; }
.client-boundary strong, .client-boundary small { display: block; }
.client-boundary strong { color: var(--text); font-size: 12px; }
.client-boundary small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-boundary > span { color: var(--success); font-size: 12px; font-weight: 700; }
.client-portal-tabs { margin-bottom: 16px; }
.client-portal-overview { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 16px; }
.client-portal-overview > * { padding: 18px; }
.client-programme-row { min-height: 60px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 1fr auto 20px; gap: 10px; align-items: center; }
.client-programme-row strong, .client-programme-row small { display: block; }
.client-programme-row strong { font-size: 12px; }
.client-programme-row small, .client-programme-row > span:nth-child(2) { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-permission-card > div { min-height: 40px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 22px 1fr; gap: 7px; align-items: center; color: var(--text-soft); font-size: 12px; }
.client-permission-card > div.is-allowed { color: var(--success); }
.client-seat-panel, .client-enrolment-panel, .client-report-panel { padding: 18px; }
.client-seat-panel .progress { margin: 12px 0 16px; }
.client-seat-panel .mini-search { margin-bottom: 10px; }
.client-learner-table { overflow-x: auto; }
.client-learner-table > div { min-width: 760px; min-height: 56px; padding: 0 10px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 210px minmax(220px,1fr) 100px 80px; gap: 9px; align-items: center; font-size: 12px; }
.client-learner-table > div:first-child { min-height: 38px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.client-learner-table strong, .client-learner-table small { display: block; }
.client-learner-table small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.client-enrolment-row, .client-report-row { min-height: 66px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 34px 1fr auto auto; gap: 10px; align-items: center; }
.client-enrolment-row > span, .client-report-row > span:first-child { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.client-enrolment-row p, .client-report-row p { margin: 0; }
.client-enrolment-row strong, .client-enrolment-row small, .client-report-row strong, .client-report-row small { display: block; }
.client-enrolment-row strong, .client-report-row strong { font-size: 12px; }
.client-enrolment-row small, .client-report-row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-portal-topbar__scope strong, .client-portal-topbar__scope small, .client-portal-topbar__profile strong, .client-portal-topbar__profile small { font-size: 13px; }
.client-portal-topbar__actions .text-button { min-height: 40px; font-size: 13px; }
.client-portal-hero > div, .client-portal-hero > div > div { min-width: 0; }
.client-portal-hero p, .client-boundary strong, .client-boundary small, .client-boundary > span { font-size: 13px; }
.client-programme-row { width: 100%; padding: 0; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.client-programme-row strong, .client-programme-row small, .client-programme-row > span:nth-child(2), .client-permission-card > div, .client-enrolment-row strong, .client-enrolment-row small, .client-report-row strong, .client-report-row small { font-size: 13px; }
.client-learner-toolbar { margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
.client-learner-toolbar .mini-search { min-width: 0; margin: 0; flex: 1; }
.client-learner-table { overflow: visible; }
.client-learner-table > .client-learner-row { min-width: 0; }
.client-learner-row { width: 100%; min-height: 58px; padding: 0 10px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 210px minmax(180px,1fr) 110px 75px 18px; gap: 10px; align-items: center; color: var(--text); background: transparent; font-size: 13px; text-align: left; }
.client-learner-row:not(.client-learner-row--head) { cursor: pointer; }
.client-learner-row--head { min-height: 40px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.client-learner-row > * { min-width: 0; overflow-wrap: anywhere; }
.client-learner-row strong, .client-learner-row small { display: block; }
.client-learner-row strong { font-size: 13px; }
.client-learner-row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.client-learner-row > svg { color: var(--text-soft); }
.client-learner-detail, .client-report-detail, .client-invite-modal, .client-assignment-modal, .client-report-create, .client-support-modal { width: min(680px,100%); }
.client-support-modal textarea { min-height: 120px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; font: 500 13px/1.55 Poppins,Arial,sans-serif; resize: vertical; }
.client-learner-detail h2, .client-report-detail h2 { overflow-wrap: anywhere; }
.government-contract-scope { margin-bottom: 16px; padding: 14px 17px; display: grid; grid-template-columns: minmax(260px,1fr) 260px 220px; gap: 12px; align-items: end; }
.government-contract-scope > div { display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); }
.government-contract-scope p { margin: 0; }
.government-contract-scope strong, .government-contract-scope small { display: block; }
.government-contract-scope strong { color: var(--text); font-size: 12px; }
.government-contract-scope small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.government-indicator-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.government-indicator-grid > button { min-height: 116px; padding: 14px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 36px 1fr; gap: 9px; align-items: start; color: var(--text); background: #fff; text-align: left; box-shadow: var(--shadow-soft); cursor: pointer; }
.government-indicator-icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.government-indicator-grid p { margin: 0; }
.government-indicator-grid small, .government-indicator-grid strong, .government-indicator-grid em { display: block; }
.government-indicator-grid small { color: var(--text-soft); font-size: 12px; }
.government-indicator-grid strong { margin-top: 3px; font-size: 22px; }
.government-indicator-grid em { margin-top: 2px; color: var(--text-soft); font-size: 12px; font-style: normal; }
.government-indicator-grid .health-pill { grid-column: 2; width: fit-content; }
.government-outcomes-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); gap: 16px; align-items: start; }
.government-outcomes-layout > main, .government-outcomes-layout > aside { min-width: 0; display: grid; gap: 16px; }
.government-outcomes-layout > main > *, .government-outcomes-layout > aside > * { min-width: 0; }
.government-cohort-panel, .government-demographic-panel, .indicator-definition-panel { padding: 18px; }
.government-cohort-table { width: 100%; max-width: 100%; overflow-x: auto; }
.government-cohort-table > div { min-width: 620px; min-height: 54px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(210px,1fr) 90px 90px 80px 100px; gap: 8px; align-items: center; font-size: 12px; }
.government-cohort-table > div:first-child { min-height: 36px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.demographic-bars { display: grid; gap: 10px; }
.demographic-bars > div { display: grid; grid-template-columns: 110px 1fr 70px; gap: 9px; align-items: center; font-size: 12px; }
.demographic-bars > div > div { height: 8px; border-radius: 999px; overflow: hidden; background: #e9edf6; }
.demographic-bars i { height: 100%; display: block; border-radius: inherit; background: var(--utiva-blue); }
.indicator-definition-panel > button { width: 100%; min-height: 54px; padding: 8px 0; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 12px 1fr 18px; gap: 8px; align-items: center; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.indicator-definition-panel p { margin: 0; }
.indicator-definition-panel strong, .indicator-definition-panel small { display: block; }
.indicator-definition-panel strong { font-size: 12px; }
.indicator-definition-panel small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.government-contract-scope strong, .government-contract-scope small, .government-indicator-grid small, .government-indicator-grid em, .indicator-definition-panel strong, .indicator-definition-panel small { font-size: 13px; }
.government-indicator-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.government-indicator-grid > button { min-width: 0; }
.government-cohort-table { overflow: visible; }
.government-cohort-table > .government-cohort-row { min-width: 0; grid-template-columns: minmax(135px,1.5fr) 78px 82px 78px 98px; font-size: 13px; }
.government-cohort-row > * { min-width: 0; overflow-wrap: anywhere; }
.government-cohort-row--head { font-size: 12px !important; }
.demographic-bars > div { grid-template-columns: 120px minmax(70px,1fr) 100px; font-size: 13px; }
.demographic-bars strong { text-align: right; }
.government-export-proof { margin: -4px 0 16px; padding: 11px 14px; border: 1px solid #cbd5ff; border-radius: 11px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; align-items: center; color: var(--utiva-blue); background: #f6f8ff; }
.government-export-proof p, .government-evidence-proof p { margin: 0; }
.government-export-proof strong, .government-export-proof small { display: block; }
.government-export-proof strong { font-size: 13px; }
.government-export-proof small { margin-top: 2px; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.government-proposal-count { margin-top: 10px; padding: 10px; border-radius: 9px; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 7px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.government-proposal-count strong, .government-proposal-count small { display: block; }
.government-proposal-count strong { font-size: 13px; }
.government-proposal-count small { color: var(--text-soft); font-size: 12px; }
.government-indicator-detail, .government-proposal-modal { width: min(680px,100%); }
.government-indicator-detail h2 { overflow-wrap: anywhere; }
.government-evidence-proof { margin-top: 13px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.government-evidence-proof > p { margin-bottom: 9px; }
.government-evidence-proof p strong, .government-evidence-proof p small { display: block; }
.government-evidence-proof p strong { font-size: 13px; }
.government-evidence-proof p small, .government-evidence-proof > small { color: var(--text-soft); font-size: 12px; }
.government-evidence-proof > div { min-height: 40px; padding: 7px 0; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 13px; }
.government-evidence-proof > div span { color: var(--text-soft); }
.government-evidence-proof > div strong { max-width: 70%; text-align: right; overflow-wrap: anywhere; }
.government-evidence-proof > small { display: block; margin-top: 9px; }
.government-proposal-modal textarea { min-height: 120px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; font: 500 13px/1.55 Poppins,Arial,sans-serif; resize: vertical; }
.recovery-objectives { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.recovery-objectives > div { min-height: 106px; padding: 15px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: start; background: #fff; box-shadow: var(--shadow-soft); }
.recovery-objectives > div > span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.recovery-objectives p { margin: 0; }
.recovery-objectives small, .recovery-objectives strong, .recovery-objectives em { display: block; }
.recovery-objectives small { color: var(--text-soft); font-size: 12px; font-weight: 600; }
.recovery-objectives strong { margin: 4px 0 2px; font-size: 19px; }
.recovery-objectives em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.recovery-test-banner { margin-bottom: 16px; padding: 13px 15px; border: 1px solid #f2d78c; border-radius: 12px; display: grid; grid-template-columns: 30px 1fr auto; gap: 9px; align-items: center; color: #8a5b00; background: #fff9e8; }
.recovery-test-banner p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; }
.recovery-monitoring { margin-bottom: 16px; padding: 11px 14px; border: 1px solid #bfe8d7; border-radius: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #f1fbf7; }
.recovery-monitoring > div { display: flex; align-items: center; gap: 10px; }
.recovery-monitoring > div > span { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--success); background: #fff; }
.recovery-monitoring p { margin: 0; }
.recovery-monitoring strong, .recovery-monitoring small { display: block; }
.recovery-monitoring strong { font-size: 12px; }
.recovery-monitoring small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.recovery-monitoring--attention { border-color: #f2d78c; background: #fff9e8; }
.recovery-monitoring--attention > div > span { color: #8a5b00; }
.recovery-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 16px; align-items: start; }
.recovery-layout > main, .recovery-layout > aside { min-width: 0; display: grid; gap: 16px; }
.recovery-layout > main > *, .recovery-layout > aside > * { min-width: 0; }
.recovery-assets, .recovery-tests, .recovery-runbook, .recovery-ownership { padding: 18px; }
.recovery-table { width: 100%; max-width: 100%; overflow-x: auto; }
.recovery-row { width: 100%; min-width: 760px; min-height: 58px; padding: 0 8px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(210px,1.3fr) 115px 120px 80px 80px; gap: 9px; align-items: center; color: var(--text); background: transparent; font: inherit; font-size: 12px; text-align: left; }
button.recovery-row { cursor: pointer; }
button.recovery-row:hover { background: #f8f9ff; }
.recovery-row--head { min-height: 36px; color: var(--text-soft); background: var(--surface-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.recovery-row strong, .recovery-row small { display: block; }
.recovery-row small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.recovery-tests article { min-height: 59px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 28px minmax(0,1fr) 70px 70px; gap: 9px; align-items: center; }
.recovery-tests article > span:first-child { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.recovery-tests article p { margin: 2px 0 0; color: var(--text-soft); font-size: 12px; }
.recovery-tests article strong { font-size: 12px; }
.recovery-tests article em { color: var(--text-soft); font-size: 12px; font-style: normal; }
.recovery-runbook > div { min-height: 67px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; }
.recovery-runbook > div > span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.recovery-runbook p, .recovery-ownership p { margin: 0; }
.recovery-runbook strong, .recovery-runbook small { display: block; }
.recovery-runbook strong { font-size: 12px; }
.recovery-runbook small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.recovery-ownership > div { min-height: 43px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 9px; font-size: 12px; }
.recovery-ownership > div span { color: var(--text-soft); }
.recovery-ownership > p { margin-top: 11px; padding: 10px; border-radius: 9px; display: flex; gap: 7px; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; line-height: 1.45; }
.recovery-detail { width: min(650px,calc(100vw - 30px)); }
.recovery-objectives small, .recovery-objectives em, .recovery-monitoring strong, .recovery-monitoring small, .recovery-test-banner p, .recovery-row, .recovery-row strong, .recovery-row small, .recovery-tests article p, .recovery-tests article strong, .recovery-tests article em, .recovery-runbook strong, .recovery-runbook small, .recovery-ownership > div, .recovery-ownership > p { font-size: 13px; }
.recovery-table { overflow: visible; }
.recovery-table > .recovery-row { min-width: 0; grid-template-columns: minmax(145px,1.45fr) 92px 112px 70px 82px; gap: 8px; }
.recovery-row > * { min-width: 0; overflow-wrap: anywhere; }
.recovery-row--head { font-size: 12px !important; }
.recovery-test-banner > .health-pill { justify-self: end; }
.recovery-export-proof { margin: -4px 0 16px; padding: 11px 14px; border: 1px solid #cbd5ff; border-radius: 11px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; align-items: center; color: var(--utiva-blue); background: #f6f8ff; }
.recovery-export-proof p { margin: 0; }
.recovery-export-proof strong, .recovery-export-proof small { display: block; }
.recovery-export-proof strong { font-size: 13px; }
.recovery-export-proof small { margin-top: 2px; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.recovery-detail h2 { overflow-wrap: anywhere; }
.recovery-validation-proof { margin: 0 0 13px; padding: 11px; border-radius: 10px; display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 8px; align-items: center; color: var(--success); background: #f1fbf7; }
.recovery-validation-proof p { margin: 0; }
.recovery-validation-proof strong, .recovery-validation-proof small { display: block; }
.recovery-validation-proof strong { font-size: 13px; }
.recovery-validation-proof small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.recovery-history-proof { margin: 0 0 13px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.recovery-history-proof > div { min-height: 46px; padding: 7px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: minmax(145px,1fr) 120px minmax(120px,1fr); gap: 8px; align-items: center; font-size: 12px; }
.recovery-history-proof > div > * { min-width: 0; overflow-wrap: anywhere; }
.recovery-history-proof span, .recovery-history-proof small { color: var(--text-soft); }
.recovery-plan-modal, .recovery-validation-modal, .recovery-runbook-modal { width: min(680px,100%); }
.recovery-plan-modal textarea { min-height: 100px; padding: 11px; border: 1px solid var(--border); border-radius: 9px; font: 500 13px/1.55 Poppins,Arial,sans-serif; resize: vertical; }
.recovery-checklist { margin-bottom: 13px; display: grid; gap: 8px; }
.recovery-checklist label { min-height: 48px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 9px; align-items: center; cursor: pointer; }
.recovery-checklist input { position: absolute; opacity: 0; }
.recovery-checklist label > span { width: 20px; height: 20px; border: 1px solid var(--border); border-radius: 5px; display: grid; place-items: center; color: transparent; }
.recovery-checklist input:checked + span { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); }
.recovery-checklist strong { font-size: 13px; }
.recovery-runbook-detail { display: grid; }
.recovery-runbook-detail > div { min-height: 64px; padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; align-items: center; }
.recovery-runbook-detail > div > span { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.recovery-runbook-detail p { margin: 0; }
.recovery-runbook-detail strong, .recovery-runbook-detail small { display: block; }
.recovery-runbook-detail strong { font-size: 13px; }
.recovery-runbook-detail small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.release-guardrails { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.release-guardrails > div { min-height: 76px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 31px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); background: #fff; box-shadow: var(--shadow-soft); }
.release-guardrails p { margin: 0; }
.release-guardrails strong, .release-guardrails small { display: block; }
.release-guardrails strong { color: var(--text); font-size: 13px; }
.release-guardrails small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.feature-flag-register { padding: 18px; }
.feature-flag-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.feature-flag-grid > button { min-height: 204px; padding: 15px; border: 1px solid var(--border); border-radius: 13px; color: var(--text); background: #fff; text-align: left; cursor: pointer; }
.feature-flag-grid > button:hover { border-color: #b9c3e8; box-shadow: var(--shadow-soft); }
.feature-flag-heading { display: grid; grid-template-columns: 35px 1fr auto; gap: 9px; align-items: center; }
.feature-flag-icon { width: 35px; height: 35px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.feature-flag-icon.is-paused { color: #9b5a12; background: #fff4db; }
.feature-flag-heading p, .feature-flag-description { margin: 0; }
.feature-flag-heading small, .feature-flag-heading strong { display: block; }
.feature-flag-heading small { color: var(--text-soft); font-size: 12px; }
.feature-flag-heading strong { margin-top: 3px; font-size: 13px; }
.feature-flag-description { min-height: 46px; padding: 12px 0 8px; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.feature-rollout > span { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; }
.feature-rollout small { color: var(--text-soft); }
.feature-rollout > div { height: 7px; margin-top: 7px; border-radius: 999px; overflow: hidden; background: #e9edf6; }
.feature-rollout i { height: 100%; display: block; border-radius: inherit; background: var(--utiva-blue); }
.feature-flag-grid footer { margin-top: 13px; padding-top: 11px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 1fr 1fr 18px; gap: 8px; align-items: center; color: var(--text-soft); font-size: 13px; }
.feature-flag-grid footer strong { display: block; margin-top: 2px; color: var(--text); }
.environment-summary { margin-top: 16px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.environment-summary > div { display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); }
.environment-summary p { margin: 0; }
.environment-summary strong, .environment-summary small { display: block; }
.environment-summary strong { color: var(--text); font-size: 13px; }
.environment-summary small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.feature-flag-detail { width: min(680px,calc(100vw - 30px)); }
.feature-rollout-control { margin-top: 16px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: minmax(190px,1fr) minmax(180px,1fr) 42px; gap: 12px; align-items: center; }
.feature-rollout-control strong, .feature-rollout-control small { display: block; }
.feature-rollout-control strong { font-size: 13px; }
.feature-rollout-control small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.feature-rollout-control input { width: 100%; accent-color: var(--utiva-blue); }
.feature-rollout-control em { color: var(--utiva-blue); font-size: 13px; font-style: normal; font-weight: 800; }
.feature-rollout-control.is-locked { background: #f6f7fb; }
.feature-flag-composer, .environment-comparison { width: min(720px,calc(100vw - 30px)); }
.flag-composer-proof { margin-top: 14px; padding: 11px 13px; border-radius: 11px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.flag-composer-proof p { margin: 0; }
.flag-composer-proof strong, .flag-composer-proof small { display: block; }
.flag-composer-proof strong { font-size: 13px; }
.flag-composer-proof small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.environment-comparison-grid { margin: 16px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.environment-comparison-grid article { min-height: 150px; padding: 16px; border: 1px solid var(--border); border-radius: 13px; background: #fff; }
.environment-comparison-grid article > span { color: var(--utiva-blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.environment-comparison-grid article > strong { display: block; margin-top: 7px; font-size: 20px; }
.environment-comparison-grid article p { min-height: 48px; margin: 7px 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.environment-comparison-grid article small { display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 13px; font-weight: 700; }
.modal-layer--nested { z-index: 110; }
.release-warning { margin-top: 10px; padding: 11px 13px; border: 1px solid #f0d9a9; border-radius: 10px; display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 8px; align-items: start; color: #9b5a12; background: #fffaf0; }
.release-warning p { margin: 0; }
.release-warning strong, .release-warning small { display: block; }
.release-warning strong { color: #68400b; font-size: 13px; }
.release-warning small { margin-top: 2px; color: #7d5a29; font-size: 13px; line-height: 1.45; }
.release-history { margin-top: 14px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; }
.release-history > div { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.release-history > div p { margin: 0; }
.release-history > div > span { color: var(--text-soft); font-size: 13px; font-weight: 700; }
.release-history article { min-height: 55px; padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 27px minmax(0,1fr) auto; gap: 8px; align-items: start; }
.release-history article > span { width: 27px; height: 27px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.release-history article p { margin: 0; }
.release-history article strong, .release-history article small { display: block; }
.release-history article strong { font-size: 13px; }
.release-history article small { margin-top: 2px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.release-history article time { color: var(--text-soft); font-size: 12px; font-weight: 600; white-space: nowrap; }
.release-history__empty { margin: 10px 0 0; color: var(--text-soft); font-size: 13px; }
.feature-flag-actions { flex-wrap: wrap; }
.button--danger-soft { color: #a82e3c; border-color: #efcbd1; background: #fff7f8; }
.release-confirm-modal { width: min(540px,calc(100vw - 30px)); }
.release-confirm-modal .form-field { margin-top: 14px; }
.release-comparison-history { margin: 0 0 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.release-comparison-history > div { min-height: 70px; padding: 13px; border-radius: 11px; display: flex; align-items: baseline; gap: 7px; background: var(--surface-soft); }
.release-comparison-history strong { color: var(--utiva-blue-dark); font-size: 20px; }
.release-comparison-history span { color: var(--text-soft); font-size: 13px; font-weight: 700; }
.notification-rule-summary { min-height: 72px; margin-bottom: 16px; padding: 11px 15px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; background: #fff; box-shadow: var(--shadow-soft); }
.notification-rule-summary > div { padding: 0 13px; border-left: 1px solid #edf0f7; display: grid; grid-template-columns: 32px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); }
.notification-rule-summary > div:first-child { border-left: 0; }
.notification-rule-summary p { margin: 0; }
.notification-rule-summary strong, .notification-rule-summary small { display: block; }
.notification-rule-summary strong { color: var(--text); font-size: 13px; }
.notification-rule-summary small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.notification-template-layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 16px; align-items: start; }
.notification-template-library { padding: 13px; position: sticky; top: 76px; }
.notification-template-library .mini-search { width: 100%; margin-bottom: 9px; }
.notification-library-count { min-height: 32px; padding: 0 6px 7px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--text-soft); font-size: 13px; font-weight: 600; }
.notification-library-count .text-button, .notification-library-empty .text-button { min-height: 32px; }
.notification-template-item { width: 100%; min-height: 92px; padding: 11px 9px; border: 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 7px 9px; align-items: start; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.notification-template-item:hover, .notification-template-item.is-active { background: #f8f9ff; }
.notification-template-item.is-active { box-shadow: inset 3px 0 var(--utiva-blue); }
.notification-template-item > span { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.notification-template-item p { min-width: 0; margin: 0; }
.notification-template-item strong, .notification-template-item small { display: block; overflow-wrap: anywhere; }
.notification-template-item strong { font-size: 13px; }
.notification-template-item small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.notification-template-item i { grid-column: 2; justify-self: start; font-style: normal; }
.notification-library-empty { min-height: 150px; padding: 24px 12px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--text-soft); text-align: center; }
.notification-library-empty strong { color: var(--text); font-size: 13px; }
.notification-template-workspace { min-width: 0; display: grid; gap: 16px; }
.notification-template-editor { padding: 18px; }
.notification-template-editor textarea { min-height: 96px; padding: 11px; font-family: inherit; font-size: 13px; resize: vertical; }
.notification-rule-map { margin-top: 15px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 9px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.notification-rule-map p { margin: 0; }
.notification-rule-map strong, .notification-rule-map small { display: block; }
.notification-rule-map strong { font-size: 13px; overflow-wrap: anywhere; }
.notification-rule-map small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.notification-rule-map label { min-height: 40px; display: flex; align-items: center; gap: 7px; color: var(--text); font-size: 13px; font-weight: 700; cursor: pointer; }
.notification-rule-map input { accent-color: var(--utiva-blue); }
.notification-test-receipt { margin-top: 12px; padding: 11px 13px; border: 1px solid #bce3ce; border-radius: 11px; display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 8px; align-items: center; color: var(--success); background: #f4fbf7; }
.notification-test-receipt p { min-width: 0; margin: 0; }
.notification-test-receipt strong, .notification-test-receipt small { display: block; overflow-wrap: anywhere; }
.notification-test-receipt strong { color: var(--text); font-size: 13px; }
.notification-test-receipt small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.notification-editor-actions { margin-top: 14px; display: flex; justify-content: flex-end; gap: 8px; }
.notification-governance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.notification-validation, .notification-version-history { padding: 16px; }
.notification-validation > div:not(.section-heading), .notification-version-history > div:not(.section-heading) { min-height: 40px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: center; color: #9b5a12; }
.notification-validation > div.is-complete { color: var(--success); }
.notification-validation > div > span, .notification-version-history > div > span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #eef1f7; }
.notification-validation > div.is-complete > span { color: #fff; background: var(--success); }
.notification-validation strong, .notification-version-history strong { min-width: 0; font-size: 13px; overflow-wrap: anywhere; }
.notification-version-history p { margin: 0; }
.notification-version-history small { display: block; margin-top: 2px; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.notification-test-modal { width: min(620px,100%); }
.notification-test-preview { margin-top: 14px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.notification-test-preview > strong { display: block; margin: 4px 0 8px; font-size: 13px; overflow-wrap: anywhere; }
.notification-test-preview > p:last-child { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.broadcast-register { overflow: hidden; }
.broadcast-result-count { color: var(--text-soft); font-size: 13px; font-weight: 700; white-space: nowrap; }
.broadcast-table { width: 100%; min-width: 0; }
.broadcast-table__header, .broadcast-table__row { display: grid; grid-template-columns: minmax(190px,1.35fr) minmax(105px,.72fr) minmax(76px,.42fr) minmax(126px,.78fr) minmax(66px,.38fr) minmax(76px,.42fr) 48px; gap: 12px; align-items: center; }
.broadcast-table__header { min-height: 44px; padding: 0 19px; color: var(--text-soft); background: var(--surface-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 700; }
.broadcast-table__row { min-height: 82px; padding: 10px 19px; border-top: 1px solid #edf0f7; }
.broadcast-table__row:hover { background: #fbfcff; }
.broadcast-table__row > span:not(.health-pill) { min-width: 0; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.broadcast-table__row > span strong, .broadcast-table__row > span small { display: block; overflow-wrap: anywhere; }
.broadcast-table__row > span strong { color: var(--text); font-size: 13px; }
.broadcast-table__row > span small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.broadcast-detail { width: min(700px,100%); }
.broadcast-message-preview { margin-top: 15px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; background: #fbfcff; }
.broadcast-message-preview > strong { display: block; margin: 4px 0 7px; font-size: 13px; overflow-wrap: anywhere; }
.broadcast-message-preview > p:last-child { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.broadcast-composer { width: min(720px,100%); }
.broadcast-composer textarea { min-height: 90px; padding: 11px; font-family: inherit; font-size: 13px; resize: vertical; }
.broadcast-composer .form-field > small { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.broadcast-composer .form-field > small.form-field__error { color: var(--risk); font-weight: 700; }
.broadcast-approval-proof { margin-top: 14px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.broadcast-approval-proof p { margin: 0; }
.broadcast-approval-proof strong, .broadcast-approval-proof small { display: block; }
.broadcast-approval-proof strong { font-size: 13px; overflow-wrap: anywhere; }
.broadcast-approval-proof small { margin-top: 3px; color: var(--text-soft); font-size: 13px; overflow-wrap: anywhere; }
.broadcast-detail .credential-governance small { display: block; margin-top: 4px; color: var(--text-soft); font-size: 12px; overflow-wrap: anywhere; }
.campaign-table__row small, .campaign-table__row > span { margin-top: 3px; color: var(--text-soft); font-size: 12px; }

/* Admin create flows */
.admin-modal { width: min(650px,100%); max-height: calc(100vh - 40px); padding: 27px; border-radius: 23px; overflow-y: auto; position: relative; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.28); animation: rise-in 220ms ease both; }
.admin-modal__close { position: absolute; right: 20px; top: 20px; }
.admin-modal__heading { padding-right: 45px; }
.admin-modal__heading > span { width: 38px; height: 38px; margin-bottom: 18px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.admin-modal__heading h2 { margin: 0 0 7px; color: var(--utiva-blue-dark); font-size: clamp(26px,4vw,35px); line-height: 1.08; letter-spacing: -.8px; }
.admin-modal__heading > p:last-child { margin: 0; max-width: 510px; color: var(--text-soft); font-size: 13px; }
.form-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field { display: grid; gap: 7px; }
.form-field--full { grid-column: 1 / -1; }
.form-field > span { color: var(--text); font-size: 12px; font-weight: 700; }
.form-field input, .form-field select { width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; outline: 0; color: var(--text); background: #fbfcff; font-size: 13px; }
.form-field input:focus, .form-field select:focus { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.admin-modal__note { margin-top: 17px; padding: 13px; border-radius: 11px; display: flex; align-items: center; gap: 10px; color: var(--utiva-blue); background: var(--surface-soft); }
.admin-modal__note p { margin: 0; color: var(--text-soft); font-size: 13px; }
.admin-modal__footer { margin-top: 21px; padding-top: 18px; border-top: 1px solid var(--border); display: flex; justify-content: flex-end; gap: 8px; }
.button:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.toast { position: fixed; z-index: 140; right: 24px; bottom: 24px; width: min(370px,calc(100% - 32px)); padding: 14px; border: 1px solid #cfe9df; border-radius: 13px; display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; color: var(--text); background: #f5fffb; box-shadow: var(--shadow-md); animation: rise-in 220ms ease both; }
.toast > span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); }
.toast strong, .toast p { display: block; }
.toast strong { font-size: 13px; }
.toast p { margin: 2px 0 0; color: var(--text-soft); font-size: 13px; }
.toast button { width: 40px; height: 40px; padding: 0; display: grid; place-items: center; color: var(--text-soft); background: transparent; cursor: pointer; }

/* Governed course builder */
.course-builder-page { min-height: calc(100vh - 72px); background: #f5f7fc; }
.course-builder-header { min-height: 112px; padding: 18px 28px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #fff; }
.course-builder-back { min-height: 40px; margin-bottom: 7px; padding: 0 4px; display: flex; align-items: center; gap: 6px; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.course-builder-header h1 { margin: 2px 0 3px; color: var(--utiva-blue-dark); font-size: 23px; letter-spacing: -.5px; }
.course-builder-header > div:first-child > span { color: var(--text-soft); font-size: 12px; }
.course-builder-header__actions { display: flex; align-items: center; gap: 9px; }
.builder-presence { margin-right: 3px; display: flex; align-items: center; }
.builder-presence > span { width: 28px; height: 28px; margin-left: -7px; border: 2px solid #fff; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.builder-presence > span:nth-child(2) { background: #676ac7; }
.builder-presence > span:first-child { margin-left: 0; }
.builder-presence small { margin-left: 6px; color: var(--text-soft); white-space: nowrap; font-size: 12px; font-weight: 700; }
.builder-save-state { margin-right: 4px; display: flex; align-items: center; gap: 6px; color: var(--success); white-space: nowrap; font-size: 12px; font-weight: 700; }
.builder-save-state > span { width: 7px; height: 7px; border-radius: 50%; background: var(--success); }
.builder-save-state.is-dirty { color: #956100; }
.builder-save-state.is-dirty > span { background: var(--utiva-yellow); box-shadow: 0 0 0 4px rgba(251,175,27,.13); }
.builder-release-strip { min-height: 58px; padding: 9px 28px; border-bottom: 1px solid #dfe5f2; display: flex; align-items: center; gap: 24px; background: #f9fbff; }
.builder-release-strip > div { padding-right: 24px; border-right: 1px solid #dfe5f2; display: grid; grid-template-columns: auto auto; column-gap: 7px; align-items: center; }
.builder-release-strip > div > svg { color: var(--utiva-blue); }
.builder-release-strip strong { color: var(--utiva-blue-dark); font-size: 13px; }
.builder-release-strip small { grid-column: 2; margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.builder-release-strip > .button { margin-left: auto; }
.builder-collaboration-alert { min-height: 56px; padding: 8px 28px; border-bottom: 1px solid #e2d7a4; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff9df; }
.builder-collaboration-alert > div { display: flex; align-items: center; gap: 10px; }
.builder-collaboration-alert svg { color: #956100; }
.builder-collaboration-alert strong, .builder-collaboration-alert small { display: block; }
.builder-collaboration-alert strong { color: #644200; font-size: 13px; }
.builder-collaboration-alert small { margin-top: 2px; color: #806a35; font-size: 12px; }
.course-builder-grid { display: grid; grid-template-columns: 280px minmax(410px,1fr) 310px; min-height: calc(100vh - 184px); }
.builder-outline, .builder-settings { min-width: 0; padding: 20px; background: #fff; }
.builder-outline { border-right: 1px solid var(--border); }
.builder-settings { border-left: 1px solid var(--border); }
.builder-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.builder-panel-heading h2 { margin: 1px 0 0; color: var(--utiva-blue-dark); font-size: 15px; }
.builder-panel-heading > span { min-width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.builder-tree { max-height: calc(100vh - 300px); margin: 17px -7px 17px; padding-right: 3px; overflow-y: auto; }
.builder-tree section { margin-bottom: 14px; }
.builder-tree__module { width: 100%; min-height: 58px; padding: 8px; border-radius: 10px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; text-align: left; background: transparent; cursor: pointer; }
.builder-tree__module:hover, .builder-tree__module.is-selected { background: var(--utiva-blue-soft); }
.builder-tree__module > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: #fff; border: 1px solid var(--border); font-size: 12px; font-weight: 800; }
.builder-tree__module strong, .builder-tree__module small { display: block; }
.builder-tree__module strong { color: var(--text); font-size: 13px; line-height: 1.35; }
.builder-tree__module small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.builder-tree__lesson { margin: 3px 0 0 19px; padding-left: 12px; border-left: 1px solid #e1e6f1; }
.builder-tree__lesson > button:first-child { width: 100%; min-height: 42px; padding: 6px 7px; border-radius: 8px; display: grid; grid-template-columns: 16px 1fr auto; gap: 5px; align-items: center; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.builder-tree__lesson > button:first-child.is-selected, .builder-tree__lesson > button:first-child:hover { color: var(--utiva-blue); background: #f5f6ff; }
.builder-tree__lesson > button:first-child span { font-size: 12px; font-weight: 700; }
.builder-tree__lesson > button:first-child small { color: var(--text-soft); font-size: 12px; }
.builder-tree__concept { width: 100%; min-height: 42px; padding: 5px 7px 5px 12px; border-radius: 7px; display: grid; grid-template-columns: 6px 1fr auto; gap: 7px; align-items: center; color: var(--text-soft); background: transparent; text-align: left; cursor: pointer; }
.builder-tree__concept > span { width: 5px; height: 5px; border-radius: 50%; background: #b2bad0; }
.builder-tree__concept p { margin: 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.35; }
.builder-tree__concept small { font-size: 12px; }
.builder-tree__concept:hover, .builder-tree__concept.is-selected { color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.builder-tree__concept.is-selected > span { background: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.1); }
.builder-tree__add { min-height: 40px; margin: 3px 0 0 8px; padding: 5px 7px; display: flex; align-items: center; gap: 5px; color: var(--utiva-blue); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.builder-tree__add--lesson { margin-left: 38px; }
.builder-editor { min-width: 0; padding: 28px clamp(24px,4vw,48px); }
.builder-editor__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.builder-editor__heading h2 { margin: 3px 0 0; color: var(--utiva-blue-dark); font-size: 22px; }
.builder-form { max-width: 760px; margin: 22px auto 0; padding: 24px; border: 1px solid var(--border); border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(3,4,95,.045); }
.builder-form .form-grid { margin-top: 14px; }
.builder-form textarea { width: 100%; min-height: 160px; padding: 13px; border: 1px solid var(--border); border-radius: 10px; resize: vertical; outline: 0; color: var(--text); background: #fbfcff; font: inherit; font-size: 13px; line-height: 1.6; }
.builder-form textarea:focus { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.08); }
.builder-editor-meta { margin-top: 12px; display: flex; align-items: center; gap: 14px; color: var(--text-soft); }
.builder-editor-meta span { display: flex; align-items: center; gap: 5px; font-size: 12px; }
.builder-editor-meta span:first-child svg { color: var(--success); }
.builder-editor-meta span:last-child svg { color: var(--utiva-blue); }
.builder-media-drop { margin-top: 16px; padding: 16px; border: 1px dashed #c7d0e4; border-radius: 12px; display: grid; grid-template-columns: 36px 1fr; gap: 11px; align-items: center; background: #f8faff; }
.builder-media-drop > svg { color: var(--utiva-blue); }
.builder-media-drop strong { display: block; font-size: 13px; }
.builder-media-drop p { margin: 3px 0 0; color: var(--text-soft); font-size: 13px; }
.builder-empty-editor { min-height: 330px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.builder-empty-editor > svg { color: var(--utiva-blue); }
.builder-empty-editor h3 { margin: 13px 0 6px; color: var(--utiva-blue-dark); font-size: 17px; }
.builder-empty-editor p { max-width: 430px; margin: 0 0 17px; color: var(--text-soft); font-size: 12px; line-height: 1.55; }
.builder-settings { display: flex; flex-direction: column; gap: 14px; }
.builder-settings > section { padding: 15px; border: 1px solid var(--border); border-radius: 13px; background: #fff; }
.builder-settings label:not(.builder-switch) { margin-top: 14px; display: grid; gap: 6px; }
.builder-settings label > span { font-size: 12px; font-weight: 700; }
.builder-settings select { width: 100%; height: 42px; padding: 0 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font-size: 13px; }
.builder-switch { margin-top: 12px; padding: 11px 0; border-top: 1px solid #edf0f7; border-bottom: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.builder-switch strong, .builder-switch small { display: block; }
.builder-switch strong { font-size: 13px; }
.builder-switch small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.builder-switch input { width: 32px; height: 18px; accent-color: var(--utiva-blue); }
.builder-rule-summary { margin-top: 11px; padding: 10px; border-radius: 9px; display: flex; align-items: flex-start; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.builder-rule-summary p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.builder-resources { margin-top: 10px; }
.builder-resources > div { padding: 9px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 29px 1fr auto; gap: 8px; align-items: center; }
.builder-resources > div > span { width: 29px; height: 29px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.builder-resources strong, .builder-resources small { display: block; }
.builder-resources strong { font-size: 12px; }
.builder-resources small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.builder-resource-form { margin-top: 8px; display: grid; grid-template-columns: 1fr 40px; gap: 7px; }
.builder-resource-form input { min-width: 0; height: 40px; padding: 0 9px; border: 1px solid var(--border); border-radius: 8px; outline: 0; font-size: 13px; }
.builder-resource-form .icon-button { border: 1px solid var(--border); background: #fff; }
.builder-version { width: 100%; padding: 15px; border: 1px solid var(--border); border-radius: 13px; display: grid !important; grid-template-columns: 30px 1fr auto; gap: 9px; color: var(--utiva-blue); background: #fff; text-align: left; cursor: pointer; }
.builder-version:hover { border-color: #b7c1dc; background: #fafbff; }
.builder-version strong, .builder-version small { display: block; }
.builder-version strong { font-size: 12px; }
.builder-version p { margin: 3px 0; color: var(--text-soft); font-size: 12px; }
.builder-version small { color: #8a92a5; font-size: 12px; }
.course-preview-layer { z-index: 150; }
.course-preview-modal { width: min(980px,100%); max-height: calc(100vh - 36px); overflow-y: auto; border-radius: 22px; background: #fff; box-shadow: 0 30px 90px rgba(3,4,95,.32); animation: rise-in 220ms ease both; }
.course-preview-modal > header { padding: 20px 24px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.course-preview-modal h2 { margin: 2px 0 0; color: var(--utiva-blue-dark); font-size: 21px; }
.course-preview-progress { padding: 12px 24px; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: center; color: var(--text-soft); font-size: 12px; }
.course-preview-layout { min-height: 530px; display: grid; grid-template-columns: 235px 1fr; }
.course-preview-layout > aside { padding: 20px; border-right: 1px solid var(--border); background: #f8faff; }
.course-preview-layout > aside > div { margin-bottom: 18px; }
.course-preview-layout > aside strong, .course-preview-layout > aside span, .course-preview-layout > aside small { display: block; }
.course-preview-layout > aside strong { color: var(--utiva-blue); text-transform: uppercase; letter-spacing: .7px; font-size: 12px; }
.course-preview-layout > aside span { margin: 4px 0 6px; color: var(--text); font-size: 12px; font-weight: 700; }
.course-preview-layout > aside small { padding: 4px 0; color: var(--text-soft); font-size: 12px; }
.course-preview-layout > main { padding: 30px clamp(24px,5vw,58px); }
.course-preview-layout > main > .eyebrow { margin-top: 18px; }
.course-preview-layout h3 { margin: 5px 0 16px; color: var(--utiva-blue-dark); font-size: 27px; }
.course-preview-media { min-height: 210px; margin-bottom: 18px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#050794,#2e31c4); }
.course-preview-media svg { padding: 15px; box-sizing: content-box; border-radius: 50%; color: var(--utiva-blue); background: var(--utiva-yellow); }
.course-preview-layout > main > p:not(.eyebrow) { color: var(--text-soft); font-size: 13px; line-height: 1.65; }
.course-preview-actions { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; gap: 10px; }
.course-version-layer { z-index: 155; align-items: flex-start; padding-top: 20px; }
.course-version-modal { width: min(860px,100%); max-height: calc(100vh - 40px); overflow-y: auto; border-radius: 22px; background: #fff; box-shadow: 0 30px 90px rgba(3,4,95,.32); animation: rise-in 220ms ease both; }
.course-version-modal > header { padding: 22px 24px 18px; border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.course-version-modal > header h2 { margin: 2px 0 4px; color: var(--utiva-blue-dark); font-size: 24px; }
.course-version-modal > header p:last-child { margin: 0; color: var(--text-soft); font-size: 13px; }
.course-version-summary { margin: 18px 24px 4px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: repeat(3,1fr); background: #f8faff; }
.course-version-summary > div { padding: 0 14px; border-left: 1px solid #dde4f2; }
.course-version-summary > div:first-child { border-left: 0; }
.course-version-summary span, .course-version-summary strong, .course-version-summary small { display: block; }
.course-version-summary span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
.course-version-summary strong { margin: 5px 0 2px; color: var(--utiva-blue-dark); font-size: 13px; }
.course-version-summary small { color: var(--text-soft); font-size: 12px; }
.course-version-list { padding: 16px 24px 4px; }
.course-version-list article { display: grid; grid-template-columns: 24px 1fr; }
.course-version-list__rail { position: relative; display: flex; justify-content: center; }
.course-version-list__rail span { position: relative; z-index: 2; width: 10px; height: 10px; margin-top: 21px; border: 2px solid #fff; border-radius: 50%; background: #aeb6ca; box-shadow: 0 0 0 2px #d5dbea; }
.course-version-list article.is-current .course-version-list__rail span { background: var(--utiva-blue); box-shadow: 0 0 0 2px rgba(5,7,148,.2); }
.course-version-list__rail i { position: absolute; top: 31px; bottom: 0; width: 1px; background: #dbe1ed; }
.course-version-list article:last-child .course-version-list__rail i { display: none; }
.course-version-list__body { margin-bottom: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.course-version-list article.is-current .course-version-list__body { border-color: #bec7e6; box-shadow: 0 8px 24px rgba(3,4,95,.055); }
.course-version-list__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.course-version-list__heading > div { display: flex; align-items: center; gap: 9px; }
.course-version-list__heading h3 { margin: 0; color: var(--utiva-blue-dark); font-size: 13px; }
.course-version-list__heading time { color: var(--text-soft); font-size: 12px; }
.course-version-list__body > p { margin: 9px 0 11px; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.course-version-change-list { display: flex; flex-wrap: wrap; gap: 6px; }
.course-version-change-list span { padding: 5px 7px; border-radius: 7px; display: inline-flex; align-items: center; gap: 4px; color: #485168; background: #f3f6fb; font-size: 12px; }
.course-version-change-list svg { color: var(--success); }
.course-version-list footer { margin-top: 14px; padding-top: 12px; border-top: 1px solid #edf0f6; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.course-version-list footer > span { color: var(--text-soft); font-size: 12px; }
.course-version-list footer > div { display: flex; gap: 7px; }
.course-version-policy { margin: 8px 24px 24px 48px; padding: 13px; border-radius: 11px; display: flex; align-items: flex-start; gap: 10px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.course-version-policy strong { font-size: 13px; }
.course-version-policy p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.course-publish-modal { width: min(560px,100%); }
.course-publish-modal textarea { font-family: Poppins,Arial,sans-serif; font-size: 13px; line-height: 1.5; }
.publish-impact { margin: 18px 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; background: #f8faff; }
.publish-impact > div { text-align: center; }
.publish-impact span, .publish-impact strong { display: block; }
.publish-impact span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
.publish-impact strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 13px; }
.publish-impact > svg { color: var(--utiva-blue); }

/* SCORM package operations */
.scorm-workspace-page { min-height: 100vh; padding-bottom: 42px; color: var(--text); background: #f5f7fc; }
.scorm-workspace-header { min-height: 126px; padding: 22px 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.scorm-workspace-header h1 { max-width: 760px; margin: 5px 0 4px; font-size: clamp(23px,2.2vw,34px); line-height: 1.08; letter-spacing: -.65px; }
.scorm-workspace-header .eyebrow,.scorm-workspace-header > div > span { color: rgba(255,255,255,.68); }
.scorm-workspace-header .course-builder-back { margin-bottom: 8px; color: rgba(255,255,255,.76); }

/* Connected production identity */
.production-auth-shell{min-height:100vh;padding:25px clamp(20px,5vw,78px) 40px;color:var(--text);background:radial-gradient(circle at 82% 13%,#fff1cf 0,transparent 28%),linear-gradient(135deg,#f2f6ff,#fbfcff)}
.production-auth-shell>header{min-height:44px;display:flex;align-items:center;gap:17px}.production-auth-shell>header>span{padding-left:16px;border-left:1px solid var(--border);color:var(--text-soft);text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:800}.production-auth-shell>header .text-button{margin-left:auto}
.production-auth-shell>main{width:min(1060px,100%);min-height:650px;margin:34px auto 0;border:1px solid rgba(219,227,243,.9);border-radius:24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.8fr);overflow:hidden;background:#fff;box-shadow:0 26px 70px rgba(3,4,95,.12)}
.production-auth-card{padding:clamp(30px,5vw,62px)}.production-auth-mark,.production-registration-complete>span{width:56px;height:56px;margin-bottom:20px;border-radius:16px;display:grid;place-items:center;color:var(--utiva-blue-dark);background:var(--utiva-yellow)}
.production-auth-card h1{margin:6px 0 10px;color:var(--utiva-blue-dark);font-size:clamp(30px,3.5vw,43px);line-height:1.06;letter-spacing:-1.6px}.production-auth-card>p:not(.eyebrow),.production-registration-complete>p:not(.eyebrow){margin:0;color:var(--text-soft);font-size:15px;line-height:1.55}.production-auth-card form{margin-top:24px;display:grid;gap:15px}.production-auth-card form label{display:grid;gap:7px}.production-auth-card form label>span{font-size:13px;font-weight:800}.production-auth-card form label>div{min-height:48px;padding:0 12px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;gap:9px;color:var(--text-soft);background:#fbfcff}.production-auth-card form input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:500 15px Poppins,Arial,sans-serif}.production-auth-card form label>div>button{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;color:var(--text-soft);background:transparent}.production-auth-card form label>small{color:var(--text-soft);font-size:13px}.production-auth-recovery{justify-self:center}.production-auth-error,.production-auth-success{margin:0;padding:11px 12px;border-radius:10px;display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.45}.production-auth-error{color:#ae3945;background:#fff0f2}.production-auth-success{color:#147d5a;background:#eefaf5}
.production-auth-test{margin-top:24px;padding:14px;border:1px solid #dbe3f3;border-radius:13px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;background:#f7f9ff}.production-auth-test>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--utiva-blue);background:#e9edff}.production-auth-test p{margin:0}.production-auth-test strong,.production-auth-test small{display:block}.production-auth-test strong{font-size:13px}.production-auth-test small{margin-top:2px;color:var(--text-soft);font-size:13px;line-height:1.4}.production-auth-test .button{min-height:42px}
.production-auth-shell>main>aside{padding:clamp(34px,5vw,60px);color:#fff;background:linear-gradient(145deg,var(--utiva-blue-dark),var(--utiva-blue))}.production-auth-shell>main>aside>span{display:inline-flex;align-items:center;gap:7px;color:var(--utiva-yellow);font-size:13px;font-weight:800}.production-auth-shell>main>aside h2{margin:32px 0 30px;font-size:clamp(28px,3vw,39px);line-height:1.08}.production-auth-shell>main>aside>div{margin-top:18px;display:grid;grid-template-columns:28px 1fr;gap:10px}.production-auth-shell>main>aside>div>svg{padding:6px;box-sizing:content-box;border-radius:8px;color:var(--utiva-blue-dark);background:var(--utiva-yellow)}.production-auth-shell>main>aside p{margin:0}.production-auth-shell>main>aside strong,.production-auth-shell>main>aside small{display:block}.production-auth-shell>main>aside strong{font-size:14px}.production-auth-shell>main>aside small{margin-top:4px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}.production-registration-complete{padding-top:40px}.production-registration-complete .button{margin-top:24px}
@media(max-width:850px){.production-auth-shell{padding:18px 14px 30px}.production-auth-shell>header>span{display:none}.production-auth-shell>main{margin-top:22px;grid-template-columns:1fr}.production-auth-shell>main>aside{display:none}.production-auth-card{padding:30px 22px}.production-auth-test{grid-template-columns:34px 1fr}.production-auth-test .button{grid-column:1/-1}}

/* Production users and invitations */
.production-users .page-heading>div>p:last-child{max-width:650px}.production-users .heading-actions{align-items:center}.production-user-table>button>span,.production-user-table>button>div p small{font-size:13px}.production-user-table>button>span{text-transform:capitalize}
.production-identity-error{min-height:110px;padding:18px;border:1px solid #ffd6db;border-radius:12px;display:grid;grid-template-columns:28px 1fr auto;gap:11px;align-items:center;color:#a52e3b;background:#fff6f7}.production-identity-error p{margin:0}.production-identity-error strong,.production-identity-error small{display:block}.production-identity-error small{margin-top:3px;font-size:13px;line-height:1.45}
.production-user-detail{width:min(620px,calc(100vw - 28px))}.production-user-memberships{margin:18px 0;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f8faff}.production-user-memberships>.eyebrow{margin-bottom:9px}.production-user-memberships>div{padding:9px 0;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;border-top:1px solid var(--border)}.production-user-memberships>div:first-of-type{border-top:0}.production-user-memberships>div>svg{color:var(--utiva-blue)}.production-user-memberships p{margin:0}.production-user-memberships strong,.production-user-memberships small{display:block}.production-user-memberships strong{font-size:14px}.production-user-memberships small{margin-top:2px;color:var(--text-soft);font-size:13px}.button--danger{color:#fff;background:#b43846}.button--danger:hover{background:#982c38}
.production-invitations>.course-builder-back{margin-bottom:16px}.production-invitation-layout{margin-bottom:18px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.65fr);gap:16px}.production-invitation-layout .invitation-card{padding:22px}.production-invite-link{margin-top:17px;padding:14px;border:1px solid #b9e7d3;border-radius:12px;display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;color:#146b50;background:#effbf6}.production-invite-link>div{min-width:0}.production-invite-link strong{font-size:14px}.production-invite-link p{margin:3px 0 8px;color:#397461;font-size:13px}.production-invite-link input{width:100%;height:39px;padding:0 10px;border:1px solid #c5e5d8;border-radius:8px;color:var(--text);background:#fff;font:500 13px Poppins,Arial,sans-serif}.production-invitation-table{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.production-invitation-table>div{min-height:55px;padding:9px 13px;display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(120px,.7fr) minmax(150px,.8fr) 110px 100px 70px;gap:12px;align-items:center;border-top:1px solid var(--border);font-size:13px}.production-invitation-table>div:first-child{min-height:42px;border-top:0;color:var(--text-soft);text-transform:uppercase;letter-spacing:.6px;font-size:11px;font-weight:800;background:#f6f8fd}.production-invitation-table>div>span:first-child strong,.production-invitation-table>div>span:first-child small{display:block}.production-invitation-table>div>span:first-child small{margin-top:2px;color:var(--text-soft);font-size:12px}.text-button--danger{color:#ad3441}
.production-invite-acceptance .brand strong{color:var(--utiva-blue);font-size:27px;letter-spacing:-1.5px}.production-invite-acceptance .brand strong span{color:var(--utiva-yellow)}.production-accept-tabs{margin:22px 0 4px;padding:4px;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:1fr 1fr;background:#f1f4fb}.production-accept-tabs button{min-height:40px;border-radius:8px;color:var(--text-soft);background:transparent;font:800 13px Poppins,Arial,sans-serif}.production-accept-tabs button.is-active{color:var(--utiva-blue);background:#fff;box-shadow:0 4px 12px rgba(5,7,148,.08)}.production-accept-complete{padding-top:6px}.production-accept-complete .button{margin-top:24px}
.production-admin-setup .brand strong{color:var(--utiva-blue);font-size:27px;letter-spacing:-1.5px}.production-admin-setup .brand strong span{color:var(--utiva-yellow)}.production-first-admin-link{margin:15px auto 0;display:flex}
@media(max-width:980px){.production-invitation-layout{grid-template-columns:1fr}.production-invitation-table{overflow:auto}.production-invitation-table>div{min-width:820px}}
@media(max-width:700px){.production-identity-error{grid-template-columns:28px 1fr}.production-identity-error .button{grid-column:1/-1}.production-invite-link{grid-template-columns:26px 1fr}.production-invite-link .button{grid-column:1/-1}.production-invitation-table{border:0}.production-invitation-table>div:first-child{display:none}.production-invitation-table>div{min-width:0;margin-top:10px;padding:14px;border:1px solid var(--border);border-radius:11px;grid-template-columns:1fr 1fr}.production-invitation-table>div>span:first-child{grid-column:1/-1}}
.scorm-workspace-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.scorm-workspace-header__actions .health-pill { margin-right: 5px; }
.scorm-workspace-header__actions .health-pill--warning { color: #6b4700; background: #fff1bf; }
.scorm-workspace-header__actions .health-pill--success { color: #0f6a3b; background: #ddf6e8; }
.scorm-workspace-header__actions .health-pill--danger { color: #9f2435; background: #ffe1e6; }
.scorm-status-strip { padding: 12px 34px; display: grid; grid-template-columns: repeat(3,minmax(170px,1fr)) auto; align-items: center; gap: 0; border-bottom: 1px solid var(--border); background: #fff; }
.scorm-status-strip > div { min-height: 38px; padding: 3px 20px; border-left: 1px solid #e6eaf3; display: grid; grid-template-columns: auto 1fr; align-content: center; column-gap: 9px; }
.scorm-status-strip > div:first-child { padding-left: 0; border-left: 0; }
.scorm-status-strip > div > svg,.scorm-status-strip > div > .status-dot { grid-row: 1 / span 2; align-self: center; color: var(--utiva-blue); }
.scorm-status-strip strong,.scorm-status-strip small { display: block; }
.scorm-status-strip strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-status-strip small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.scorm-tabs { padding: 0 34px; display: flex; align-items: center; gap: 25px; border-bottom: 1px solid var(--border); background: #fff; }
.scorm-tabs button { min-height: 48px; padding: 0 1px; position: relative; color: var(--text-soft); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.scorm-tabs button::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; }
.scorm-tabs button.is-active { color: var(--utiva-blue); }
.scorm-tabs button.is-active::after { background: var(--utiva-blue); }
.scorm-tabs button span { margin-left: 5px; padding: 2px 6px; border-radius: 9px; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; }
.scorm-workspace-grid { width: min(1220px,calc(100% - 42px)); margin: 22px auto; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.7fr); align-items: start; gap: 18px; }
.scorm-workspace-grid main,.scorm-workspace-grid aside { min-width: 0; display: grid; gap: 18px; }
.scorm-package-card,.scorm-validation-card,.scorm-upload-card,.scorm-runtime-settings,.scorm-sessions,.scorm-standards-grid > .panel { padding: 20px; border-radius: 14px; }
.scorm-package-file { margin: 15px 0; padding: 14px; border: 1px solid #dce3f2; border-radius: 12px; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; background: linear-gradient(135deg,#f6f8ff,#fff); }
.scorm-package-file > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-package-file strong,.scorm-package-file small { display: block; }
.scorm-package-file strong { overflow-wrap: anywhere; color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-package-file small { margin-top: 4px; color: var(--text-soft); font-size: 12px; }
.scorm-package-meta { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.scorm-package-meta > div { min-width: 0; padding: 12px; border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
.scorm-package-meta > div:nth-child(-n+3) { border-top: 0; }
.scorm-package-meta > div:nth-child(3n+1) { border-left: 0; }
.scorm-package-meta span,.scorm-package-meta strong { display: block; }
.scorm-package-meta span { color: var(--text-soft); text-transform: uppercase; letter-spacing: .6px; font-size: 11px; font-weight: 800; }
.scorm-package-meta strong { margin-top: 5px; overflow-wrap: anywhere; color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-release-evidence { margin-top: 13px; padding: 12px; border-radius: 10px; display: grid; grid-template-columns: 22px 1fr; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-release-evidence p { margin: 0; }
.scorm-release-evidence strong,.scorm-release-evidence span,.scorm-release-evidence small { display: block; }
.scorm-release-evidence strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-release-evidence span,.scorm-release-evidence small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.scorm-validation-card .section-heading > span { color: var(--success); font-size: 12px; font-weight: 800; }
.scorm-validation-list { margin-top: 13px; border-top: 1px solid #edf0f6; }
.scorm-validation-list > div { min-height: 52px; padding: 10px 0; border-bottom: 1px solid #edf0f6; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; }
.scorm-validation-list > div > span:first-child { width: 25px; height: 25px; border-radius: 8px; display: grid; place-items: center; color: var(--text-soft); background: #f2f4f8; }
.scorm-validation-list > div > span:first-child.is-passed { color: var(--success); background: rgba(41,150,94,.1); }
.scorm-validation-list strong,.scorm-validation-list small { display: block; }
.scorm-validation-list strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-validation-list small { margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.scorm-validation-list > div > span:last-child { color: var(--success); font-size: 12px; font-weight: 800; }
.scorm-validation-footer { padding-top: 13px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; color: var(--utiva-blue); }
.scorm-validation-footer p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.scorm-upload-card > h2 { margin: 5px 0 7px; color: var(--utiva-blue-dark); font-size: 17px; }
.scorm-upload-card > p:not(.eyebrow) { margin: 0 0 15px; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.scorm-upload-drop { min-height: 134px; margin-bottom: 10px; padding: 17px; border: 1px dashed #aebae0; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; color: var(--utiva-blue); background: #f7f8ff; cursor: pointer; }
.scorm-upload-drop:hover { border-color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-upload-drop strong { margin-top: 8px; color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-upload-drop small { margin-top: 4px; color: var(--text-soft); font-size: 12px; }
.scorm-upload-drop input { display: none; }
.scorm-validating,.scorm-upload-error { margin-top: 10px; padding: 10px; border-radius: 10px; display: flex; align-items: center; gap: 9px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-validating > svg { animation: spin .85s linear infinite; }
.scorm-upload-error { color: #b62f42; background: #fff0f2; }
.scorm-validating strong,.scorm-validating small,.scorm-upload-error strong,.scorm-upload-error small { display: block; }
.scorm-validating strong,.scorm-upload-error strong { font-size: 13px; }
.scorm-validating small,.scorm-upload-error small { margin-top: 2px; opacity: .8; font-size: 12px; }
.scorm-runtime-settings > label:not(.builder-switch) { margin-top: 14px; display: grid; gap: 5px; }
.scorm-runtime-settings > label > span { color: var(--utiva-blue-dark); font-size: 12px; font-weight: 700; }
.scorm-runtime-settings select { height: 42px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fff; font-size: 13px; }
.scorm-runtime-settings .builder-switch { margin-top: 15px; }
.scorm-runtime-note { margin-top: 15px; padding: 11px; border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-runtime-note p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.scorm-sessions { width: min(1220px,calc(100% - 42px)); margin: 22px auto; }
.scorm-sessions .section-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--text-soft); font-size: 13px; }
.scorm-session-table { margin-top: 16px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.scorm-session-row { width: 100%; min-height: 54px; padding: 10px 15px; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 1.35fr .85fr .65fr .55fr .65fr 1fr; align-items: center; gap: 10px; text-align: left; color: var(--text-soft); background: #fff; font-size: 13px; }
.scorm-session-row strong { color: var(--utiva-blue-dark); }
.scorm-session-status { display: flex; align-items: center; }
.scorm-session-row > span:last-child { display: flex; align-items: center; justify-content: space-between; }
.scorm-session-row--head { min-height: 40px; border-top: 0; text-transform: uppercase; letter-spacing: .55px; background: #f6f8fc; font-size: 11px; font-weight: 800; }
.scorm-session-integrity { margin-top: 15px; padding: 13px; border-radius: 11px; display: flex; align-items: flex-start; gap: 10px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-session-integrity strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-session-integrity p { margin: 3px 0 0; color: var(--text-soft); font-size: 12px; }
.scorm-standards-grid { width: min(1000px,calc(100% - 42px)); margin: 22px auto; display: grid; grid-template-columns: 1.2fr .8fr; align-items: start; gap: 18px; }
.scorm-standards-grid h2 { margin: 5px 0 14px; color: var(--utiva-blue-dark); font-size: 17px; }
.scorm-standard-list { border-top: 1px solid #edf0f6; }
.scorm-standard-list > div { min-height: 67px; padding: 12px 0; border-bottom: 1px solid #edf0f6; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 10px; }
.scorm-standard-list > div > span:first-child { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: #916a13; background: #fff4d8; }
.scorm-standard-list > div > span:first-child.is-supported { color: var(--success); background: rgba(41,150,94,.1); }
.scorm-standard-list strong,.scorm-standard-list small { display: block; }
.scorm-standard-list strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-standard-list small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.scorm-standard-list > div > span:last-child { color: var(--text-soft); font-size: 12px; font-weight: 800; }
.scorm-data-model > div:not(.scorm-scope-decision) { min-height: 38px; padding: 8px 0; border-bottom: 1px solid #edf0f6; display: flex; align-items: center; gap: 8px; color: var(--text-soft); font-size: 12px; }
.scorm-data-model > div > svg { flex: 0 0 auto; color: var(--success); }
.scorm-scope-decision { margin-top: 15px; padding: 12px; border-radius: 11px; display: flex; align-items: flex-start; gap: 9px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-scope-decision p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.scorm-launch-layer { padding: 18px; }
.scorm-launch-modal { width: min(1100px,100%); max-height: calc(100vh - 36px); overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(3,4,95,.26); animation: rise-in 220ms ease; }
.scorm-launch-modal > header { padding: 17px 20px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.scorm-launch-modal > header h2 { margin: 4px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.scorm-launch-modal > header span { color: var(--text-soft); font-size: 12px; }
.scorm-launch-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; }
.scorm-launch-layout > main { padding: 22px; background: #edf1f9; }
.scorm-launch-layout > aside { padding: 20px; border-left: 1px solid var(--border); }
.scorm-player-frame { min-height: 485px; border-radius: 13px; overflow: hidden; background: #fff; box-shadow: 0 12px 35px rgba(3,4,95,.12); }
.scorm-player-topbar { padding: 10px 13px; display: flex; justify-content: space-between; gap: 12px; color: #dce1ff; background: var(--utiva-blue-dark); font-size: 12px; }
.scorm-player-topbar span { display: flex; align-items: center; gap: 6px; }
.scorm-player-content { width: min(590px,calc(100% - 40px)); margin: 0 auto; padding: 43px 0; text-align: center; }
.scorm-player-content h3 { margin: 7px auto 16px; max-width: 510px; color: var(--utiva-blue-dark); font-size: clamp(20px,2.5vw,31px); line-height: 1.1; }
.scorm-player-content > p:not(.eyebrow) { margin: 18px auto; max-width: 530px; color: var(--text-soft); font-size: 13px; line-height: 1.6; }
.scorm-player-visual { min-height: 110px; padding: 15px; border-radius: 14px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--utiva-blue); background: linear-gradient(135deg,#edf0ff,#fff8e7); }
.scorm-player-visual span { width: 95px; height: 55px; border: 1px solid #ccd5f2; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px rgba(3,4,95,.07); }
.scorm-player-progress { margin: 20px 0 16px; text-align: left; }
.scorm-player-progress > div { margin-bottom: 7px; display: flex; justify-content: space-between; color: var(--text-soft); font-size: 12px; }
.scorm-runtime-status { padding: 11px; border-radius: 10px; display: flex; align-items: center; gap: 9px; background: #f3f6ff; }
.scorm-runtime-status strong,.scorm-runtime-status small { display: block; }
.scorm-runtime-status strong { color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-runtime-status small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.scorm-launch-layout > aside > h3 { margin: 19px 0 10px; color: var(--utiva-blue-dark); font-size: 13px; }
.scorm-event-stream { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.scorm-event-stream > div { padding: 9px 10px; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; background: #fff; }
.scorm-event-stream > div:first-child { border-top: 0; }
.scorm-event-stream span { overflow-wrap: anywhere; color: var(--utiva-blue-dark); font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; }
.scorm-event-stream strong { color: var(--success); font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; }
.scorm-event-stream time { grid-column: 1 / -1; color: var(--text-soft); font-size: 12px; }
.scorm-sandbox-note { margin-top: 14px; padding: 11px; border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.scorm-sandbox-note p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.scorm-publish-modal { width: min(560px,100%); }
.scorm-publish-modal textarea { font-family: Poppins,Arial,sans-serif; font-size: 13px; line-height: 1.5; }
.scorm-publish-checks { margin: 18px 0; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.scorm-publish-checks > div { min-height: 41px; padding: 9px 12px; border-top: 1px solid #edf0f6; display: flex; align-items: center; gap: 8px; color: var(--text-soft); font-size: 12px; }
.scorm-publish-checks > div:first-child { border-top: 0; }
.scorm-publish-checks svg { color: var(--success); }
.health-pill--danger { color: #b62f42; background: #fff0f2; }

/* Simple assessment and question bank */
.assessment-workspace-page { min-height: 100vh; padding-bottom: 40px; color: var(--text); background: #f5f7fc; }
.assessment-workspace-header { min-height: 126px; padding: 22px 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #fff; background: linear-gradient(125deg,var(--utiva-blue-dark),var(--utiva-blue)); }
.assessment-workspace-header h1 { max-width: 700px; margin: 5px 0 4px; font-size: clamp(23px,2.2vw,34px); line-height: 1.08; letter-spacing: -.65px; }
.assessment-workspace-header .eyebrow,.assessment-workspace-header > div > span { color: rgba(255,255,255,.68); }
.assessment-workspace-header .course-builder-back { margin-bottom: 8px; color: rgba(255,255,255,.76); }
.assessment-workspace-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.assessment-tabs { padding: 0 34px; display: flex; align-items: center; gap: 25px; border-bottom: 1px solid var(--border); background: #fff; }
.assessment-tabs button { min-height: 48px; padding: 0 1px; position: relative; color: var(--text-soft); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.assessment-tabs button::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; }
.assessment-tabs button.is-active { color: var(--utiva-blue); }
.assessment-tabs button.is-active::after { background: var(--utiva-blue); }
.assessment-builder-grid { width: min(1160px,calc(100% - 42px)); margin: 22px auto; display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 18px; }
.assessment-builder-grid main,.assessment-builder-grid aside { display: grid; gap: 18px; min-width: 0; }
.assessment-summary,.assessment-question-panel,.assessment-rules,.assessment-checklist,.assessment-bank,.assessment-results { padding: 20px; border-radius: 14px; }
.assessment-summary { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 20px; }
.assessment-summary h2 { margin: 5px 0 7px; color: var(--utiva-blue-dark); font-size: 17px; }
.assessment-summary p:not(.eyebrow) { max-width: 590px; margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.assessment-summary > div:last-child { display: flex; align-items: center; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.assessment-summary > div:last-child span { min-width: 82px; padding: 11px; border-left: 1px solid var(--border); text-align: center; }
.assessment-summary > div:last-child span:first-child { border-left: 0; }
.assessment-summary strong,.assessment-summary small { display: block; }
.assessment-summary strong { color: var(--utiva-blue-dark); font-size: 14px; }
.assessment-summary small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.assessment-release-evidence { margin-top: 12px; padding: 10px 12px; border-radius: 10px; display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 8px; align-items: start; color: var(--success); background: #effbf6; }
.assessment-release-evidence strong,.assessment-release-evidence small { display: block; overflow-wrap: anywhere; }
.assessment-release-evidence strong { color: var(--text); font-size: 13px; }
.assessment-release-evidence small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.assessment-question-list { margin-top: 14px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.assessment-question-list article { min-height: 76px; padding: 12px; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 30px minmax(0,1fr) auto 30px; align-items: center; gap: 11px; background: #fff; }
.assessment-question-list article:first-child { border-top: 0; }
.assessment-question-list article > span { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); font-size: 12px; font-weight: 800; }
.assessment-question-list article > div > div small,.assessment-question-list article > div > div strong { display: block; }
.assessment-question-list article > div > div small { margin-bottom: 4px; color: var(--text-soft); font-size: 12px; }
.assessment-question-list article > div > div strong { color: var(--utiva-blue-dark); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.assessment-question-list article p { margin: 7px 0 0; display: flex; align-items: center; gap: 5px; color: var(--success); font-size: 12px; }
.assessment-question-list article > strong { white-space: nowrap; color: var(--text-soft); font-size: 12px; }
.assessment-bank-shortcut { width: 100%; margin-top: 12px; padding: 12px 14px; border: 1px dashed #bcc7e7; border-radius: 11px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; text-align: left; color: var(--utiva-blue); background: #f7f8ff; cursor: pointer; }
.assessment-bank-shortcut strong,.assessment-bank-shortcut small { display: block; }
.assessment-bank-shortcut strong { color: var(--utiva-blue-dark); font-size: 13px; }
.assessment-bank-shortcut small { margin-top: 2px; color: var(--text-soft); font-size: 12px; }
.assessment-rules h2,.assessment-checklist h2 { margin: 5px 0 13px; color: var(--utiva-blue-dark); font-size: 17px; }
.assessment-rules > label:not(.builder-switch) { margin-top: 12px; display: grid; gap: 5px; }
.assessment-rules > label > span { color: var(--utiva-blue-dark); font-size: 12px; font-weight: 700; }
.assessment-rules select,.assessment-score-input { height: 42px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fff; font-size: 13px; }
.assessment-rules select { padding: 0 10px; }
.assessment-score-input { display: flex; align-items: center; overflow: hidden; }
.assessment-score-input input { min-width: 0; flex: 1; height: 100%; padding: 0 10px; border: 0; font-size: 12px; }
.assessment-score-input strong { padding: 0 11px; color: var(--text-soft); font-size: 12px; }
.assessment-rules .builder-switch { margin-top: 15px; }
.assessment-rule-note { margin-top: 15px; padding: 11px; border-radius: 10px; display: flex; align-items: flex-start; gap: 8px; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.assessment-rule-note p { margin: 0; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.assessment-checklist > div { min-height: 36px; padding: 7px 0; border-top: 1px solid #edf0f6; display: flex; align-items: center; gap: 8px; color: var(--success); font-size: 12px; }
.assessment-checklist > div span { color: var(--text-soft); }
.assessment-checklist > div.is-warning { color: #9b6d0c; }
.assessment-bank,.assessment-results { width: min(1000px,calc(100% - 42px)); margin: 22px auto; }
.assessment-bank__heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.assessment-bank__heading h2 { margin: 5px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.assessment-bank__heading p:not(.eyebrow) { margin: 0; color: var(--text-soft); font-size: 12px; }
.assessment-bank-list { margin-top: 16px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.assessment-bank-list article { min-height: 77px; padding: 12px 14px; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; }
.assessment-bank-list article:first-child { border-top: 0; }
.assessment-bank-icon { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.assessment-bank-list small,.assessment-bank-list strong,.assessment-bank-list p { display: block; }
.assessment-bank-list small { color: var(--text-soft); font-size: 12px; }
.assessment-bank-list strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.assessment-bank-list p { margin: 5px 0 0; color: var(--text-soft); font-size: 12px; }
.assessment-results .section-heading p:not(.eyebrow) { margin: 4px 0 0; color: var(--text-soft); font-size: 12px; }
.assessment-result-stats { margin: 16px 0; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.assessment-result-stats > div { padding: 13px; border-left: 1px solid var(--border); }
.assessment-result-stats > div:first-child { border-left: 0; }
.assessment-result-stats span,.assessment-result-stats strong { display: block; }
.assessment-result-stats span { color: var(--text-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .55px; font-weight: 800; }
.assessment-result-stats strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 15px; }
.assessment-result-table { border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.assessment-result-table > div,.assessment-result-table > button { width: 100%; min-height: 48px; padding: 9px 13px; border-top: 1px solid #edf0f6; display: grid; grid-template-columns: 1.3fr .7fr .7fr 1fr auto; align-items: center; gap: 10px; text-align: left; color: var(--text-soft); background: #fff; font-size: 12px; }
.assessment-result-table > div { min-height: 40px; border-top: 0; text-transform: uppercase; letter-spacing: .5px; background: #f6f8fc; font-size: 11px; font-weight: 800; }
.assessment-result-table > button { cursor: pointer; }
.assessment-result-table > button:hover { background: #f8faff; }
.assessment-question-modal,.assessment-publish-modal { width: min(560px,100%); }
.assessment-preview-layer { padding: 18px; }
.assessment-preview-modal { width: min(760px,100%); max-height: calc(100vh - 36px); overflow: auto; border-radius: 18px; background: #fff; box-shadow: 0 30px 90px rgba(3,4,95,.25); animation: rise-in 220ms ease; }
.assessment-preview-modal > header { padding: 18px 20px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.assessment-preview-modal > header h2 { margin: 4px 0; color: var(--utiva-blue-dark); font-size: 17px; }
.assessment-preview-modal > header span { color: var(--text-soft); font-size: 12px; }
.assessment-preview-modal > main { width: min(610px,calc(100% - 40px)); margin: 0 auto; padding: 28px 0; }
.assessment-preview-progress { margin-bottom: 28px; }
.assessment-preview-progress > span { margin-bottom: 7px; display: block; color: var(--text-soft); font-size: 12px; }
.assessment-preview-modal h3 { margin: 7px 0 18px; color: var(--utiva-blue-dark); font-size: 20px; line-height: 1.25; }
.assessment-preview-options { display: grid; gap: 8px; }
.assessment-preview-options button { min-height: 46px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; gap: 10px; text-align: left; color: var(--text); background: #fff; font-size: 12px; cursor: pointer; }
.assessment-preview-options button:hover,.assessment-preview-options button.is-selected { border-color: var(--utiva-blue); background: var(--utiva-blue-soft); }
.assessment-preview-options button span { width: 15px; height: 15px; border: 1px solid #aeb6ca; border-radius: 50%; }
.assessment-preview-options button.is-selected span { display: grid; place-items: center; color: #fff; border-color: var(--utiva-blue); background: var(--utiva-blue); }
.assessment-preview-answer { width: 100%; min-height: 130px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fff; resize: vertical; font: 500 13px/1.55 Poppins,Arial,sans-serif; }
.assessment-preview-modal footer { margin-top: 24px; padding-top: 16px; border-top: 1px solid #edf0f6; display: flex; justify-content: space-between; }
.assessment-publish-summary { margin: 18px 0; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.assessment-publish-summary > div { padding: 12px; border-left: 1px solid var(--border); text-align: center; }
.assessment-publish-summary > div:first-child { border-left: 0; }
.assessment-publish-summary span,.assessment-publish-summary strong { display: block; }
.assessment-publish-summary span { color: var(--text-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .55px; font-weight: 800; }
.assessment-publish-summary strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 12px; }
.assessment-result-modal { width: min(560px,100%); }
.assessment-result-detail { margin: 18px 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; }
.assessment-result-detail > div { min-width: 0; padding: 13px; border-left: 1px solid var(--border); border-top: 1px solid var(--border); }
.assessment-result-detail > div:nth-child(odd) { border-left: 0; }
.assessment-result-detail > div:nth-child(-n+2) { border-top: 0; }
.assessment-result-detail span,.assessment-result-detail strong { display: block; overflow-wrap: anywhere; }
.assessment-result-detail span { color: var(--text-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .5px; font-weight: 800; }
.assessment-result-detail strong { margin-top: 4px; color: var(--utiva-blue-dark); font-size: 13px; }

.mobile-scrim { display: none; }

@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes rise-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes drawer-in { from { opacity: .5; transform: translateX(38px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 5px rgba(214,65,82,.09); } 50% { box-shadow: 0 0 0 9px rgba(214,65,82,.03); } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1200px) {
  .builder-release-strip { flex-wrap: wrap; }
  .builder-release-strip > .button { margin-left: 0; }
  .course-builder-grid { grid-template-columns: 250px minmax(0,1fr); }
  .builder-settings { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .builder-tree { max-height: 650px; }
  .course-shell { grid-template-columns: 280px minmax(0,1fr); }
  .course-nav { grid-row: 1 / span 2; }
  .lesson-support { grid-column: 2; border-left: 0; border-top: 1px solid var(--border); }
  .support-tabs { max-width: 500px; }
  .coach-panel,.transcript-panel,.support-resources { max-width: 760px; }
  .discovery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

.learner-registration { min-height: 100vh; padding: 24px clamp(20px,4vw,60px) 42px; position: relative; isolation: isolate; color: var(--text); background: radial-gradient(circle at 88% 18%, rgba(251,175,27,.18), transparent 28%), linear-gradient(145deg,#f8faff,#eef2ff 55%,#fffaf0); }
.learner-registration > header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.learner-registration .brand { display: flex; align-items: center; gap: 5px; color: var(--utiva-blue); }
.learner-registration .brand span { font-size: 23px; font-weight: 800; letter-spacing: -1.5px; }
.learner-registration .brand i { width: 7px; height: 7px; border-radius: 50%; background: var(--utiva-yellow); }
.learner-registration .brand small { margin-left: 8px; color: var(--text-soft); letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.learner-registration > main { width: min(1050px,100%); margin: 30px auto 0; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: clamp(30px,5vw,70px); align-items: center; }
.registration-card { min-height: 650px; padding: clamp(25px,4vw,42px); border: 1px solid var(--border); border-radius: 24px; background: rgba(255,255,255,.96); box-shadow: 0 30px 80px rgba(3,4,95,.13); animation: rise-in 220ms ease; }
.registration-progress { margin-bottom: 26px; display: grid; grid-template-columns: repeat(3,1fr); }
.registration-progress > div { position: relative; display: grid; justify-items: center; gap: 5px; color: #7c8497; font-size: 12px; font-weight: 700; }
.registration-progress > div::before { content: ''; position: absolute; left: -50%; right: 50%; top: 13px; height: 2px; background: #e6eaf3; }
.registration-progress > div:first-child::before { display: none; }
.registration-progress span { width: 27px; height: 27px; position: relative; z-index: 1; border: 1px solid var(--border); border-radius: 50%; display: grid; place-items: center; background: #fff; }
.registration-progress .is-active { color: var(--utiva-blue); }
.registration-progress .is-active::before { background: var(--utiva-blue); }
.registration-progress .is-active span { border-color: var(--utiva-blue); color: #fff; background: var(--utiva-blue); }
.registration-heading > span { width: 46px; height: 46px; margin-bottom: 15px; border-radius: 13px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.registration-heading h1, .registration-success h1 { margin: 0 0 9px; color: var(--utiva-blue-dark); font-size: clamp(28px,3vw,38px); line-height: 1.08; letter-spacing: -1px; }
.registration-heading > p:last-child, .registration-success > p { margin: 0 0 20px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.registration-test-profile { width: 100%; margin-bottom: 16px; padding: 12px; border: 1px solid rgba(5,7,148,.14); border-radius: 11px; display: grid; grid-template-columns: 30px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: linear-gradient(135deg,rgba(5,7,148,.05),rgba(251,175,27,.1)); text-align: left; cursor: pointer; }
.registration-test-profile strong, .registration-test-profile small { display: block; }
.registration-test-profile strong { font-size: 12px; }
.registration-test-profile small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.registration-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.registration-form > label > span, .registration-verification label > span, .registration-code label > span { display: block; margin-bottom: 6px; color: #3d4354; font-size: 12px; font-weight: 700; }
.registration-form input, .registration-form select, .registration-verification input { width: 100%; height: 43px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; }
.registration-form label > small { display: block; margin-top: 5px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.registration-form label em { margin-left: 5px; color: var(--text-soft); font-style: normal; font-weight: 400; }
.registration-form--wide { grid-column: 1 / -1; }
.registration-password { position: relative; }
.registration-password input { padding-right: 42px; }
.registration-password button { width: 38px; position: absolute; inset: 0 2px 0 auto; display: grid; place-items: center; color: var(--text-soft); background: transparent; cursor: pointer; }
.password-checks { margin-top: 7px; display: flex !important; flex-wrap: wrap; gap: 6px 10px; }
.password-checks small { margin: 0 !important; display: flex !important; align-items: center; gap: 3px; color: #8a91a3 !important; }
.password-checks small svg { opacity: .35; }
.password-checks small.is-met { color: var(--success) !important; }
.password-checks small.is-met svg { opacity: 1; }
.registration-form .is-warning { color: #b13e4a !important; }
.registration-organisation { border: 1px solid var(--border); border-radius: 12px; background: #fbfcff; overflow: hidden; }
.registration-choice { padding: 12px; display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; cursor: pointer; }
.registration-choice input { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--utiva-blue); }
.registration-choice strong, .registration-choice small { display: block; }
.registration-choice strong { color: var(--text); font-size: 12px; }
.registration-choice small { margin-top: 3px !important; font-size: 12px !important; }
.registration-code { padding: 12px; border-top: 1px solid var(--border); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px 12px; align-items: end; background: #fff; }
.registration-code label { min-width: 0; }
.registration-code .text-button { min-height: 43px; padding: 0 10px; }
.registration-code p { grid-column: 1 / -1; margin: 0; display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; }
.registration-code p.is-valid { color: var(--success); }
.registration-code p.is-warning { color: #b13e4a; }
.registration-consent { display: grid !important; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.registration-consent input { width: 17px; height: 17px; accent-color: var(--utiva-blue); }
.registration-security-note { margin: 8px 0 20px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 27px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.registration-security-note p { margin: 0; }
.registration-security-note strong, .registration-security-note small { display: block; }
.registration-security-note strong { font-size: 12px; }
.registration-security-note small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.registration-workspace-preview { margin: -8px 0 18px; padding: 12px; border: 1px solid rgba(16,127,91,.18); border-radius: 11px; display: grid; grid-template-columns: 27px 1fr; gap: 8px; align-items: center; color: var(--success); background: rgba(16,127,91,.06); }
.registration-workspace-preview p { margin: 0; }
.registration-workspace-preview strong, .registration-workspace-preview small { display: block; }
.registration-workspace-preview strong { font-size: 12px; }
.registration-workspace-preview small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.registration-verification { display: grid; gap: 12px; }
.registration-verification input { height: 54px; text-align: center; letter-spacing: 8px; font-size: 21px; font-weight: 800; }
.registration-verification .button { width: 100%; justify-content: center; }
.registration-success { padding-top: 36px; text-align: center; }
.registration-success > span { width: 70px; height: 70px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); box-shadow: 0 12px 28px rgba(16,127,91,.2); }
.registration-success > div { margin: 22px 0; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; text-align: left; }
.registration-success > div p { min-height: 52px; margin: 0; padding: 9px 13px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.registration-success > div p:first-child { border-top: 0; }
.registration-success > div strong, .registration-success > div small { font-size: 12px; }
.registration-success > div small { color: var(--text-soft); }
.learner-login-card { min-height: 590px; }
.learner-login-form { display: grid; gap: 14px; }
.learner-login-form > label > span { display: block; margin-bottom: 6px; color: #3d4354; font-size: 12px; font-weight: 700; }
.learner-login-form > label > small { display: block; margin-top: 5px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.learner-login-form > label > small.is-warning { color: #b13e4a; }
.learner-login-form input { width: 100%; height: 45px; padding: 0 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; }
.learner-login-form > .button { width: 100%; justify-content: center; }
.learner-login-options { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.learner-login-options label { display: grid; grid-template-columns: 17px 1fr; align-items: start; gap: 7px; color: var(--text-soft); }
.learner-login-options label span { display: block; }
.learner-login-options label strong, .learner-login-options label small { display: block; }
.learner-login-options label strong { color: var(--text); font-size: 12px; }
.learner-login-options label small { margin-top: 2px; font-size: 12px; line-height: 1.35; }
.learner-login-options input { width: 15px; height: 15px; accent-color: var(--utiva-blue); }
.learner-login-options button { flex: 0 0 auto; color: var(--utiva-blue); background: transparent; font-size: 12px; font-weight: 700; cursor: pointer; }
.learner-login-divider { position: relative; margin-top: 5px; border-top: 1px solid #edf0f7; text-align: center; }
.learner-login-divider span { position: relative; top: -8px; padding: 0 8px; color: var(--text-soft); background: #fff; font-size: 12px; }
.registration-test-profile--compact { margin: 0; }
.learner-sso-result { padding: 12px; border: 1px solid transparent; border-radius: 11px; display: grid; grid-template-columns: 25px 1fr; gap: 8px; align-items: center; }
.learner-sso-result p { margin: 0; }
.learner-sso-result strong, .learner-sso-result small { display: block; }
.learner-sso-result strong { font-size: 12px; }
.learner-sso-result small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.learner-sso-result.is-valid { border-color: rgba(16,127,91,.18); color: var(--success); background: rgba(16,127,91,.06); }
.learner-sso-result.is-warning { border-color: rgba(177,62,74,.16); color: #b13e4a; background: rgba(177,62,74,.05); }
.learner-recovery-result { padding: 12px; border-radius: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; color: var(--success); background: #eefaf5; }
.learner-recovery-result p { margin: 0; }
.learner-recovery-result strong, .learner-recovery-result small { display: block; }
.learner-recovery-result strong { font-size: 12px; }
.learner-recovery-result small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.learner-session-summary { padding-top: 25px; text-align: center; }
.learner-session-summary > span { width: 64px; height: 64px; margin: 0 auto 17px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--success); }
.learner-session-summary h1 { margin: 0 0 9px; color: var(--utiva-blue-dark); font-size: clamp(28px,3vw,38px); }
.learner-session-summary > p:not(.eyebrow) { margin: 0 0 19px; color: var(--text-soft); font-size: 12px; }
.learner-session-summary > div { margin: 20px 0; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; text-align: left; }
.learner-session-summary > div p { min-height: 48px; margin: 0; padding: 9px 12px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.learner-session-summary > div p:first-child { border-top: 0; }
.learner-session-summary > div span { color: var(--text-soft); }
.learner-session-summary > .button { width: 100%; margin-top: 9px; justify-content: center; }
.onboarding-card { min-height: 690px; }
.onboarding-questions { display: grid; gap: 15px; }
.onboarding-questions fieldset { margin: 0; padding: 0; border: 0; }
.onboarding-questions legend, .onboarding-select-row label > span { display: block; margin-bottom: 8px; color: #3d4354; font-size: 12px; font-weight: 800; }
.onboarding-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.onboarding-option-grid button { min-height: 46px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 7px; align-items: center; color: var(--text); background: #fff; text-align: left; font-size: 12px; font-weight: 700; line-height: 1.35; cursor: pointer; }
.onboarding-option-grid button svg { color: var(--text-soft); }
.onboarding-option-grid button.is-selected { border-color: var(--utiva-blue); color: var(--utiva-blue); background: var(--utiva-blue-soft); box-shadow: inset 0 0 0 1px var(--utiva-blue); }
.onboarding-option-grid button.is-selected svg { color: var(--utiva-blue); }
.onboarding-select-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 9px; }
.onboarding-select-row select { width: 100%; height: 43px; padding: 0 10px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; }
.onboarding-recommendation { padding-top: 22px; text-align: center; }
.onboarding-recommendation > span { width: 66px; height: 66px; margin: 0 auto 17px; border-radius: 19px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); }
.onboarding-recommendation h1 { margin: 0 0 9px; color: var(--utiva-blue-dark); font-size: clamp(28px,3vw,38px); }
.onboarding-recommendation > p:not(.eyebrow) { max-width: 470px; margin: 0 auto 20px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.onboarding-plan-summary { margin: 19px 0; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; text-align: left; }
.onboarding-saved-note { margin: 0 auto 17px; max-width: 470px; padding: 11px 13px; border: 1px solid rgba(16,127,91,.18); border-radius: 11px; display: grid; grid-template-columns: 24px 1fr; gap: 8px; align-items: center; color: var(--success); background: rgba(16,127,91,.06); text-align: left; }
.onboarding-saved-note p { margin: 0; }
.onboarding-saved-note strong, .onboarding-saved-note small { display: block; }
.onboarding-saved-note strong { font-size: 12px; }
.onboarding-saved-note small { margin-top: 2px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.onboarding-plan-summary p { min-height: 49px; margin: 0; padding: 10px 12px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; }
.onboarding-plan-summary p:first-child { border-top: 0; }
.onboarding-plan-summary span { color: var(--text-soft); }
.onboarding-next-action { margin-bottom: 16px; padding: 13px; border-radius: 11px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); text-align: left; }
.onboarding-next-action p { margin: 0; }
.onboarding-next-action strong, .onboarding-next-action small { display: block; }
.onboarding-next-action strong { font-size: 12px; }
.onboarding-next-action small { margin-top: 3px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.onboarding-recommendation > .text-button { margin-top: 13px; }
.learner-registration > main > aside { padding: 30px; color: #fff; }
.learner-registration > main > aside h2 { max-width: 460px; margin: 22px 0 12px; font-size: clamp(28px,3.5vw,44px); line-height: 1.08; letter-spacing: -1.2px; }
.learner-registration > main > aside > p { margin: 0 0 25px; color: rgba(255,255,255,.65); font-size: 12px; }
.learner-registration > main > aside::before { content: ''; position: absolute; inset: 80px clamp(20px,4vw,60px) 40px 52%; z-index: -1; border-radius: 32px; background: var(--utiva-blue-dark); box-shadow: 0 30px 70px rgba(3,4,95,.2); }
.learner-registration > main > aside > div { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.12); display: grid; grid-template-columns: 24px 1fr; gap: 9px; }
.learner-registration > main > aside > div > span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.learner-registration > main > aside p { margin: 0; }
.learner-registration > main > aside strong, .learner-registration > main > aside small { display: block; }
.learner-registration > main > aside strong { font-size: 12px; }
.learner-registration > main > aside small { margin-top: 3px; color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.45; }
.learner-profile-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 17px; align-items: start; }
.learner-profile-layout > main, .learner-profile-layout > aside { display: grid; gap: 17px; }
.learner-profile-card { padding: 20px; }
.learner-profile-card .avatar { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--utiva-blue); font-size: 12px; font-weight: 800; }
.learner-profile-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.learner-profile-form label > span, .learner-preference-selects label > span { display: block; margin-bottom: 6px; color: #3d4354; font-size: 12px; font-weight: 700; }
.learner-profile-form input, .learner-preference-selects select { width: 100%; height: 44px; padding: 0 11px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: #fbfcff; font: inherit; font-size: 12px; }
.learner-profile-form input[readonly] { color: var(--text-soft); background: #f4f6fa; }
.learner-profile-form label > small { display: block; margin-top: 5px; color: var(--text-soft); font-size: 12px; line-height: 1.4; }
.learner-profile-form--wide { grid-column: 1 / -1; }
.learner-preference-selects { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 12px; }
.learner-toggle-list { margin-top: 13px; }
.learner-toggle-list > label { min-height: 66px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; }
.learner-toggle-list strong, .learner-toggle-list small { display: block; }
.learner-toggle-list strong { font-size: 12px; }
.learner-toggle-list small { margin-top: 4px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.learner-toggle-list input { width: 34px; height: 18px; flex: 0 0 auto; accent-color: var(--utiva-blue); }
.learner-preference-intro { margin: 6px 0 3px; color: var(--text-soft); font-size: 12px; line-height: 1.5; }
.learner-profile-scope { padding: 16px; display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: start; color: var(--utiva-blue); }
.learner-profile-scope p { margin: 0; }
.learner-profile-scope strong, .learner-profile-scope small { display: block; }
.learner-profile-scope strong { color: var(--text); font-size: 12px; }
.learner-profile-scope small { margin-top: 4px; color: var(--text-soft); font-size: 12px; line-height: 1.45; }
.learner-profile-scope .text-button { grid-column: 2; justify-self: start; }
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-profile-form label > span,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-preference-selects label > span,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-toggle-list strong,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-profile-scope strong { font-size: 13px; }
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-profile-form input,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-preference-selects select { font-size: 14px; }
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-toggle-list small,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-profile-scope small,
html[data-utiva-learner-text-size='Large'] .learner-profile-page .learner-preference-intro { font-size: 12px; }
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-profile-form label > span,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-preference-selects label > span,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-toggle-list strong,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-profile-scope strong { font-size: 15px; }
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-profile-form input,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-preference-selects select { min-height: 48px; font-size: 16px; }
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-toggle-list small,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-profile-scope small,
html[data-utiva-learner-text-size='Extra large'] .learner-profile-page .learner-preference-intro { font-size: 13px; }
html[data-utiva-learner-text-size='Large'] .app-shell--learner .page :where(p,small,label,input,select),
html[data-utiva-learner-text-size='Large'] .course-workspace :where(p,li,small,input) { font-size: 12px; }
html[data-utiva-learner-text-size='Large'] .course-workspace :where(button) { font-size: 12px; }
html[data-utiva-learner-text-size='Extra large'] .app-shell--learner .page :where(p,small,label,input,select),
html[data-utiva-learner-text-size='Extra large'] .course-workspace :where(p,li,small,input) { font-size: 13px; line-height: 1.6; }
html[data-utiva-learner-text-size='Extra large'] .course-workspace :where(button) { font-size: 14px; }
html[data-utiva-learner-text-size='Extra large'] .course-workspace .lesson-content__inner,
html[data-utiva-learner-text-size='Extra large'] .course-workspace .coach-panel,
html[data-utiva-learner-text-size='Extra large'] .course-workspace .transcript-panel,
html[data-utiva-learner-text-size='Extra large'] .course-workspace .support-resources { overflow-wrap: anywhere; }
html.utiva-learner-high-contrast { --text: #10121a; --text-soft: #343a49; --border: #aab6cf; }
html.utiva-learner-high-contrast .panel { border-color: #8e9bb8; box-shadow: 0 0 0 1px rgba(3,4,95,.08); }
html.utiva-learner-high-contrast .button--primary { box-shadow: 0 0 0 2px #fff,0 0 0 4px var(--utiva-blue); }
html.utiva-learner-reduced-motion *, html.utiva-learner-reduced-motion *::before, html.utiva-learner-reduced-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
.auth-shell { min-height: 100vh; padding: 25px clamp(24px, 4vw, 64px) 42px; color: var(--text); background: radial-gradient(circle at 82% 22%, rgba(251,175,27,.17), transparent 27%), linear-gradient(145deg, #f8faff 0%, #eef2ff 54%, #fff9eb 100%); }
.auth-brand { height: 43px; display: flex; align-items: center; gap: 14px; }
.auth-brand::after { content: ''; width: 1px; height: 22px; order: 1; background: var(--border); }
.auth-brand > span { order: 2; text-transform: uppercase; letter-spacing: 1.2px; color: var(--text-soft); font-size: 12px; font-weight: 800; }
.auth-back { position: absolute; right: clamp(24px, 4vw, 64px); top: 28px; min-height: 40px; padding: 8px 10px; display: inline-flex; align-items: center; gap: 7px; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.auth-layout { width: min(1040px, 100%); min-height: calc(100vh - 140px); margin: 34px auto 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: clamp(28px, 5vw, 76px); }
.auth-card { max-width: 520px; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(219,227,243,.95); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 30px 80px rgba(3,4,95,.13); animation: rise-in 220ms ease; }
.auth-card__mark { width: 50px; height: 50px; margin-bottom: 22px; border-radius: 15px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--utiva-yellow); box-shadow: 0 10px 24px rgba(251,175,27,.25); }
.auth-card h1 { margin: 0 0 11px; color: var(--utiva-blue-dark); font-size: clamp(30px, 3vw, 40px); line-height: 1.06; letter-spacing: -1.2px; font-weight: 800; }
.auth-card__intro { margin: 0 0 25px; color: var(--text-soft); font-size: 13px; line-height: 1.55; }
.auth-test-access { margin: 0 0 18px; padding: 14px; border: 1px solid rgba(5,7,148,.15); border-radius: 13px; background: linear-gradient(135deg, rgba(5,7,148,.055), rgba(251,175,27,.09)); }
.auth-test-access__heading { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; }
.auth-test-access__heading > span { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.auth-test-access__heading strong { display: block; color: var(--utiva-blue-dark); font-size: 13px; }
.auth-test-access__heading p { margin: 2px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.45; }
.auth-test-access__scope { margin-top: 12px; padding: 10px; border: 1px solid rgba(5,7,148,.09); border-radius: 9px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; background: rgba(255,255,255,.7); }
.auth-test-access__scope small,.auth-test-access__scope strong { display: block; }
.auth-test-access__scope small { color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; }
.auth-test-access__scope strong { margin-top: 2px; color: var(--utiva-blue-dark); font-size: 13px; }
.auth-test-access__button { width: 100%; min-height: 42px; margin: 12px 0 10px; justify-content: center; color: #fff; background: var(--utiva-blue); box-shadow: 0 8px 20px rgba(5,7,148,.16); }
.auth-check--test { width: fit-content; color: #464d61; font-weight: 600; }
.auth-test-access > small { margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(5,7,148,.1); display: flex; align-items: flex-start; gap: 6px; color: #846018; font-size: 12px; line-height: 1.45; }
.auth-test-access > small svg { flex: 0 0 auto; }
.auth-test-divider { position: relative; margin: 0 0 17px; border-top: 1px solid #edf0f7; text-align: center; }
.auth-test-divider span { position: relative; top: -8px; padding: 0 9px; color: #939aaa; background: #fff; text-transform: uppercase; letter-spacing: .7px; font-size: 12px; font-weight: 700; }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-form > label > span { display: block; margin-bottom: 7px; color: #3d4354; font-size: 13px; font-weight: 700; }
.auth-input { height: 48px; padding: 0 13px; border: 1px solid var(--border); border-radius: 11px; display: flex; align-items: center; gap: 9px; color: #7e879c; background: #fbfcff; transition: border 160ms ease, box-shadow 160ms ease; }
.auth-input:focus-within { border-color: var(--utiva-blue); box-shadow: 0 0 0 3px rgba(5,7,148,.09); background: #fff; }
.auth-input input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; font-size: 13px; }
.auth-input button { width: 40px; height: 40px; display: grid; place-items: center; color: var(--text-soft); background: transparent; cursor: pointer; }
.auth-input--code input { letter-spacing: 4px; font-size: 19px; font-weight: 800; }
.auth-form__options { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.auth-form__options > button, .auth-alternatives button { min-height: 40px; padding: 3px 0; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.auth-check { min-height: 40px; display: flex !important; align-items: center; gap: 7px; color: var(--text-soft); font-size: 13px; cursor: pointer; }
.auth-check input { position: absolute; opacity: 0; }
.auth-check > span { width: 17px; height: 17px; border: 1px solid var(--border); border-radius: 5px; display: grid; place-items: center; color: #fff; background: #fff; }
.auth-check input:checked + span { border-color: var(--utiva-blue); background: var(--utiva-blue); }
.auth-message, .auth-error, .auth-demo { margin: 0; padding: 10px 11px; border-radius: 9px; display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.45; }
.auth-message { color: #176a50; background: #eefaf5; }
.auth-message p { margin: 0; }
.auth-error { color: #ac2f40; background: #fff0f2; }
.auth-demo { color: #705000; background: var(--utiva-yellow-soft); }
.auth-demo svg { flex: 0 0 auto; }
.auth-sso { position: relative; margin-top: 2px; padding-top: 16px; border-top: 1px solid #edf0f7; }
.auth-sso > span { position: absolute; left: 50%; top: -8px; padding: 0 8px; transform: translateX(-50%); color: #99a0af; background: #fff; font-size: 12px; }
.auth-sso button { width: 100%; height: 42px; border: 1px solid var(--border); border-radius: 10px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--utiva-blue); background: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.auth-alternatives { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.auth-help { margin: 21px 0 0; padding-top: 17px; border-top: 1px solid #edf0f7; display: flex; align-items: center; gap: 6px; color: var(--text-soft); font-size: 13px; }
.auth-trust { padding: clamp(28px, 4vw, 48px); border-radius: 30px; color: #fff; position: relative; background: linear-gradient(145deg,var(--utiva-blue-dark),var(--utiva-blue)); box-shadow: 0 30px 70px rgba(3,4,95,.2); }
.auth-trust::before { display: none; }
.auth-trust__badge { width: fit-content; margin-bottom: 25px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; display: flex; align-items: center; gap: 7px; color: var(--utiva-yellow); background: rgba(255,255,255,.08); text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: 800; }
.auth-trust h2 { max-width: 470px; margin: 0 0 12px; font-size: clamp(28px, 3.5vw, 44px); line-height: 1.07; letter-spacing: -1.3px; }
.auth-trust > p { max-width: 500px; margin: 0 0 28px; color: rgba(255,255,255,.68); font-size: 13px; }
.auth-trust__list { display: flex; flex-direction: column; gap: 12px; }
.auth-trust__list > div { padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; display: grid; grid-template-columns: 38px 1fr; gap: 11px; align-items: center; background: rgba(255,255,255,.055); }
.auth-trust__list > div > span { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.auth-trust__list strong { display: block; font-size: 13px; }
.auth-trust__list p { margin: 2px 0 0; color: rgba(255,255,255,.72); font-size: 13px; }
.auth-trust__footer { margin-top: 24px; display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.48); font-size: 12px; }

.secure-chip { min-height: 38px; padding: 0 11px; border: 1px solid #ccebdd; border-radius: 20px; display: inline-flex; align-items: center; gap: 7px; color: var(--success); background: #f0fbf6; font-size: 12px; font-weight: 800; }
.security-hero { margin-bottom: 19px; padding: 24px 27px; border-radius: 17px; display: flex; align-items: center; justify-content: space-between; gap: 28px; color: #fff; background: linear-gradient(125deg, var(--utiva-blue-dark), var(--utiva-blue)); box-shadow: 0 18px 38px rgba(5,7,148,.16); }
.security-hero > div:first-child { display: flex; align-items: center; gap: 16px; }
.security-score { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.security-hero .eyebrow { margin-bottom: 4px; color: rgba(255,255,255,.53); }
.security-hero h2 { margin: 0 0 4px; font-size: 20px; }
.security-hero p:last-child { margin: 0; color: rgba(255,255,255,.76); font-size: 13px; }
.security-hero__stats { display: flex; align-items: center; gap: 4px; }
.security-hero__stats > div { min-width: 108px; padding: 4px 19px; border-left: 1px solid rgba(255,255,255,.14); text-align: center; }
.security-hero__stats strong, .security-hero__stats span { display: block; }
.security-hero__stats strong { color: var(--utiva-yellow); font-size: 25px; }
.security-hero__stats span { color: rgba(255,255,255,.72); font-size: 13px; }
.security-tabs { margin-bottom: 18px; padding: 4px; border: 1px solid var(--border); border-radius: 12px; display: inline-flex; gap: 3px; background: #fff; }
.security-tabs button { min-height: 40px; padding: 0 13px; border-radius: 8px; color: var(--text-soft); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; }
.security-tabs button.is-active { color: #fff; background: var(--utiva-blue); }
.security-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr); gap: 18px; align-items: start; }
.security-card { padding: 22px; }
.security-card--wide { min-height: 390px; }
.security-control { min-height: 61px; padding: 8px 0; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 37px 1fr auto; gap: 11px; align-items: center; }
.security-control > span:first-child, .method-card > span:first-child, .session-row > span:first-child { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.security-control strong, .security-control small { display: block; }
.security-control strong { font-size: 13px; }
.security-control small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }

.role-preview-banner { min-height: 43px; padding: 8px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #fff; background: var(--utiva-blue-dark); font-size: 12px; }
.role-preview-banner > div, .role-preview-banner button { display: flex; align-items: center; gap: 8px; }
.role-preview-banner button { padding: 7px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: #fff; background: rgba(255,255,255,.08); font-size: 12px; font-weight: 700; cursor: pointer; }
.admin-test-banner { min-height: 43px; padding: 8px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--utiva-blue-dark); background: #fff3cf; border-bottom: 1px solid #f1d271; font-size: 13px; }
.admin-test-banner > div, .admin-test-banner button { display: flex; align-items: center; gap: 8px; }
.admin-test-banner button { min-height: 40px; padding: 7px 10px; border: 1px solid rgba(3,4,95,.16); border-radius: 8px; color: var(--utiva-blue-dark); background: rgba(255,255,255,.7); font-size: 13px; font-weight: 700; cursor: pointer; }
.profile-menu__status--test > span { color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.access-overview { margin-bottom: 19px; padding: 23px 27px; border-radius: 17px; display: flex; align-items: center; justify-content: space-between; gap: 26px; color: #fff; background: linear-gradient(125deg, #03045f, #050794 65%, #1517b5); box-shadow: 0 18px 38px rgba(5,7,148,.15); }
.access-overview > div:first-child { display: flex; align-items: center; gap: 16px; }
.access-overview > div:first-child > span { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; color: var(--utiva-blue-dark); background: var(--utiva-yellow); }
.access-overview .eyebrow { margin-bottom: 4px; color: rgba(255,255,255,.5); }
.access-overview h2 { margin: 0 0 4px; font-size: 19px; }
.access-overview p:last-child { margin: 0; color: rgba(255,255,255,.76); font-size: 13px; }
.access-overview__stats { display: flex; align-items: center; }
.access-overview__stats > div { min-width: 100px; padding: 3px 17px; border-left: 1px solid rgba(255,255,255,.15); text-align: center; }
.access-overview__stats strong, .access-overview__stats span { display: block; }
.access-overview__stats strong { color: var(--utiva-yellow); font-size: 23px; }
.access-overview__stats span { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 13px; }
.access-role-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 18px; align-items: start; }
.role-list, .permission-panel, .access-table-panel { padding: 21px; }
.role-list .section-heading > span { min-width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); font-size: 12px; font-weight: 800; }
.role-list > button { width: 100%; min-height: 72px; padding: 11px 8px; border-top: 1px solid #edf0f7; display: grid; grid-template-columns: 38px 1fr auto; gap: 10px; align-items: center; text-align: left; color: var(--text); background: transparent; cursor: pointer; }
.role-list > button.is-active { margin: 0 -7px; width: calc(100% + 14px); padding-inline: 15px; border: 1px solid #cfd8ff; border-radius: 11px; color: var(--utiva-blue); background: #f4f6ff; }
.role-list button strong, .role-list button small { display: block; }
.role-list button strong { font-size: 13px; }
.role-list button small { margin-top: 3px; color: var(--text-soft); font-size: 13px; line-height: 1.4; }
.role-mark { width: 37px; height: 37px; border-radius: 10px; display: grid; place-items: center; color: var(--utiva-blue); background: #eef0ff; }
.role-mark--learning { color: #12614b; background: #eaf9f2; }
.role-mark--finance { color: #8c5700; background: #fff5d9; }
.role-mark--client { color: #6d35a0; background: #f5ecff; }
.permission-panel__heading { padding-bottom: 17px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.permission-panel__heading h2 { margin: 3px 0 4px; font-size: 18px; }
.permission-panel__heading p:last-child { margin: 0; color: var(--text-soft); font-size: 13px; }
.scope-strip { margin-bottom: 15px; padding: 11px 13px; border: 1px solid #dfe5f4; border-radius: 11px; display: flex; gap: 10px; color: var(--utiva-blue); background: #f8faff; }
.scope-strip strong, .scope-strip span { display: block; }
.scope-strip strong { font-size: 13px; }
.scope-strip span { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.permission-matrix { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.permission-matrix__header, .permission-row { display: grid; grid-template-columns: minmax(0,1fr) 120px; gap: 14px; align-items: center; }
.permission-matrix__header { min-height: 33px; padding: 0 14px; color: #6c7487; background: #f5f7fb; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.permission-row { min-height: 57px; padding: 8px 14px; border-top: 1px solid #edf0f7; }
.permission-row strong, .permission-row small { display: block; }
.permission-row strong { font-size: 13px; }
.permission-row small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.permission-pill { justify-self: start; min-width: 90px; min-height: 40px; padding: 0 10px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 800; cursor: pointer; }
.permission-pill--manage { color: #0c6a4c; background: #eaf8f2; }
.permission-pill--view { color: #3c4f9d; background: #edf1ff; }
.permission-pill--none { color: #8b5261; background: #fff0f3; }
.permission-pill:disabled { cursor: not-allowed; opacity: .75; }
.permission-save { padding-top: 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.permission-save > span { display: flex; align-items: center; gap: 7px; color: var(--text-soft); font-size: 13px; }
.access-policy-diff { max-height: 220px; margin-bottom: 14px; border: 1px solid var(--border); border-radius: 10px; overflow: auto; }
.access-policy-diff article { min-height: 50px; padding: 9px 11px; border-top: 1px solid #edf0f7; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.access-policy-diff article:first-child { border-top: 0; }
.access-policy-diff p { margin: 0; }
.access-policy-diff p strong,.access-policy-diff p small { display: block; }
.access-policy-diff p strong { font-size: 13px; }
.access-policy-diff p small { color: var(--text-soft); font-size: 13px; }
.access-policy-diff article > span { display: flex; align-items: center; gap: 7px; color: var(--text-soft); font-size: 13px; }
.access-policy-diff article > span strong { color: var(--utiva-blue); }
.access-policy-modal .form-field { margin-top: 10px; }
.access-policy-modal textarea { font: 500 13px/1.5 Poppins,Arial,sans-serif; resize: vertical; }
.access-policy-note { margin-top: 12px; padding: 10px; border-radius: 9px; display: flex; gap: 8px; color: var(--utiva-blue); background: #f5f7ff; }
.access-policy-note p { margin: 0; }
.access-policy-note strong,.access-policy-note small { display: block; }
.access-policy-note strong { font-size: 13px; }
.access-policy-note small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.access-audit-boundary { margin: 12px 14px; padding: 9px; border-radius: 8px; display: flex; gap: 6px; color: var(--text-soft); background: var(--surface-soft); font-size: 13px; }
.assignment-table, .audit-list { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.assignment-table__header, .admin-assignment-row { display: grid; grid-template-columns: minmax(210px,1.4fr) 170px minmax(150px,1fr) 80px; gap: 12px; align-items: center; }
.assignment-table__header { min-height: 34px; padding: 0 14px; color: #6d7485; background: #f5f7fb; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.admin-assignment-row { min-height: 62px; padding: 8px 14px; border-top: 1px solid #edf0f7; }
.admin-assignment-row > div:first-child { display: flex; align-items: center; gap: 9px; }
.admin-assignment-row strong, .admin-assignment-row small { display: block; }
.admin-assignment-row strong, .admin-assignment-row > span { font-size: 13px; }
.admin-assignment-row small { margin-top: 2px; color: var(--text-soft); font-size: 13px; }
.admin-assignment-row select { width: 100%; min-height: 40px; padding: 0 9px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: #fff; font: inherit; font-size: 13px; }
.assignment-status > small { display: none; }
.request-list { display: grid; gap: 10px; }
.access-request { padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; align-items: center; }
.request-icon { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.request-title { display: flex; align-items: center; gap: 8px; }
.request-title h3 { margin: 0; font-size: 13px; }
.request-title span, .access-request small { color: var(--text-soft); font-size: 13px; }
.access-request p { margin: 4px 0 3px; font-size: 13px; }
.access-request > div:last-child { display: flex; gap: 8px; }

@media (max-width: 980px) {
  .access-overview { align-items: flex-start; flex-direction: column; }
  .access-overview__stats { width: 100%; }
  .access-overview__stats > div { flex: 1; }
  .access-role-layout { grid-template-columns: 1fr; }
  .role-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .role-list .section-heading { grid-column: 1 / -1; }
  .role-list > button { border: 1px solid var(--border); border-radius: 11px; }
  .assignment-table { overflow-x: auto; }
  .assignment-table__header, .admin-assignment-row { min-width: 770px; }
}

@media (max-width: 640px) {
  .learner-activity-heading { align-items: flex-start; flex-direction: column; }
  .activity-period { width: 100%; }
  .activity-period button { flex: 1; }
  .activity-metric-grid { grid-template-columns: 1fr; }
  .learner-activity-layout { grid-template-columns: 1fr; }
  .activity-event-list article { grid-template-columns: 38px 1fr; }
  .activity-event-list article > div { grid-column: 2; text-align: left; }
  .learning-plan-card__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .learning-plan-card__actions .button { width: 100%; }
  .role-preview-banner { padding-inline: 18px; align-items: flex-start; flex-direction: column; }
  .role-preview-banner button { width: 100%; justify-content: center; }
  .admin-test-banner { padding-inline: 18px; align-items: flex-start; flex-direction: column; }
  .admin-test-banner button { width: 100%; justify-content: center; }
  .access-overview { padding: 20px; }
  .access-overview__stats { overflow-x: auto; }
  .access-overview__stats > div { min-width: 95px; padding-inline: 9px; }
  .role-list { grid-template-columns: 1fr; }
  .permission-panel__heading, .permission-save { align-items: stretch; flex-direction: column; }
  .permission-panel__heading .button, .permission-save .button { width: 100%; justify-content: center; }
  .permission-matrix__header, .permission-row { grid-template-columns: 1fr auto; }
  .access-request { grid-template-columns: 39px 1fr; }
  .access-request > div:last-child { grid-column: 1 / -1; }
  .access-request > div:last-child .button { flex: 1; }
  .assignment-table { overflow: visible; display: grid; gap: 10px; }
  .assignment-table__header { display: none; }
  .admin-assignment-row { min-width: 0; min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 1fr; gap: 11px; background: #fff; }
  .admin-assignment-row > label { display: grid; gap: 5px; }
  .admin-assignment-row > label::before,
  .admin-assignment-row > span::before { display: block; margin-bottom: 3px; color: #7b8294; text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
  .admin-assignment-row > label::before { content: 'Role'; }
  .admin-assignment-row > span:nth-child(3)::before { content: 'Data scope'; }
  .assignment-status > small { margin-bottom: 5px; display: block; color: #7b8294; text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
  .assignment-status > .health-pill { width: fit-content; }
  .audit-list { overflow: visible; display: grid; gap: 10px; border-top: 0; }
  .audit-list__header { display: none; }
  .audit-row { min-width: 0; min-height: 0; padding: 13px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #fff; }
  .audit-row > div, .audit-row > span:nth-child(2) { grid-column: 1 / -1; }
  .audit-row > div { align-items: flex-start; }
  .audit-row > span { min-width: 0; overflow-wrap: anywhere; }
  .audit-row > span:nth-child(2)::before,
  .audit-row > span:nth-child(3)::before,
  .audit-row > span:nth-child(4)::before { display: block; margin-bottom: 4px; color: #7b8294; text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
  .audit-row > span:nth-child(2)::before { content: 'Context'; }
  .audit-row > span:nth-child(3)::before { content: 'Time'; }
  .audit-row > span:nth-child(4)::before { content: 'Result'; }
}
.break-glass { border-color: #f0dcae; background: linear-gradient(180deg, #fffdf8, #fff8e8); }
.break-glass__icon { width: 45px; height: 45px; margin-bottom: 16px; border-radius: 13px; display: grid; place-items: center; color: #9b6100; background: var(--utiva-yellow); }
.break-glass h2 { margin: 0 0 9px; color: var(--utiva-blue-dark); font-size: 20px; }
.break-glass > p:not(.eyebrow) { color: var(--text-soft); font-size: 13px; }
.break-glass ul { margin: 17px 0 21px; padding: 0; display: flex; flex-direction: column; gap: 8px; list-style: none; color: #5f4b22; font-size: 13px; }
.break-glass li { display: flex; align-items: center; gap: 7px; }
.method-list, .session-list { border-top: 1px solid #edf0f7; }
.method-card { min-height: 75px; padding: 11px 4px; border-bottom: 1px solid #edf0f7; display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; gap: 11px; align-items: center; }
.method-card strong, .method-card p, .session-row strong, .session-row p { display: block; margin: 0; }
.method-card strong, .session-row strong { font-size: 13px; }
.method-card p, .session-row p { margin-top: 3px; color: var(--text-soft); font-size: 13px; }
.session-row { min-height: 78px; padding: 11px 4px; border-bottom: 1px solid #edf0f7; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.session-policy { margin-top: 18px; padding: 14px; border-radius: 12px; display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.session-policy strong { display: block; font-size: 13px; }
.session-policy p { margin: 2px 0 0; color: var(--text-soft); font-size: 13px; }
.session-policy button { min-height: 40px; color: var(--utiva-blue); background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.audit-list { overflow-x: auto; border-top: 1px solid #edf0f7; }
.audit-list__header, .audit-row { min-width: 760px; display: grid; grid-template-columns: 1.05fr 1.35fr .75fr .45fr; gap: 14px; align-items: center; }
.audit-list__header { min-height: 38px; color: #8b92a4; text-transform: uppercase; letter-spacing: .8px; font-size: 12px; font-weight: 800; }
.audit-row { min-height: 61px; border-top: 1px solid #edf0f7; color: var(--text-soft); font-size: 13px; }
.audit-row > div { display: flex; align-items: center; gap: 8px; color: var(--text); }
.audit-row > div > span { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; color: var(--utiva-blue); background: var(--surface-soft); }
.session-layer { z-index: 90; }
.session-modal { width: min(450px, 100%); padding: 29px; border-radius: 22px; background: #fff; box-shadow: 0 26px 70px rgba(3,4,95,.28); animation: rise-in 220ms ease; }
.session-modal__icon { width: 48px; height: 48px; margin-bottom: 16px; border-radius: 14px; display: grid; place-items: center; color: #805300; background: var(--utiva-yellow); }
.session-modal h2 { margin: 0 0 8px; color: var(--utiva-blue-dark); font-size: 25px; line-height: 1.15; }
.session-modal > p:not(.eyebrow) { color: var(--text-soft); font-size: 13px; }
.session-countdown { margin: 20px 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: flex; align-items: baseline; justify-content: center; gap: 7px; background: var(--surface-soft); }
.session-countdown strong { color: var(--utiva-blue); font-size: 31px; }
.session-countdown span { color: var(--text-soft); font-size: 13px; }
.session-modal__actions { display: flex; justify-content: flex-end; gap: 9px; }

@media (max-width: 1100px) {
  .activity-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .learner-activity-layout { grid-template-columns: 1fr; }
  .assignment-layout { grid-template-columns: 1fr; }
  .assignment-layout aside { grid-template-columns: 1fr 1fr; }
  .verification-grid { grid-template-columns: 1fr; }
  .verification-grid aside { grid-template-columns: 1fr 1fr; }
  .trainer-summary { grid-template-columns: 1fr 1fr; }
  .trainer-filters { grid-template-columns: 1fr 1fr; }
  .trainer-filters .mini-search { grid-column: 1 / -1; }
  .lifecycle-grid { grid-template-columns: 1fr; }
  .lifecycle-grid aside { grid-template-columns: 1fr 1fr; }
  .invitation-layout, .bulk-import-layout { grid-template-columns: 1fr; }
  .invitation-guide, .bulk-rules { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
  .invitation-guide > .eyebrow, .invitation-guide > h2, .invitation-guide__note, .bulk-rules > .eyebrow, .bulk-rules > h2 { grid-column: 1 / -1; }
  .sidebar { width: 226px; }
  .app-main { margin-left: 226px; }
  .page { width: calc(100% - 42px); }
  .focus-card { grid-template-columns: 1.2fr .8fr; }
  .library-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-focus { grid-template-columns: 90px 1fr; }
  .trainer-focus__action { grid-column: 2; flex-direction: row; justify-content: flex-start; }
  .operations-grid, .admin-grid { grid-template-columns: 1fr; }
  .communications-grid { grid-template-columns: 1fr; }
  .review-queue { grid-column: 1; grid-row: auto; }
  .role-panel--wide, .trainer-attention { grid-column: 1; }
  .admin-attention { min-height: auto; }
  .data-panel { overflow-x: auto; }
  .data-table { min-width: 820px; }
  .learning-plan-card__grid { grid-template-columns: 1fr 1fr; }
  .weekly-goal { grid-column: 1 / -1; }
  .credential-spotlight { grid-template-columns: minmax(260px,.85fr) 1.15fr; gap: 24px; }
  .security-hero { align-items: flex-start; flex-direction: column; }
  .security-hero__stats { width: 100%; justify-content: stretch; }
  .security-hero__stats > div { flex: 1; }
  .analytics-filter-grid { grid-template-columns: repeat(2,minmax(180px,1fr)); }
  .analytics-reset { width: fit-content; }
  .product-filter-panel { grid-template-columns: 1fr 1fr; }
  .organisation-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .organisation-filter-panel { grid-template-columns: minmax(260px,1fr) 1fr; }
  .organisation-clear { width: fit-content; }
  .organisation-boundary-strip { grid-template-columns: 1fr 1fr; row-gap: 10px; }
  .organisation-boundary-strip > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .organisation-profile-grid { grid-template-columns: 1fr; }
  .organisation-profile-card--wide, .organisation-tenant-card, .organisation-access-policy { grid-column: 1; }
  .organisation-tenant-card { grid-row: auto; }
  .organisation-branding-grid { grid-template-columns: 1fr; }
  .organisation-brand-preview { min-height: 360px; }
  .seat-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .seat-contract-card { grid-template-columns: minmax(300px,1fr) 1fr 1fr; }
  .seat-contract-card > .text-button { grid-column: 2 / -1; justify-self: end; }
  .seat-management__grid { grid-template-columns: 1fr; }
  .seat-management__aside { grid-template-columns: 1fr 1fr; }
  .seat-export { grid-column: 1 / -1; }
  .cohort-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .enterprise-cohorts__grid { grid-template-columns: 1fr; }
  .cohort-readiness { grid-template-columns: 1fr 1fr; }
  .user-directory-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-directory-filters { grid-template-columns: 1fr 1fr; }
  .user-directory-filters .mini-search { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .sidebar { width: 255px; transform: translateX(-105%); box-shadow: 20px 0 60px rgba(3,4,95,.22); transition: transform 220ms ease; }
  .sidebar.is-open { transform: translateX(0); }
  .sidebar__close { display: grid !important; }
  .mobile-scrim { display: block; position: fixed; inset: 0; z-index: 25; visibility: hidden; opacity: 0; background: rgba(3,4,95,.48); backdrop-filter: blur(3px); transition: opacity 180ms ease, visibility 180ms ease; }
  .mobile-scrim.is-open { visibility: visible; opacity: 1; }
  .app-main { margin-left: 0; }
  .menu-button { display: grid; }
  .topbar { padding: 0 20px; }
  .topbar__search { margin-right: auto; }
  .focus-card { grid-template-columns: 1fr; }
  .focus-card__visual { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .community-layout { grid-template-columns: 1fr; }
  .community-boundary { grid-template-columns: 24px 1fr; }
  .community-boundary > span { grid-column: 2; justify-self: start; }
  .community-filters { overflow-x: auto; }
  .community-reply-form { grid-template-columns: 1fr; }
  .community-reply-form .button { width: 100%; justify-content: center; }
  .community-reply-form > small { grid-column: auto; }
  .course-shell { grid-template-columns: 270px minmax(0,1fr); }
  .lesson-support { grid-column: 2; }
  .lesson-content__inner { width: calc(100% - 42px); }
  .role-page { width: calc(100% - 42px); }
  .role-switcher__trigger > span { display: none; }
  .organisation-heading { align-items: flex-start; }
  .organisation-heading .heading-actions { width: 100%; flex-wrap: wrap; }
  .organisation-filter-panel { grid-template-columns: 1fr 1fr; }
  .organisation-search { grid-column: 1 / -1; }
  .organisation-profile-hero { align-items: flex-start; flex-direction: column; }
  .organisation-profile-actions { width: 100%; }
  .organisation-profile-actions label { flex: 1; }
  .organisation-profile-actions select { width: 100%; }
  .organisation-profile-tabs { overflow-x: auto; }
  .organisation-profile-tabs button { flex: 0 0 auto; }
  .seat-contract-card { grid-template-columns: 1fr 1fr; }
  .seat-contract-card__main { grid-column: 1 / -1; }
  .seat-contract-card > .text-button { grid-column: 1 / -1; justify-self: start; }
  .cohort-card-grid { grid-template-columns: 1fr; }
  .trainer-cohort-measure-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-cohort-progress-layout { grid-template-columns: 1fr; }
  .trainer-cohort-progress-layout > aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-cohort-next { grid-column: 1 / -1; }
  .skill-collections { grid-template-columns: 1fr; }
  .credential-spotlight { grid-template-columns: 1fr; }
  .credential-wallet-summary { grid-template-columns: 1fr; }
  .credential-preview { max-width: 520px; width: 100%; justify-self: center; }
  .credential-progress { grid-template-columns: 1fr; gap: 22px; }
  .auth-layout { max-width: 560px; grid-template-columns: 1fr; }
  .auth-card { max-width: none; }
  .auth-trust { display: none; }
  .security-grid { grid-template-columns: 1fr; }
  .analytics-grid { grid-template-columns: 1fr; }
  .analytics-integrity-strip { grid-template-columns: 1fr; }
  .analytics-integrity-strip > div, .analytics-integrity-strip > button { padding: 10px 0; border-left: 0; border-top: 1px solid #e8ecf5; }
  .analytics-integrity-strip > div:first-child { border-top: 0; }
}

@media (max-width: 680px) {
  .trainer-cohort-progress-hero { padding: 22px; align-items: flex-start; flex-direction: column; }
  .trainer-cohort-progress-hero > div:last-child { width: 100%; flex-wrap: wrap; }
  .trainer-cohort-measure-grid { grid-template-columns: 1fr; }
  .trainer-cohort-progress-layout > aside { grid-template-columns: 1fr; }
  .trainer-cohort-next { grid-column: auto; }
  .trainer-module-progress__row { padding: 12px 0; grid-template-columns: 30px 1fr; }
  .trainer-module-progress__row > div { grid-column: 2; }
  .learner-registration > header .text-button { font-size: 0; }
  .registration-form { grid-template-columns: 1fr; }
  .registration-form--wide { grid-column: 1; }
  .onboarding-option-grid, .onboarding-select-row { grid-template-columns: 1fr; }
  .learner-profile-form, .learner-preference-selects, .learner-profile-layout > aside { grid-template-columns: 1fr; }
  .learner-profile-form--wide { grid-column: 1; }
  .topbar { height: 64px; padding-left: max(15px, env(safe-area-inset-left)); padding-right: max(15px, env(safe-area-inset-right)); gap: 8px; }
  .topbar__search { flex: 0 1 190px; border: 0; background: transparent; }
  .topbar__search input, .topbar__search > span { display: none; }
  .topbar__profile > div:nth-child(2), .topbar__profile > svg { display: none; }
  .profile-menu { position: fixed; left: 15px; right: 15px; top: 58px; width: auto; }
  .topbar__actions { gap: 5px; }
  .page { width: calc(100% - 30px); padding-top: 26px; padding-bottom: max(40px, env(safe-area-inset-bottom)); }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .page-heading h1 { font-size: 28px; }
  .streak { align-self: stretch; }
  .focus-card { min-height: auto; padding: 28px 22px; border-radius: 18px; }
  .focus-card h2 { font-size: 31px; }
  .focus-card__meta { flex-direction: column; gap: 7px; }
  .panel--courses, .assignment-panel, .community-card { padding: 18px 15px; }
  .course-row { grid-template-columns: 65px minmax(0,1fr); padding-left: 2px; padding-right: 2px; }
  .course-art--compact { width: 65px; height: 65px; }
  .course-row__arrow { display: none; }
  .assignment-row { grid-template-columns: auto minmax(0,1fr) auto; }
  .assignment-row__due { display: none; }
  .library-grid { grid-template-columns: 1fr; }
  .learning-summary { overflow-x: auto; }
  .learning-summary div { min-width: 145px; }
  .library-toolbar { align-items: stretch; flex-direction: column; }
  .library-controls { width: 100%; align-items: stretch; flex-direction: column; }
  .library-sort { width: 100%; }
  .library-toolbar .mini-search { width: 100%; margin: 0; }
  .learning-plan-card { padding: 19px; }
  .learning-plan-card__heading { align-items: flex-start; flex-direction: column; }
  .learning-plan-card__grid { grid-template-columns: 1fr; }
  .weekly-goal { grid-column: auto; }
  .discovery-hero { min-height: auto; padding: 30px 22px; grid-template-columns: 1fr; }
  .discovery-hero h1 { font-size: 34px; }
  .discovery-hero__graphic { display: none; }
  .discovery-grid { grid-template-columns: 1fr; }
  .catalogue-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .credential-spotlight { padding: 16px; }
  .credential-preview { min-height: 275px; padding: 20px; }
  .credential-details { padding: 17px 5px; }
  .credential-meta { grid-template-columns: 1fr; gap: 11px; }
  .credential-actions { align-items: stretch; flex-direction: column; }
  .credential-progress { padding: 19px; }
  .next-class { grid-template-columns: 1fr; }
  .next-class__date { padding: 22px; flex-direction: row; gap: 10px; }
  .next-class__date strong { font-size: 45px; }
  .next-class__body { padding: 27px 22px; }
  .assignment-table__header { display: none; }
  .assignment-table__row { padding: 16px; grid-template-columns: 1fr auto; gap: 10px; }
  .assignment-table__row > span { display: none; }
  .modal-layer { padding: 12px; }
  .modal { max-height: calc(100vh - 24px); padding: 19px; border-radius: 20px; }
  .modal__hero { margin: -19px -19px 18px; padding: 31px 56px 27px 22px; border-radius: 20px 20px 14px 14px; }
  .modal__hero h2 { font-size: 30px; }
  .modal__details { grid-template-columns: 1fr; }
  .modal__footer { flex-direction: column-reverse; }
  .modal__footer .button { width: 100%; }
  .course-header { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); grid-template-columns: 1fr auto; }
  .course-header__back { font-size: 0; }
  .course-header__title { display: none; }
  .course-header .brand { grid-column: 2; }
  .course-shell { display: block; }
  .course-nav { border-right: 0; border-bottom: 1px solid var(--border); }
  .course-nav__heading { padding: 20px 18px 10px; }
  .lesson-list { max-height: 225px; overflow: auto; }
  .lesson-content__inner { width: calc(100% - 30px); padding-top: 29px; }
  .lesson-position { grid-template-columns: 1fr; gap: 8px; }
  .lesson-position p { min-width: 0; text-align: left; }
  .lesson-content h1 { font-size: 32px; }
  .video-player::before { font-size: 32px; letter-spacing: -2px; }
  .video-player > button { width: 52px; height: 52px; }
  .lesson-footer { flex-direction: column-reverse; }
  .lesson-footer .button { width: 100%; }
  .lesson-footer .text-button { margin: 4px auto; }
  .lesson-support { border-left: 0; border-top: 1px solid var(--border); }
  .support-tabs { max-width: none; }
  .coach-panel,.transcript-panel,.support-resources { max-width: none; }
  .learner-notification-centre > footer { padding-bottom: env(safe-area-inset-bottom); }
  .support-tabs button,.course-header button,.notification-centre-toolbar [role="tab"] { min-height: 44px; }
  .topbar .icon-button,.menu-button { width: 40px; height: 40px; }
  .knowledge-check { padding: 17px; }
  .knowledge-check__actions { align-items: stretch; flex-direction: column; }
  .knowledge-check__actions > span { margin-left: 0; }
  .knowledge-attempt-history article { grid-template-columns: 25px 1fr; }
  .knowledge-attempt-history article time { grid-column: 2; }
  .study-plan-modal { max-height: calc(100vh - 24px); padding: 19px; border-radius: 20px; }
  .study-plan-modal__hero { margin: -19px -19px 0; padding: 29px 55px 25px 21px; border-radius: 20px 20px 14px 14px; }
  .role-page { width: calc(100% - 30px); }
  .role-heading { align-items: stretch; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; padding: 0 11px; }
  .role-switcher { margin-left: auto; }
  .role-switcher__trigger { width: 40px; flex: 0 0 40px; padding: 0; justify-content: center; }
  .role-switcher__trigger svg:last-child { display: none; }
  .role-menu { position: fixed; left: 15px; right: 15px; top: 57px; width: auto; }
  .trainer-focus { padding: 22px; grid-template-columns: 1fr; gap: 16px; }
  .trainer-focus__time { height: auto; padding-bottom: 14px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 7px; }
  .trainer-focus__time strong { font-size: 34px; }
  .trainer-focus__action { grid-column: 1; align-items: stretch; }
  .trainer-focus__action .button { width: 100%; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .metric-card { min-height: 140px; padding: 14px; grid-template-columns: 36px 1fr; }
  .metric-card__icon { width: 36px; height: 36px; }
  .metric-card > strong { font-size: 23px; }
  .cohort-table__row { padding: 12px 0; grid-template-columns: 1fr auto; }
  .cohort-table__row .cohort-progress, .cohort-table__row .icon-button { display: none; }
  .attention-row { grid-template-columns: auto 1fr; }
  .attention-row .button { grid-column: 2; width: fit-content; }
  .content-module { grid-template-columns: 46px 1fr; padding: 16px; gap: 12px; }
  .content-module__number { width: 44px; height: 44px; }
  .content-module__status { grid-column: 2; }
  .mini-search { width: 100%; }
  .data-toolbar { align-items: stretch; flex-direction: column; }
  .toolbar-actions { justify-content: flex-end; }
  .segmented { overflow-x: auto; }
  .commerce-scope { grid-template-columns: 1fr; align-items: stretch; }
  .commerce-scope__status { justify-self: start; }
  .commerce-insights { grid-template-columns: 1fr; }
  .reconciliation-values { grid-template-columns: 1fr; }
  .reconciliation-values > svg { transform: rotate(90deg); }
  .reconciliation-variance { padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .order-table, .transaction-table { min-width: 0; width: 100%; padding: 10px; }
  .order-table .finance-table__header, .transaction-table .finance-table__header { display: none; }
  .order-table .finance-table__row, .transaction-table .finance-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .order-table .finance-table__row:last-child, .transaction-table .finance-table__row:last-child { margin-bottom: 0; }
  .order-table .finance-table__row > *, .transaction-table .finance-table__row > * { min-width: 0; }
  .order-table .finance-table__row > span:not(.health-pill), .transaction-table .finance-table__row > span:not(.health-pill) { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .order-table .finance-table__row > span b, .order-table .finance-table__row > span small, .transaction-table .finance-table__row > span b, .transaction-table .finance-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .order-table .finance-table__row > *::before, .transaction-table .finance-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .order-table .finance-table__row > :nth-child(1)::before { content: 'Order'; }
  .order-table .finance-table__row > :nth-child(2)::before { content: 'Product'; }
  .order-table .finance-table__row > :nth-child(3)::before { content: 'Ticket'; }
  .order-table .finance-table__row > :nth-child(4)::before { content: 'Payer'; }
  .order-table .finance-table__row > :nth-child(5)::before { content: 'Amount'; }
  .order-table .finance-table__row > :nth-child(6)::before { content: 'Status'; }
  .transaction-table .finance-table__row > :nth-child(1)::before { content: 'Transaction'; }
  .transaction-table .finance-table__row > :nth-child(2)::before { content: 'Source'; }
  .transaction-table .finance-table__row > :nth-child(3)::before { content: 'Order / invoice'; }
  .transaction-table .finance-table__row > :nth-child(4)::before { content: 'Reference'; }
  .transaction-table .finance-table__row > :nth-child(5)::before { content: 'Amount'; }
  .transaction-table .finance-table__row > :nth-child(6)::before { content: 'Status'; }
  .order-table .finance-table__row > .health-pill, .transaction-table .finance-table__row > .health-pill { width: fit-content; justify-self: start; }
  .order-detail__hero { flex-direction: column; }
  .order-detail__facts { grid-template-columns: 1fr 1fr; }
  .order-state-grid { grid-template-columns: 1fr; }
  .transaction-match-grid { grid-template-columns: 1fr 1fr; }
  .suggested-match > div { grid-template-columns: 34px 1fr; }
  .suggested-match .health-pill { grid-column: 2; width: fit-content; }
  .gateway-config__grid { grid-template-columns: 1fr; }
  .invoice-register { overflow: hidden; }
  .invoice-table { min-width: 0; width: 100%; padding: 10px; }
  .invoice-table__header { display: none; }
  .invoice-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .invoice-table__row:last-child { margin-bottom: 0; }
  .invoice-table__row > * { min-width: 0; }
  .invoice-table__row > span:not(.health-pill), .invoice-table__row b, .invoice-table__row small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .invoice-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .invoice-table__row > :nth-child(1)::before { content: 'Invoice'; }
  .invoice-table__row > :nth-child(2)::before { content: 'Organisation'; }
  .invoice-table__row > :nth-child(3)::before { content: 'Order'; }
  .invoice-table__row > :nth-child(4)::before { content: 'Total'; }
  .invoice-table__row > :nth-child(5)::before { content: 'Due'; }
  .invoice-table__row > :nth-child(6)::before { content: 'Status'; }
  .invoice-table__row > .health-pill { width: fit-content; justify-self: start; }
  .invoice-summary { grid-template-columns: 1fr 1fr; }
  .invoice-preview-sheet { padding: 16px; }
  .invoice-preview-sheet__meta, .invoice-preview-sheet__bill { grid-template-columns: 1fr; }
  .invoice-total-preview { grid-template-columns: 1fr; }
  .invoice-total-preview > div:not(:last-child) { padding-bottom: 9px; border-right: 0; border-bottom: 1px solid var(--border); }
  .plan-register { overflow: hidden; }
  .plan-table { min-width: 0; width: 100%; padding: 10px; }
  .plan-table__header { display: none; }
  .plan-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .plan-table__row:last-child { margin-bottom: 0; }
  .plan-table__row > * { min-width: 0; }
  .plan-table__row > span:not(.health-pill), .plan-table__row b, .plan-table__row small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .plan-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .plan-table__row > :nth-child(1)::before { content: 'Plan'; }
  .plan-table__row > :nth-child(2)::before { content: 'Payer'; }
  .plan-table__row > :nth-child(3)::before { content: 'Paid'; }
  .plan-table__row > :nth-child(4)::before { content: 'Balance'; }
  .plan-table__row > :nth-child(5)::before { content: 'Access'; }
  .plan-table__row > :nth-child(6)::before { content: 'Status'; }
  .plan-table__row > .health-pill { width: fit-content; justify-self: start; }
  .plan-balance { grid-template-columns: 1fr 1fr; }
  .instalment-list > div:not(.section-heading) { grid-template-columns: 26px 1fr auto; }
  .instalment-list > div > b { display: none; }
  .payment-record-panel > div:nth-last-child(2) { align-items: stretch; flex-direction: column-reverse; }
  .payment-record-panel > div:nth-last-child(2) .button { width: 100%; }
  .schedule-preview > div:first-child { align-items: flex-start; flex-direction: column; }
  .schedule-preview > div:not(:first-child) { grid-template-columns: 1fr auto; }
  .schedule-preview small { grid-column: 1 / -1; text-align: left; }
  .reversal-policy-banner { align-items: stretch; flex-direction: column; }
  .reversal-policy-banner > div:last-child { overflow-x: auto; }
  .reversal-policy-banner > div:last-child > span { min-width: 112px; }
  .reversal-register { overflow: hidden; }
  .reversal-register .toolbar-actions { width: 100%; flex-wrap: wrap; }
  .reversal-table { min-width: 0; width: 100%; padding: 10px; }
  .reversal-table__header { display: none; }
  .reversal-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .reversal-table__row:last-child { margin-bottom: 0; }
  .reversal-table__row > * { min-width: 0; }
  .reversal-table__row > span:not(.health-pill), .reversal-table__row b, .reversal-table__row small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .reversal-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .reversal-table__row > :nth-child(1)::before { content: 'Case'; }
  .reversal-table__row > :nth-child(2)::before { content: 'Type / order'; }
  .reversal-table__row > :nth-child(3)::before { content: 'Payer'; }
  .reversal-table__row > :nth-child(4)::before { content: 'Amount'; }
  .reversal-table__row > :nth-child(5)::before { content: 'Impact'; }
  .reversal-table__row > :nth-child(6)::before { content: 'Status'; }
  .reversal-table__row > :nth-child(5) { grid-column: 1 / -1; }
  .reversal-table__row > .health-pill { width: fit-content; justify-self: start; }
  .reversal-summary { grid-template-columns: 1fr; }
  .reversal-editor > div:last-child, .reversal-editor > div:nth-last-child(2) { align-items: stretch; flex-direction: column-reverse; }
  .reversal-editor > div:last-child .button, .reversal-editor > div:nth-last-child(2) .button { width: 100%; }
  .pricing-settings-layout { grid-template-columns: 1fr; }
  .pricing-preview { position: static; }
  .pricing-rule-register { overflow: hidden; }
  .pricing-rule-register .product-tabs { overflow-x: auto; }
  .pricing-rule-register .rule-table { min-width: 0; width: 100%; padding: 10px; }
  .pricing-rule-register .rule-table__header { display: none; }
  .pricing-rule-register .rule-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .pricing-rule-register .rule-table__row:last-child { margin-bottom: 0; }
  .pricing-rule-register .rule-table__row > * { min-width: 0; }
  .pricing-rule-register .rule-table__row > span:not(.health-pill), .pricing-rule-register .rule-table__row b, .pricing-rule-register .rule-table__row small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .pricing-rule-register .rule-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .rule-table--currency .rule-table__row > :nth-child(1)::before { content: 'Currency'; }
  .rule-table--currency .rule-table__row > :nth-child(2)::before { content: 'Market'; }
  .rule-table--currency .rule-table__row > :nth-child(3)::before { content: 'Conversion'; }
  .rule-table--currency .rule-table__row > :nth-child(4)::before { content: 'Settlement'; }
  .rule-table--tax .rule-table__row > :nth-child(1)::before { content: 'Rule'; }
  .rule-table--tax .rule-table__row > :nth-child(2)::before { content: 'Market'; }
  .rule-table--tax .rule-table__row > :nth-child(3)::before { content: 'Rate'; }
  .rule-table--tax .rule-table__row > :nth-child(4)::before { content: 'Applies to'; }
  .rule-table--discount .rule-table__row > :nth-child(1)::before { content: 'Rule'; }
  .rule-table--discount .rule-table__row > :nth-child(2)::before { content: 'Code'; }
  .rule-table--discount .rule-table__row > :nth-child(3)::before { content: 'Value'; }
  .rule-table--discount .rule-table__row > :nth-child(4)::before { content: 'Audience'; }
  .pricing-rule-register .rule-table__row > :nth-child(4) { grid-column: 1 / -1; }
  .pricing-rule-register .rule-table__row > :nth-child(5)::before { content: 'Status'; }
  .pricing-rule-register .rule-table__row > .health-pill { width: fit-content; justify-self: start; }
  .commercial-rule-facts { grid-template-columns: 1fr; }
  .credential-register { overflow: hidden; }
  .credential-register .toolbar-actions { width: 100%; flex-wrap: wrap; }
  .credential-registry-table { min-width: 0; width: 100%; padding: 10px; }
  .credential-registry-table__header { display: none; }
  .credential-registry-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .credential-registry-table__row:last-child { margin-bottom: 0; }
  .credential-registry-table__row > * { min-width: 0; }
  .credential-registry-table__row > span:not(.health-pill), .credential-registry-table__row b, .credential-registry-table__row small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .credential-registry-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .credential-registry-table__row > :nth-child(1)::before { content: 'Registry ID'; }
  .credential-registry-table__row > :nth-child(2)::before { content: 'Programme'; }
  .credential-registry-table__row > :nth-child(3)::before { content: 'Type'; }
  .credential-registry-table__row > :nth-child(4)::before { content: 'Issued'; }
  .credential-registry-table__row > :nth-child(5)::before { content: 'Verifications'; }
  .credential-registry-table__row > :nth-child(6)::before { content: 'Expiry'; }
  .credential-registry-table__row > :nth-child(7)::before { content: 'Status'; }
  .credential-registry-table__row > :nth-child(2) { grid-column: 1 / -1; }
  .credential-registry-table__row > .health-pill { width: fit-content; justify-self: start; }
  .credential-lifecycle-register .catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .credential-lifecycle-register .catalogue-toolbar .mini-search, .credential-lifecycle-register .catalogue-toolbar .select-control { width: 100%; max-width: none; }
  .credential-selection-bar { min-height: 48px; padding: 7px 14px; gap: 8px; flex-wrap: wrap; }
  .credential-lifecycle-table { min-width: 0; width: 100%; padding: 10px; }
  .credential-lifecycle-table__header { display: none; }
  .credential-lifecycle-table__row { position: relative; min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .credential-lifecycle-table__row:last-child { margin-bottom: 0; }
  .credential-lifecycle-table__row > * { min-width: 0; }
  .credential-lifecycle-table__row > .credential-row-check { position: absolute; top: 8px; right: 8px; }
  .credential-lifecycle-table__row > span:not(.health-pill), .credential-lifecycle-table__row > span strong, .credential-lifecycle-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .credential-lifecycle-table__row > *::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .credential-lifecycle-table__row > :nth-child(2) { grid-column: 1 / -1; padding-right: 42px; }
  .credential-lifecycle-table__row > :nth-child(2)::before { content: 'Credential and learner'; }
  .credential-lifecycle-table__row > :nth-child(3) { grid-column: 1 / -1; }
  .credential-lifecycle-table__row > :nth-child(3)::before { content: 'Programme'; }
  .credential-lifecycle-table__row > :nth-child(4)::before { content: 'Issued'; }
  .credential-lifecycle-table__row > :nth-child(5)::before { content: 'Expiry'; }
  .credential-lifecycle-table__row > :nth-child(6)::before { content: 'Status'; }
  .credential-lifecycle-table__row > :nth-child(7) { width: 100%; min-height: 40px; border: 1px solid var(--border); border-radius: 9px; }
  .credential-lifecycle-table__row > :nth-child(7)::before { content: none; }
  .credential-lifecycle-table__row > .health-pill { width: fit-content; justify-self: start; }
  .credential-facts { grid-template-columns: 1fr 1fr; }
  .credential-mode-switch { grid-template-columns: 1fr; }
  .public-verification-header { height: auto; padding: 18px 20px; align-items: flex-start; gap: 12px; flex-direction: column; }
  .public-verification-hero { padding: 48px 20px 20px; grid-template-columns: 1fr; }
  .public-verification-hero h1 { letter-spacing: -1.8px; }
  .public-verification-search { padding: 18px; border-radius: 18px; }
  .public-verification-search > div { grid-template-columns: 1fr; }
  .public-verification-result { padding: 20px 20px 45px; }
  .verification-record { padding: 17px; border-radius: 19px; }
  .verification-record__credential { padding: 28px 14px 20px; }
  .verification-record__facts { grid-template-columns: 1fr; }
  .public-verification-footer { align-items: flex-start; gap: 10px; flex-direction: column; }
  .credential-template-layout { grid-template-columns: 1fr; }
  .template-library { position: static; }
  .template-variable-grid { grid-template-columns: 1fr 1fr; }
  .template-preview-grid { grid-template-columns: 1fr; }
  .certificate-pdf-review { grid-template-columns: 1fr; }
  .certificate-pdf-dropzone { grid-template-columns: 42px 1fr; }
  .certificate-pdf-dropzone > b { grid-column: 2; }
  .certificate-field-table { overflow: hidden; border: 0; border-radius: 0; }
  .certificate-field-table__header { display: none; }
  .certificate-field-table__row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; background: #fff; }
  .certificate-field-table__row:last-child { margin-bottom: 0; }
  .certificate-field-table__row > span { min-width: 0; }
  .certificate-field-control { grid-column: 1 / -1; }
  .certificate-field-control > small { display: block; margin-bottom: 5px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; }
  .certificate-field-check { width: 40px; height: 40px; display: grid; place-items: center; }
  .certificate-field-check input { width: 17px; height: 17px; }
  .template-actions { grid-template-columns: 1fr; }
  .certificate-pdf-preview iframe { min-height: 390px; }
  .credential-output { min-height: 370px; padding: 27px 18px; }
  .credential-output__footer { grid-template-columns: 1fr; }
  .communications-health-strip { grid-template-columns: 1fr; }
  .communications-health-strip > div { padding: 8px 0; border-left: 0; border-top: 1px solid #edf0f7; }
  .communications-health-strip > div:first-child { border-top: 0; }
  .communications-filter { align-items: stretch; flex-direction: column; }
  .communications-filter .mini-search { max-width: none; }
  .communications-filter > span { text-align: left; }
  .communications-grid { grid-template-columns: 1fr; }
  .communications-centre-page .heading-actions { align-items: stretch; flex-direction: column; }
  .communications-centre-page .heading-actions > * { width: 100%; justify-content: center; }
  .campaign-table__header { display: none; }
  .campaign-table__row { padding: 13px 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .campaign-table__row > div { grid-column: 1 / -1; }
  .campaign-table__row > span, .campaign-table__row > strong { min-width: 0; font-size: 12px; }
  .campaign-table__row > span:nth-child(2)::before { content: 'Recipients '; color: var(--text-soft); font-weight: 500; }
  .campaign-table__row > strong:nth-child(3)::before { content: 'Open '; color: var(--text-soft); font-weight: 500; }
  .campaign-table__row > span:nth-child(4)::before { content: 'Sent '; color: var(--text-soft); font-weight: 500; }
  .communication-campaign-metrics { grid-template-columns: 1fr 1fr; }
  .broadcast-campaign-page .catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .broadcast-campaign-page .catalogue-toolbar .mini-search { width: 100%; max-width: none; }
  .broadcast-campaign-page .catalogue-toolbar .toolbar-actions { width: 100%; flex-wrap: wrap; }
  .broadcast-campaign-page .catalogue-toolbar .select-control { flex: 1 1 150px; }
  .broadcast-table__header { display: none; }
  .broadcast-table { padding: 10px; }
  .broadcast-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .broadcast-table__row:last-child { margin-bottom: 0; }
  .broadcast-table__row > * { min-width: 0; }
  .broadcast-table__row > span:not(.health-pill), .broadcast-table__row > span strong, .broadcast-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .broadcast-table__row > span:not(.health-pill)::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .broadcast-table__row > span:first-child { grid-column: 1 / -1; }
  .broadcast-table__row > span:first-child::before { content: none; }
  .broadcast-table__row > .health-pill { width: fit-content; justify-self: start; }
  .broadcast-table__row > button { width: 100%; min-height: 40px; grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 9px; justify-content: center; }
  .delivery-reconciliation { grid-template-columns: 1fr; }
  .delivery-reconciliation > .health-pill { width: fit-content; }
  .delivery-health-page .catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .delivery-health-page .catalogue-toolbar .mini-search { width: 100%; max-width: none; }
  .delivery-health-page .catalogue-toolbar .toolbar-actions { width: 100%; flex-wrap: wrap; }
  .delivery-health-page .catalogue-toolbar .select-control { flex: 1 1 145px; }
  .delivery-failure-heading { align-items: flex-start; flex-direction: column; }
  .delivery-failure-heading > span { text-align: left; }
  .delivery-failure-table__header { display: none; }
  .delivery-failure-table { padding: 10px; }
  .delivery-failure-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .delivery-failure-table__row:last-child { margin-bottom: 0; }
  .delivery-failure-table__row > * { min-width: 0; }
  .delivery-failure-table__row > span:not(.health-pill), .delivery-failure-table__row > span strong, .delivery-failure-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .delivery-failure-table__row > span:not(.health-pill)::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .delivery-failure-table__row > span:first-child, .delivery-failure-table__row > span:nth-child(2), .delivery-failure-table__row > span:nth-child(3) { grid-column: 1 / -1; }
  .delivery-failure-table__row > .health-pill { width: fit-content; justify-self: start; }
  .delivery-failure-table__row > button { width: 100%; min-height: 40px; grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 9px; justify-content: center; }
  .report-directory-page .catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .report-directory-page .catalogue-toolbar .mini-search { width: 100%; max-width: none; }
  .report-directory-page .catalogue-toolbar .toolbar-actions { width: 100%; flex-wrap: wrap; }
  .report-directory-page .catalogue-toolbar .select-control { flex: 1 1 145px; }
  .report-directory-table__header { display: none; }
  .report-directory-table { padding: 10px; }
  .report-directory-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .report-directory-table__row:last-child { margin-bottom: 0; }
  .report-directory-table__row > * { min-width: 0; }
  .report-directory-table__row > span:not(.health-pill), .report-directory-table__row > span strong, .report-directory-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .report-directory-table__row > span:not(.health-pill)::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .report-directory-table__row > span:first-child, .report-directory-table__row > span:nth-child(4), .report-directory-table__row > span:nth-child(5) { grid-column: 1 / -1; }
  .report-directory-table__row > span:first-child::before { content: none; }
  .report-directory-table__row > .health-pill { width: fit-content; justify-self: start; }
  .report-directory-table__row > button { width: 100%; min-height: 40px; grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 9px; justify-content: center; }
  .report-directory-facts { grid-template-columns: 1fr 1fr; }
  .report-schedule-heading { align-items: flex-start; flex-direction: column; }
  .report-schedule-heading > .health-pill { width: fit-content; }
  .report-schedule-table__header { display: none; }
  .report-schedule-table { padding: 10px; }
  .report-schedule-table__row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .report-schedule-table__row:last-child { margin-bottom: 0; }
  .report-schedule-table__row > * { min-width: 0; }
  .report-schedule-table__row > span:not(.health-pill), .report-schedule-table__row > span strong, .report-schedule-table__row > span small { overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
  .report-schedule-table__row > span:not(.health-pill)::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .report-schedule-table__row > span:first-child, .report-schedule-table__row > span:nth-child(5), .report-schedule-table__row > span:nth-child(6) { grid-column: 1 / -1; }
  .report-schedule-table__row > span:first-child::before { content: none; }
  .report-schedule-table__row > .health-pill { width: fit-content; justify-self: start; }
  .report-schedule-table__row > button { width: 100%; min-height: 40px; grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 9px; justify-content: center; }
  .report-schedule-form, .report-schedule-run-state { grid-template-columns: 1fr; }
  .report-browser-summary { grid-template-columns: 1fr; }
  .report-browser-table { border: 0; }
  .report-browser-table > div:first-child { display: none; }
  .report-browser-table > div { margin-bottom: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: 1fr 1fr; gap: 10px; }
  .report-browser-table span::before { display: block; margin-bottom: 3px; color: var(--text-soft); font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; content: attr(data-label); }
  .report-browser-table span:first-child { grid-column: 1 / -1; }
  .report-builder-layout { grid-template-columns: 1fr; }
  .report-builder-layout > aside { position: static; grid-template-columns: 1fr; }
  .notification-rule-summary { grid-template-columns: 1fr; }
  .notification-rule-summary > div { padding: 8px 0; border-left: 0; border-top: 1px solid #edf0f7; }
  .notification-rule-summary > div:first-child { border-top: 0; }
  .notification-template-layout { grid-template-columns: 1fr; }
  .notification-template-library { position: static; }
  .notification-rule-map { grid-template-columns: 28px 1fr; }
  .notification-rule-map label { grid-column: 2; }
  .notification-editor-actions { align-items: stretch; flex-direction: column; }
  .notification-governance-grid { grid-template-columns: 1fr; }
  .gateway-grid { grid-template-columns: 1fr; }
  .payment-profile { align-items: flex-start; flex-direction: column; }
  .detail-drawer { padding: 21px; }
  .detail-drawer__stats { grid-template-columns: 1fr; }
  .lifecycle-track { grid-template-columns: repeat(3,1fr); row-gap: 14px; }
  .lifecycle-track > div::before, .lifecycle-track > div::after { display: none; }
  .lifecycle-control { align-items: stretch; flex-direction: column; }
  .lifecycle-control .button { width: 100%; justify-content: center; }
  .lifecycle-transition { grid-template-columns: 1fr; }
  .lifecycle-transition > svg { transform: rotate(90deg); justify-self: center; }
  .detail-drawer__footer { flex-direction: column-reverse; }
  .detail-drawer__footer .button { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: 1; }
  .admin-modal { max-height: calc(100vh - 24px); padding: 21px; border-radius: 19px; }
  .admin-modal__footer { flex-direction: column-reverse; }
  .admin-modal__footer .button { width: 100%; }
  .toast { right: 16px; bottom: 16px; }
  .auth-shell { padding: 18px 15px 30px; }
  .learner-registration { padding: 18px 15px 30px; }
  .learner-registration > main { margin-top: 22px; grid-template-columns: 1fr; }
  .learner-registration > main > aside { padding: 24px; border-radius: 22px; background: var(--utiva-blue-dark); }
  .learner-registration > main > aside::before { display: none; }
  .registration-card { min-height: 0; padding: 25px 20px; border-radius: 19px; }
  .registration-code { grid-template-columns: 1fr; align-items: stretch; }
  .registration-code .text-button { min-height: 34px; justify-self: start; padding: 0; }
  .registration-code p { grid-column: 1; }
  .learner-login-options { align-items: flex-start; flex-direction: column; }
  .learner-profile-layout { grid-template-columns: 1fr; }
  .learner-profile-layout > aside { grid-template-columns: 1fr; }
  .auth-back { right: 10px; top: 22px; font-size: 0; }
  .auth-layout { margin-top: 24px; min-height: auto; }
  .auth-card { padding: 25px 20px; border-radius: 19px; }
  .auth-card h1 { font-size: 31px; }
  .auth-form__options, .auth-alternatives { align-items: flex-start; flex-direction: column; }
  .security-page .heading-actions { flex-direction: column; }
  .security-page .heading-actions > * { width: 100%; justify-content: center; }
  .security-hero { padding: 21px; }
  .security-hero > div:first-child { align-items: flex-start; }
  .security-hero__stats { overflow-x: auto; }
  .security-hero__stats > div { min-width: 90px; padding: 4px 10px; }
  .security-tabs { width: 100%; overflow-x: auto; }
  .security-tabs button { flex: 0 0 auto; }
  .method-card { grid-template-columns: 42px 1fr auto; }
  .method-card .button { grid-column: 2 / -1; width: fit-content; }
  .session-row { grid-template-columns: 42px 1fr; }
  .session-row .button, .session-row .health-pill { grid-column: 2; width: fit-content; }
  .session-policy { grid-template-columns: auto 1fr; }
  .session-policy button { grid-column: 2; justify-self: start; }
  .session-modal { padding: 23px; }
  .session-modal__actions { flex-direction: column-reverse; }
  .session-modal__actions .button { width: 100%; }
  .analytics-filter-grid { grid-template-columns: 1fr; }
  .analytics-reset { width: 100%; }
  .analytics-filter-summary { align-items: flex-start; flex-direction: column; }
  .analytics-chart { gap: 5px; }
  .analytics-chart__bar { width: min(13px,42%); }
  .analytics-programmes .section-heading { align-items: flex-start; flex-direction: column; }
  .metric-definition-modal { padding: 22px; }
  .saved-view-bar { align-items: flex-start; flex-direction: column; gap: 9px; }
  .saved-view-list { width: 100%; }
  .catalogue-toolbar { align-items: stretch; flex-direction: column; }
  .catalogue-toolbar .mini-search { width: 100%; }
  .catalogue-toolbar .toolbar-actions { flex-wrap: wrap; }
  .product-filter-panel { grid-template-columns: 1fr; }
  .organisation-summary { grid-template-columns: 1fr; }
  .organisation-source { width: 100%; justify-content: center; }
  .organisation-sync-warning { grid-template-columns: 24px minmax(0,1fr); align-items: start; }
  .organisation-sync-warning .button { width: 100%; grid-column: 1 / -1; justify-content: center; }
  .organisation-filter-panel { grid-template-columns: 1fr; }
  .organisation-search { grid-column: 1; }
  .organisation-clear { width: 100%; }
  .organisation-table-meta { align-items: flex-start; flex-direction: column; }
  .organisation-table { overflow: visible; display: grid; gap: 12px; }
  .organisation-table__header { display: none; }
  .organisation-table__row { min-width: 0; min-height: 0; padding: 16px; border: 1px solid var(--border); border-radius: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; box-shadow: var(--shadow-sm); }
  .organisation-table__row > div:first-child { grid-column: 1 / -1; padding-bottom: 12px; border-bottom: 1px solid #edf0f7; }
  .organisation-table__row strong { overflow: visible; text-overflow: clip; white-space: normal; font-size: 13px; }
  .organisation-table__row small { overflow-wrap: anywhere; }
  .organisation-table__row > [data-label] { min-width: 0; display: block; }
  .organisation-table__row > [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .organisation-table__row > .organisation-seat { grid-column: 1 / -1; }
  .organisation-table__row > .organisation-status-cell { display: block; }
  .organisation-table__row > svg { display: none; }
  .organisation-quickview-layer { padding: 0; }
  .organisation-quickview { padding: 24px 19px; }
  .organisation-quickview__metrics { padding: 12px; }
  .organisation-quickview__metrics > div { padding: 2px 8px; }
  .organisation-quickview__footer { flex-direction: column-reverse; }
  .organisation-quickview__footer .button { width: 100%; }
  .organisation-profile-hero { padding: 18px; }
  .organisation-profile-identity { grid-template-columns: 47px minmax(0,1fr); }
  .organisation-profile-identity .organisation-profile-logo { width: 47px; height: 47px; border-radius: 12px; }
  .organisation-profile-actions { align-items: stretch; flex-direction: column; }
  .organisation-profile-actions .button { width: 100%; }
  .organisation-profile-tabs { overflow: visible; display: grid; grid-template-columns: 1fr 1fr; }
  .organisation-profile-tabs button { min-width: 0; padding: 0 8px; justify-content: center; }
  .organisation-boundary-strip { grid-template-columns: 1fr; }
  .organisation-boundary-strip > div { padding: 10px 0; border-left: 0; border-top: 1px solid #d8eee5; }
  .organisation-boundary-strip > div:first-child { border-top: 0; }
  .organisation-profile-metrics { grid-template-columns: 1fr 1fr; gap: 14px 0; }
  .organisation-profile-metrics > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .organisation-section-heading { align-items: flex-start; flex-direction: column; }
  .organisation-section-heading .button { width: 100%; }
  .organisation-programme-table { overflow: visible; display: grid; gap: 12px; }
  .organisation-programme-table__header { display: none; }
  .organisation-programme-table > button { min-width: 0; min-height: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 15px; box-shadow: var(--shadow-sm); }
  .organisation-programme-table > button > div:first-child { grid-column: 1 / -1; padding-bottom: 11px; border-bottom: 1px solid #edf0f7; }
  .organisation-programme-table > button > [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .organisation-programme-table > button > .programme-completion { display: block; }
  .organisation-programme-table > button > .programme-completion > span { margin-bottom: 6px; }
  .client-admin-list { overflow: visible; display: grid; gap: 12px; border-top: 0; }
  .client-admin-list > div { min-width: 0; min-height: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: 34px minmax(0,1fr) 40px; gap: 12px; box-shadow: var(--shadow-sm); }
  .client-admin-list > div > p { min-width: 0; }
  .client-admin-list > div > p small { overflow-wrap: anywhere; }
  .client-admin-list .client-admin-role, .client-admin-list .client-admin-status { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid #edf0f7; }
  .client-admin-list [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .client-admin-list > div > .icon-button { grid-column: 3; grid-row: 1; }
  .organisation-brand-form { padding: 20px; }
  .organisation-brand-form > .button { width: 100%; justify-self: stretch; }
  .organisation-brand-preview > div:nth-child(2) { padding: 45px 22px 28px; }
  .organisation-brand-preview h2 { font-size: 23px; }
  .seat-summary { grid-template-columns: 1fr; }
  .seat-summary article { min-height: 92px; }
  .seat-contract-card { grid-template-columns: 1fr; }
  .seat-contract-card__main, .seat-contract-card > .text-button { grid-column: 1; }
  .seat-management__aside { grid-template-columns: 1fr; }
  .seat-export { grid-column: 1; }
  .seat-allocation-table { overflow: visible; display: grid; gap: 11px; }
  .seat-allocation-table__header { display: none; }
  .seat-allocation-table > div:not(.seat-allocation-table__header) { min-width: 0; min-height: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; box-shadow: var(--shadow-sm); }
  .seat-allocation-table > div:not(.seat-allocation-table__header) > div:first-child { grid-column: 1 / -1; padding-bottom: 11px; border-bottom: 1px solid #edf0f7; }
  .seat-allocation-table [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .seat-allocation-table .seat-use { display: block; }
  .seat-allocation-table .seat-use > span { margin: 7px 0 5px; }
  .seat-allocation-footer { align-items: flex-start; flex-direction: column; }
  .seat-modal-grid { grid-template-columns: 1fr; }
  .cohort-summary { grid-template-columns: 1fr; }
  .cohort-summary article { min-height: 90px; }
  .cohort-readiness { grid-template-columns: 1fr; }
  .cohort-table { overflow: visible; display: grid; gap: 11px; }
  .cohort-table__header { display: none; }
  .cohort-table > div:not(.cohort-table__header) { position: relative; min-width: 0; min-height: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; box-shadow: var(--shadow-sm); }
  .cohort-table > div:not(.cohort-table__header) > div:first-child { grid-column: 1 / -1; padding: 0 44px 11px 0; border-bottom: 1px solid #edf0f7; }
  .cohort-table > div:not(.cohort-table__header) > [data-label="Programme"], .cohort-table > div:not(.cohort-table__header) > [data-label="Schedule"], .cohort-table > div:not(.cohort-table__header) > [data-label="Enrolment"] { grid-column: 1 / -1; }
  .cohort-table [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .cohort-table > div:not(.cohort-table__header) > .icon-button { position: absolute; top: 14px; right: 14px; }
  .cohort-enrolment > span { margin: 7px 0 5px; }
  .cohort-builder-form { grid-template-columns: 1fr; }
  .cohort-upload-zone { grid-template-columns: 42px 1fr; }
  .cohort-upload-zone .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .cohort-validation-results { grid-template-columns: 1fr 1fr; }
  .cohort-validation-results > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .cohort-review-grid, .cohort-detail-grid { grid-template-columns: 1fr; }
  .cohort-detail-grid > div { border-left: 0; }
  .cohort-detail-grid > div:nth-child(2) { border-top: 1px solid #e8ecf4; }
  .user-directory-summary { grid-template-columns: 1fr; }
  .user-directory-filters { grid-template-columns: 1fr; }
  .user-directory-filters .mini-search { grid-column: 1; }
  .user-directory-table__meta { align-items:flex-start;flex-direction:column;gap:8px }
  .user-table { overflow: visible; display: grid; gap: 11px; }
  .user-table__header { display: none; }
  .user-table > button { position: relative; min-width: 0; min-height: 0; padding: 15px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 15px; box-shadow: var(--shadow-sm); }
  .user-table > button > div:first-child { grid-column: 1 / -1; padding: 0 44px 11px 0; border-bottom: 1px solid #edf0f7; }
  .user-table > button > [data-label="Workspace"], .user-table > button > [data-label="Programme / scope"], .user-table > button > [data-label="Last active"] { grid-column: 1 / -1; }
  .user-table [data-label]::before { content: attr(data-label); margin-bottom: 5px; display: block; color: var(--text-soft); text-transform: uppercase; letter-spacing: .65px; font-size: 11px; font-weight: 800; }
  .user-table > button > svg { position: absolute; top: 24px; right: 18px; }
  .user-quickview__hero { grid-template-columns:46px 1fr; }
  .user-quickview__hero>.health-pill { grid-column:2;width:fit-content }
  .user-quickview__grid { grid-template-columns:1fr }
  .user-quickview__grid>div { border-left:0 }
  .user-quickview__actions { flex-direction:column-reverse }
  .user-quickview__actions .button { width:100%;justify-content:center }
  .invitation-tabs { width: 100%; }
  .invitation-tabs button { flex: 1; justify-content: center; }
  .invitation-form-grid, .bulk-results, .invitation-guide, .bulk-rules { grid-template-columns: 1fr; }
  .bulk-file-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .bulk-file-heading .button { width: 100%; justify-content: center; }
  .bulk-issue-list > div { grid-template-columns: 1fr; gap: 3px; }
  .bulk-import-actions { flex-direction: column-reverse; }
  .bulk-import-actions .button { width: 100%; justify-content: center; }
  .invitation-history { overflow: hidden; }
  .invitation-history > .section-heading, .invitation-history-table { min-width: 0; }
  .invitation-history-table { display:grid;gap:10px; }
  .invitation-history-table__header { display:none!important; }
  .invitation-history-table > div:not(.invitation-history-table__header) { padding:14px;border:1px solid var(--border);border-radius:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;box-shadow:var(--shadow-sm); }
  .invitation-history-table > div:not(.invitation-history-table__header) > [data-label="Source"] { grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #edf0f7; }
  .invitation-history-table [data-label] { min-width:0;overflow-wrap:anywhere; }
  .invitation-history-table [data-label]::before { content:attr(data-label);margin-bottom:4px;display:block;color:var(--text-soft);text-transform:uppercase;letter-spacing:.55px;font-size:11px;font-weight:800; }
  .lifecycle-hero { align-items: flex-start; flex-direction: column; }
  .lifecycle-hero__actions { width: 100%; justify-content: space-between; }
  .lifecycle-assurance { grid-template-columns: 1fr; }
  .lifecycle-assurance > div { padding: 10px 0; border-left: 0; border-top: 1px solid #d9eee5; }
  .lifecycle-assurance > div:first-child { border-top: 0; }
  .lifecycle-grid aside { grid-template-columns: 1fr; }
  .lifecycle-record-grid { grid-template-columns: 1fr 1fr; }
  .lifecycle-actions > article { grid-template-columns: 40px 1fr; }
  .lifecycle-actions > article .button { grid-column: 2; width: fit-content; }
  .trainer-summary { grid-template-columns: 1fr; }
  .trainer-filters { grid-template-columns: 1fr; }
  .trainer-filters .mini-search { grid-column: 1; }
  .trainer-table-meta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .trainer-table { display:grid;gap:11px; }
  .trainer-table__header { display:none; }
  .trainer-table > button { position:relative;min-width:0;min-height:0;padding:15px;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px;box-shadow:var(--shadow-sm); }
  .trainer-table > button > div:first-child { grid-column:1/-1;padding:0 42px 11px 0;border-bottom:1px solid #edf0f7; }
  .trainer-table > button > [data-label="Specialisation"], .trainer-table > button > [data-label="Cohort load"] { grid-column:1/-1; }
  .trainer-table > button > [data-label]::before { content:attr(data-label);margin-bottom:5px;display:block;color:var(--text-soft);text-transform:uppercase;letter-spacing:.55px;font-size:11px;font-weight:800; }
  .trainer-table > button > svg { position:absolute;top:24px;right:17px; }
  .trainer-quickview__hero { grid-template-columns: 46px 1fr; }
  .trainer-quickview__hero > .health-pill { grid-column: 2; width: fit-content; }
  .trainer-quickview__metrics { grid-template-columns: 1fr 1fr; }
  .trainer-quickview__metrics > div:nth-child(3) { border-left: 0; border-top: 1px solid #e8edf6; }
  .trainer-quickview__metrics > div:nth-child(4) { border-top: 1px solid #e8edf6; }
  .verification-hero { align-items: flex-start; flex-direction: column; }
  .verification-status { justify-items: start; }
  .verification-grid aside { grid-template-columns: 1fr; }
  .verification-evidence-list { display: grid; gap: 10px; }
  .verification-evidence-list article { min-height: 0; padding: 13px; border: 1px solid #e8edf6; border-radius: 11px; grid-template-columns: 38px minmax(0, 1fr); align-items: start; background: #fff; }
  .verification-evidence-list article > .health-pill { grid-column: 2; width: fit-content; }
  .verification-evidence-list article > .icon-button { grid-column: 1; grid-row: 2; }
  .verification-form { grid-template-columns: 1fr; }
  .verification-note { grid-column: 1; }
  .verification-missing, .verification-expiry-control { grid-template-columns: 24px 1fr; }
  .verification-missing .button, .verification-expiry-control .text-button { grid-column: 2; justify-self: start; }
  .verification-decision-actions { flex-direction: column-reverse; }
  .verification-decision-actions .button { width: 100%; justify-content: center; }
  .verification-preview-sheet { grid-template-columns: 1fr; }
  .verification-preview-sheet > div:first-child { min-height: 96px; }
  .verification-preview-sheet dl { grid-template-columns: 90px minmax(0, 1fr); }
  .assignment-layout aside { grid-template-columns: 1fr; }
  .assignment-form { grid-template-columns: 1fr 1fr; }
  .assignment-form--wide { grid-column: 1 / -1; }
  .assignment-form--wide > small { display: block; }
  .assignment-candidate-list > button { grid-template-columns: 36px 1fr auto; }
  .assignment-candidate-list > button > span:nth-of-type(2), .assignment-candidate-list > button > .health-pill { grid-column: 2; }
  .assignment-candidate-list > button > .assignment-radio { grid-column: 3; grid-row: 1; }
  .organisation-invite-modal { padding: 21px; }
  .catalogue-summary { padding: 12px 18px; align-items: flex-start; flex-direction: column; }
  .catalogue-pagination { align-items: flex-start; flex-direction: column; }
  .catalogue-pagination > div { width: 100%; overflow-x: auto; }
}

@supports (height: 100dvh) {
  body,.app-shell,.course-workspace { min-height: 100dvh; }
  .app-main { min-height: 100dvh; }
  .course-shell { min-height: calc(100dvh - 66px); }
  .learner-notification-centre { height: 100dvh; }
  .modal,.study-plan-modal,.admin-modal { max-height: calc(100dvh - 40px); }
  @media (max-width: 680px) {
    .modal,.study-plan-modal,.admin-modal { max-height: calc(100dvh - 24px); }
  }
}

@media (max-width: 860px) {
  .product-table { padding: 12px; display: grid; gap: 10px; background: var(--surface-soft); }
  .product-table__header { display: none; }
  .product-table__row { min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 18px; position: relative; background: #fff; }
  .product-table__row > div:first-child { grid-column: 1 / -1; padding-bottom: 11px; border-bottom: 1px solid #edf0f7; }
  .product-table__row > span[data-label] { min-width: 0; display: grid; gap: 3px; align-content: start; overflow: visible; white-space: normal; }
  .product-table__row > span[data-label]::before { content: attr(data-label); color: var(--text-soft); text-transform: uppercase; letter-spacing: .7px; font-size: 11px; font-weight: 800; }
  .product-table__row > .health-pill { width: fit-content; min-height: 38px; padding: 7px 11px; align-content: center; }
  .product-table__row > .health-pill::before { color: inherit; }
  .product-table__row > svg { display: none; }
  .assessment-workspace-header { align-items: flex-start; flex-direction: column; }
  .assessment-workspace-header__actions { width: 100%; justify-content: flex-start; }
  .assessment-builder-grid { grid-template-columns: 1fr; }
  .assessment-builder-grid aside { grid-template-columns: 1fr 1fr; }
  .scorm-workspace-header { align-items: flex-start; flex-direction: column; }
  .scorm-workspace-header__actions { width: 100%; justify-content: flex-start; }
  .scorm-status-strip { grid-template-columns: 1fr 1fr; gap: 8px; }
  .scorm-status-strip > div { padding: 8px 0; border-left: 0; }
  .scorm-status-strip > .button { width: fit-content; }
  .scorm-workspace-grid { grid-template-columns: 1fr; }
  .scorm-workspace-grid aside { grid-template-columns: 1fr 1fr; }
  .scorm-launch-layout { grid-template-columns: 1fr; }
  .scorm-launch-layout > aside { border-left: 0; border-top: 1px solid var(--border); }
  .scorm-standards-grid { grid-template-columns: 1fr; }
  .course-builder-header { align-items: flex-start; flex-direction: column; }
  .course-builder-header__actions { width: 100%; flex-wrap: wrap; }
  .builder-release-strip { padding: 10px 20px; }
  .builder-collaboration-alert { padding: 10px 20px; }
  .course-builder-grid { display: block; }
  .builder-outline, .builder-settings { border: 0; border-bottom: 1px solid var(--border); }
  .builder-tree { max-height: 420px; }
  .builder-settings { display: grid; grid-template-columns: 1fr 1fr; }
  .builder-settings > section:last-child { grid-column: 1 / -1; }
  .course-preview-layout { grid-template-columns: 185px 1fr; }
  .course-version-modal { max-height: calc(100vh - 24px); }
  .dashboard-heading-actions { width: 100%; justify-content: flex-start; }
  .dashboard-status-strip { grid-template-columns: 1fr; }
  .dashboard-status-strip > div { padding: 10px 0; border-left: 0; border-top: 1px solid #e8ecf5; }
  .dashboard-status-strip > div:first-child { border-top: 0; }
}

@media (max-width: 680px) {
  .product-table__row { grid-template-columns: 1fr; }
  .product-table__row > div:first-child { grid-column: 1; }
  .activity-metric-grid { grid-template-columns: 1fr; }
  .learner-activity-heading { align-items: flex-start; flex-direction: column; }
  .activity-period { width: 100%; }
  .activity-period button { flex: 1; }
  .learner-activity-layout { grid-template-columns: 1fr; }
  .activity-event-list article { grid-template-columns: 38px 1fr; }
  .activity-event-list article > div { grid-column: 2; text-align: left; }
  .assessment-workspace-header { padding: 18px 15px; }
  .assessment-workspace-header__actions { align-items: stretch; flex-direction: column; }
  .assessment-workspace-header__actions .button { width: 100%; justify-content: center; }
  .assessment-tabs { padding: 0 15px; overflow-x: auto; gap: 18px; }
  .assessment-tabs button { flex: 0 0 auto; }
  .assessment-builder-grid,.assessment-bank,.assessment-results { width: calc(100% - 30px); margin: 15px auto; }
  .assessment-builder-grid aside { grid-template-columns: 1fr; }
  .assessment-summary,.assessment-question-panel,.assessment-rules,.assessment-checklist,.assessment-bank,.assessment-results { padding: 16px; }
  .assessment-summary { grid-template-columns: 1fr; }
  .assessment-summary > div:last-child { width: 100%; }
  .assessment-summary > div:last-child span { min-width: 0; flex: 1; }
  .assessment-question-panel .section-heading,.assessment-bank__heading,.assessment-results .section-heading { align-items: flex-start; flex-direction: column; }
  .assessment-question-panel .section-heading .button,.assessment-bank__heading .button,.assessment-results .section-heading .button { width: 100%; justify-content: center; }
  .assessment-question-list article { grid-template-columns: 28px minmax(0,1fr) 28px; }
  .assessment-question-list article > strong { grid-column: 2; }
  .assessment-bank-list article { grid-template-columns: 32px 1fr; }
  .assessment-bank-list article .button { grid-column: 2; width: fit-content; }
  .assessment-result-stats { grid-template-columns: 1fr 1fr; }
  .assessment-result-stats > div:nth-child(3) { border-top: 1px solid var(--border); border-left: 0; }
  .assessment-result-stats > div:nth-child(4) { border-top: 1px solid var(--border); }
  .assessment-result-table { display: grid; gap: 10px; border: 0; overflow: visible; }
  .assessment-result-table > div { display: none; }
  .assessment-result-table > button { min-width: 0; padding: 13px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: 1fr 1fr; gap: 10px 14px; align-items: start; }
  .assessment-result-table > button > span { min-width: 0; display: grid; gap: 3px; overflow-wrap: anywhere; }
  .assessment-result-table > button > span::before { content: attr(data-label); color: var(--text-soft); font-size: 10px; line-height: 1.2; text-transform: uppercase; letter-spacing: .5px; font-weight: 800; }
  .assessment-result-table > button > .health-pill { width: fit-content; }
  .assessment-result-table > button > svg { display: none; }
  .assessment-preview-layer { padding: 10px; }
  .assessment-preview-modal { max-height: calc(100vh - 20px); border-radius: 15px; }
  .assessment-preview-modal > main { width: calc(100% - 30px); }
  .assessment-publish-summary { grid-template-columns: 1fr; }
  .assessment-publish-summary > div { border-left: 0; border-top: 1px solid var(--border); }
  .assessment-publish-summary > div:first-child { border-top: 0; }
  .scorm-workspace-header { padding: 18px 15px; }
  .scorm-workspace-header__actions { align-items: stretch; flex-direction: column; }
  .scorm-workspace-header__actions .button { width: 100%; justify-content: center; }
  .scorm-status-strip { padding: 11px 15px; grid-template-columns: 1fr; }
  .scorm-status-strip > div { border-top: 1px solid #e8ecf5; }
  .scorm-status-strip > div:first-child { border-top: 0; }
  .scorm-status-strip > .button { width: 100%; justify-content: center; }
  .scorm-tabs { padding: 0 10px; overflow: visible; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
  .scorm-tabs button { min-width: 0; min-height: 58px; padding: 7px 5px; white-space: normal; line-height: 1.25; text-align: center; }
  .scorm-workspace-grid,.scorm-sessions,.scorm-standards-grid { width: calc(100% - 30px); margin: 15px auto; }
  .scorm-workspace-grid aside { grid-template-columns: 1fr; }
  .scorm-package-card,.scorm-validation-card,.scorm-upload-card,.scorm-runtime-settings,.scorm-sessions,.scorm-standards-grid > .panel { padding: 16px; }
  .scorm-package-file { grid-template-columns: 38px 1fr; }
  .scorm-package-file .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .scorm-package-meta { grid-template-columns: 1fr 1fr; }
  .scorm-package-meta > div:nth-child(3) { border-top: 1px solid var(--border); }
  .scorm-package-meta > div:nth-child(3n+1) { border-left: 1px solid var(--border); }
  .scorm-package-meta > div:nth-child(odd) { border-left: 0; }
  .scorm-validation-footer { grid-template-columns: auto 1fr; }
  .scorm-validation-footer .text-button { grid-column: 1 / -1; justify-self: start; }
  .scorm-sessions .section-heading { align-items: flex-start; flex-direction: column; }
  .scorm-session-table { border: 0; overflow: visible; display: grid; gap: 10px; }
  .scorm-session-row--head { display: none; }
  .scorm-session-row:not(.scorm-session-row--head) { min-width: 0; min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .scorm-session-row:not(.scorm-session-row--head) > strong { grid-column: 1 / -1; font-size: 14px; }
  .scorm-session-row:not(.scorm-session-row--head) > span { min-width: 0; }
  .scorm-session-row:not(.scorm-session-row--head) > span::before { content: attr(data-label); display: block; margin-bottom: 4px; color: #7b8294; text-transform: uppercase; letter-spacing: .55px; font-size: 11px; font-weight: 800; }
  .scorm-session-row:not(.scorm-session-row--head) > .health-pill { justify-self: start; }
  .scorm-launch-layer { padding: 10px; }
  .scorm-launch-modal { max-height: calc(100vh - 20px); border-radius: 15px; }
  .scorm-launch-modal > header { align-items: flex-start; }
  .scorm-launch-layout > main { padding: 12px; }
  .scorm-player-content { width: calc(100% - 26px); padding: 29px 0; }
  .scorm-player-visual { flex-direction: column; }
  .scorm-player-visual > svg { transform: rotate(90deg); }
  .scorm-player-visual span { width: 100%; }
  .course-builder-header { padding: 17px 15px; }
  .course-builder-header__actions { align-items: stretch; flex-direction: column; }
  .course-builder-header__actions .button { width: 100%; justify-content: center; }
  .builder-presence { margin-bottom: 3px; }
  .builder-save-state { margin: 0 0 4px; }
  .builder-release-strip { align-items: stretch; flex-direction: column; gap: 9px; }
  .builder-release-strip > div { padding: 0 0 9px; border-right: 0; border-bottom: 1px solid #dfe5f2; }
  .builder-release-strip > .button { width: 100%; justify-content: center; }
  .builder-collaboration-alert { align-items: stretch; flex-direction: column; }
  .builder-collaboration-alert .button { width: 100%; justify-content: center; }
  .builder-editor { padding: 22px 15px; }
  .builder-form { padding: 17px; }
  .builder-editor-meta { align-items: flex-start; flex-direction: column; gap: 7px; }
  .builder-media-drop { grid-template-columns: 30px 1fr; }
  .builder-media-drop .button { grid-column: 1 / -1; }
  .builder-settings { display: flex; }
  .course-preview-modal { max-height: calc(100vh - 24px); border-radius: 18px; }
  .course-preview-layout { display: block; }
  .course-preview-layout > aside { display: none; }
  .course-preview-layout > main { padding: 24px 18px; }
  .course-preview-progress { grid-template-columns: 1fr; }
  .course-preview-actions { flex-direction: column-reverse; }
  .course-preview-actions .button { width: 100%; }
  .course-version-layer { padding: 12px; }
  .course-version-modal { max-height: calc(100vh - 24px); border-radius: 18px; }
  .course-version-modal > header { padding: 18px; }
  .course-version-summary { margin: 14px 18px 4px; grid-template-columns: 1fr; }
  .course-version-summary > div { padding: 9px 0; border-left: 0; border-top: 1px solid #dde4f2; }
  .course-version-summary > div:first-child { border-top: 0; }
  .course-version-list { padding: 14px 18px 4px; }
  .course-version-list article { grid-template-columns: 14px 1fr; }
  .course-version-list__body { padding: 13px; }
  .course-version-list__heading, .course-version-list footer { align-items: flex-start; flex-direction: column; }
  .course-version-list footer > div { width: 100%; flex-direction: column; }
  .course-version-list footer .button { width: 100%; justify-content: center; }
  .course-version-policy { margin: 8px 18px 18px 32px; }
  .publish-impact { grid-template-columns: 1fr; }
  .publish-impact > svg { margin: auto; transform: rotate(90deg); }
  .dashboard-heading-actions > * { width: 100%; justify-content: center; }
  .dashboard-period select { flex: 1; }
  .report-builder-layout > aside { grid-template-columns: 1fr; }
  .report-builder-form, .report-field-grid { grid-template-columns: 1fr; }
  .report-schedule-form, .report-schedule-run-state { grid-template-columns: 1fr; }
  .audit-integrity-strip { grid-template-columns: 1fr; }
  .audit-integrity-strip > div { padding: 9px 0; border-left: 0; border-top: 1px solid #edf0f7; }
  .audit-integrity-strip > div:first-child { border-top: 0; }
  .audit-register { overflow: visible; }
  .audit-register-table { min-width: 0; display: grid; gap: 10px; }
  .audit-register-table__header { display: none; }
  .audit-register-table__row { min-width: 0; min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; background: #fff; }
  .audit-register-table__row > span { min-width: 0; }
  .audit-register-table__row > span:nth-child(1),
  .audit-register-table__row > span:nth-child(2),
  .audit-register-table__row > span:nth-child(3) { grid-column: 1 / -1; }
  .audit-register-table__row > span::before { display: block; margin-bottom: 4px; color: #7b8294; text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
  .audit-register-table__row > span:nth-child(1)::before { content: 'Event'; }
  .audit-register-table__row > span:nth-child(2)::before { content: 'Actor'; }
  .audit-register-table__row > span:nth-child(3)::before { content: 'Action and target'; }
  .audit-register-table__row > span:nth-child(4)::before { content: 'Category'; }
  .audit-register-table__row > span:nth-child(5)::before { content: 'Time'; }
  .audit-register-table__row > span:nth-child(6)::before { content: 'Outcome'; }
  .audit-register-table__row > .text-button { min-height: 40px; grid-column: 1 / -1; justify-content: center; border: 1px solid var(--border); border-radius: 9px; }
  .audit-event-facts { grid-template-columns: 1fr; }
  .setup-shortcuts { grid-template-columns: 1fr; gap: 10px; }
  .setup-shortcuts > button { min-height: 78px; }
  .setup-connections-heading { align-items: stretch; flex-direction: column; }
  .setup-connections-heading .heading-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .setup-connections-heading .button { width: 100%; justify-content: center; }
  .integration-grid { grid-template-columns: 1fr; }
  .integration-event-section > div, .integration-policy-grid { grid-template-columns: 1fr; }
  .integration-auth-state { grid-template-columns: 26px 1fr; align-items: start; }
  .integration-auth-state > button { width: 100%; grid-column: 1 / -1; }
  .api-client-row--head { display: none; }
  .api-client-table { padding: 10px; }
  .api-client-row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .api-client-row:last-child { margin-bottom: 0; }
  .api-client-row > * { min-width: 0; }
  .api-client-row > span::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .api-client-row > span:first-child { grid-column: 1 / -1; }
  .api-client-row > span:first-child::before { content: none; }
  .api-client-row > .health-pill { width: fit-content; justify-self: start; }
  .api-client-row > svg { display: none; }
  .api-client-scope-section > div { grid-template-columns: 1fr; }
  .system-scope-switch { grid-template-columns: 28px 1fr; align-items: start; }
  .system-scope-switch > div:first-child, .system-scope-switch .form-field { grid-column: 1 / -1; }
  .system-settings-grid { grid-template-columns: 1fr; }
  .privacy-layout { grid-template-columns: 1fr; }
  .privacy-layout > aside { grid-template-columns: 1fr; }
  .privacy-retention-row { padding: 12px 0; grid-template-columns: 1fr; gap: 8px; align-items: start; }
  .privacy-retention-row .form-field { width: 100%; }
  .privacy-retention-row > .health-pill { justify-self: start; }
  .privacy-policy-actions { align-items: stretch; flex-direction: column; }
  .privacy-policy-actions .button { width: 100%; justify-content: center; }
  .privacy-request-table { display: grid; gap: 10px; }
  .privacy-request-table > div { display: none; }
  .privacy-request-table > button { min-width: 0; min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; background: #fff; }
  .privacy-request-table > button > span { min-width: 0; }
  .privacy-request-table > button > span:first-child { grid-column: 1 / -1; }
  .privacy-request-table > button > span::before { display: block; margin-bottom: 4px; color: #7b8294; text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
  .privacy-request-table > button > span:nth-child(1)::before { content: 'Request'; }
  .privacy-request-table > button > span:nth-child(2)::before { content: 'Tenant'; }
  .privacy-request-table > button > span:nth-child(3)::before { content: 'Due'; }
  .privacy-request-table > button > span:nth-child(4)::before { content: 'Status'; }
  .privacy-request-table > button > svg { grid-column: 1 / -1; justify-self: end; }
  .privacy-request-detail .report-directory-facts { grid-template-columns: 1fr; }
  .privacy-consent-list > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .privacy-consent-list strong { max-width: none; text-align: left; }
  .support-case-controls { grid-template-columns: 1fr; }
  .support-case-row--head { display: none; }
  .support-case-table { padding: 10px; }
  .support-case-row { min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: start; background: #fff; }
  .support-case-row:last-child { margin-bottom: 0; }
  .support-case-row > * { min-width: 0; }
  .support-case-row > span::before { display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .7px; text-transform: uppercase; content: attr(data-label); }
  .support-case-row > span:first-child { grid-column: 1 / -1; }
  .support-case-row > span:first-child::before { content: none; }
  .support-case-row > .health-pill { width: fit-content; justify-self: start; }
  .support-case-row > svg { display: none; }
  .client-portal-overview { grid-template-columns: 1fr; }
  .government-indicator-grid { grid-template-columns: 1fr 1fr; }
  .government-outcomes-layout { grid-template-columns: 1fr; }
  .government-contract-scope { grid-template-columns: 1fr; }
  .recovery-objectives { grid-template-columns: 1fr 1fr; }
  .recovery-layout { grid-template-columns: 1fr; }
  .recovery-test-banner { grid-template-columns: 28px 1fr; }
  .recovery-test-banner .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .recovery-monitoring { align-items: flex-start; flex-direction: column; }
  .release-guardrails, .feature-flag-grid { grid-template-columns: 1fr 1fr; }
  .environment-summary { align-items: stretch; flex-direction: column; }
  .environment-summary .button { width: 100%; justify-content: center; }
  .feature-rollout-control { grid-template-columns: 1fr; }
  .environment-comparison-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .assignment-summary,.assignment-destination__facts { grid-template-columns: 1fr; }
  .live-schedule-note { grid-template-columns: 22px 1fr; }
  .live-schedule-note > span { grid-column: 2; justify-self: start; }
  .live-now-card,.recording-card { grid-template-columns: 38px 1fr; }
  .live-now-card b,.recording-card .button { grid-column: 2; justify-self: start; }
  .live-reminder-preferences { grid-template-columns: 1fr; align-items: stretch; }
  .live-reminder-channels { justify-content: flex-start; }
  .calendar-options > div { align-items: stretch; flex-direction: column; }
  .assignment-filters { overflow-x: auto; }
  .assignment-destination__footer,.submission-actions { align-items: stretch; flex-direction: column; }
  .assignment-destination__footer .button,.submission-actions .button { width: 100%; justify-content: center; }
  .submission-actions > span { margin: 0 0 4px; text-align: center; }
  .submission-policy { align-items: flex-start; flex-direction: column; }
  .submission-policy > span { text-align: left; }
  .submission-methods { grid-template-columns: 1fr; }
  .submission-receipt > div { grid-template-columns: 1fr; }
  .submission-history > div { grid-template-columns: 30px 1fr; }
  .submission-history time { grid-column: 2; }
  .feedback-heading { align-items: flex-start; flex-direction: column; }
  .feedback-heading > span { width: 100%; }
  .feedback-version-tabs { grid-template-columns: 1fr; }
  .feedback-trace { grid-template-columns: 1fr; }
  .feedback-trace > svg { transform: rotate(90deg); }
  .feedback-footer { align-items: stretch; flex-direction: column; }
  .feedback-footer > span { margin: 0 0 4px; max-width: none; text-align: center; }
  .feedback-footer .button { width: 100%; justify-content: center; }
  .quiz-page { width: min(100% - 28px,1180px); }
  .quiz-heading { align-items: flex-start; flex-direction: column; }
  .quiz-intro-layout,.quiz-result-layout { grid-template-columns: 1fr; }
  .quiz-rules { grid-template-columns: 1fr; }
  .quiz-progress { grid-template-columns: 1fr; }
  .quiz-footer { align-items: stretch; flex-direction: column; }
  .quiz-question-nav { justify-content: center; order: -1; }
  .quiz-footer .button { width: 100%; justify-content: center; }
  .checkout-step-strip { grid-template-columns: 1fr; }
  .checkout-step-strip > div { padding: 9px 0; border-left: 0; border-top: 1px solid #e8ecf5; }
  .checkout-step-strip > div:first-child { border-top: 0; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-choice-grid { grid-template-columns: 1fr; }
  .checkout-order { position: static; }
  .checkout-plan-list > button { grid-template-columns: 24px 1fr; }
  .checkout-plan-list > button > strong { grid-column: 2; text-align: left; }
  .checkout-result { padding: 24px 18px; }
  .checkout-result > div:last-child,.programme-enrol-success__actions { align-items: stretch; flex-direction: column; }
  .programme-detail-hero { grid-template-columns: 1fr; }
  .programme-detail-hero .course-art { display: none; }
  .programme-detail-layout { grid-template-columns: 1fr; }
  .programme-outcomes > div:last-child { grid-template-columns: 1fr; }
  .programme-trainer { grid-template-columns: 46px 1fr; }
  .programme-trainer .button { grid-column: 1 / -1; width: 100%; }
  .programme-enrol-card { position: static; }
  .programme-enrol-summary { grid-template-columns: 1fr; }
  .catalogue-heading__actions { width: 100%; align-items: stretch; flex-direction: column; }
  .catalogue-heading__actions .button { width: 100%; }
  .catalogue-sort { width: 100%; }
  .catalogue-sort select { min-width: 0; flex: 1; }
  .shortlist-summary { grid-template-columns: 36px 1fr; }
  .shortlist-summary em { grid-column: 2; white-space: normal; }
  .catalogue-filter-bar { align-items: stretch; flex-direction: column; }
  .catalogue-filter-bar label { width: 100%; }
  .catalogue-filter-bar .text-button { justify-content: center; }
  .catalogue-filter-count { width: 100%; margin-left: 0; text-align: center; }
  .offline-lesson-bar { grid-template-columns: 30px minmax(0,1fr); }
  .offline-lesson-bar .text-button { grid-column: 1 / -1; justify-self: start; }
  .offline-lesson-bar .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .offline-copy { padding: 15px; }
  .offline-copy__heading { align-items: stretch; flex-direction: column; }
  .offline-copy__actions { display: grid; grid-template-columns: 1fr; }
  .offline-copy__actions .button { width: 100%; justify-content: center; }
  .feature-flag-grid { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .lab-layout { grid-template-columns: 1fr; }
  .lab-layout > aside { grid-template-columns: 1fr 1fr; }
  .career-metrics { grid-template-columns: 1fr 1fr; }
  .career-layout { grid-template-columns: 1fr; }
  .career-layout > aside { grid-template-columns: 1fr 1fr; }
  .help-search { grid-template-columns: 1fr; }
  .help-search > div { overflow-x: auto; }
  .help-search > div button { flex: 0 0 auto; }
  .help-search > small { justify-self: start; }
  .help-layout { grid-template-columns: 1fr; }
  .help-layout > aside { grid-template-columns: 1fr 1fr; }
  .trainer-auth-shell > main { grid-template-columns: 1fr; }
  .trainer-auth-shell > main > aside { display: none; }
  .trainer-roster-toolbar { grid-template-columns: minmax(240px,1fr) 210px; }
  .trainer-roster-toolbar .button { grid-column: 1 / -1; width: fit-content; }
  .trainer-learner-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-learner-profile-layout { grid-template-columns: 1fr; }
  .trainer-learner-profile-layout > aside { grid-template-columns: 1fr 1fr; }
  .trainer-profile-boundary { grid-column: 1 / -1; }
  .trainer-attendance-session { grid-template-columns: minmax(0,1fr) 240px; }
  .trainer-attendance-session > .health-pill { grid-column: 1 / -1; width: fit-content; }
  .trainer-attendance-layout { grid-template-columns: 1fr; }
  .trainer-attendance-layout > aside { grid-template-columns: 1fr 1fr; }
  .trainer-attendance-audit, .trainer-attendance-boundary { grid-column: 1 / -1; }
  .trainer-session-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-session-detail-layout { grid-template-columns: 1fr; }
  .trainer-session-detail-layout > aside { grid-template-columns: 1fr 1fr; }
  .trainer-session-detail-layout > aside > .trainer-attendance-boundary { grid-column: 1 / -1; }
  .trainer-classroom-shell > main { grid-template-columns: 1fr; }
  .trainer-classroom-shell > main > aside { grid-template-columns: 1fr 1fr; }
  .trainer-classroom-meet { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .lab-launch-card { grid-template-columns: 38px 1fr; }
  .lab-launch-card > span { width: 38px; height: 38px; }
  .lab-launch-card .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .lab-header { padding: 0 16px; grid-template-columns: 1fr auto; }
  .lab-header > div { display: none; }
  .lab-page > main { width: min(100% - 28px,1320px); padding-top: 20px; }
  .lab-heading { align-items: stretch; flex-direction: column; }
  .lab-session-status { min-width: 0; }
  .lab-layout > aside { grid-template-columns: 1fr; }
  .lab-editor-card { padding: 15px; }
  .lab-editor-card textarea { min-height: 235px; font-size: 12px; }
  .lab-data-table { overflow-x: visible; }
  .lab-data-table > div { min-width: 0; padding: 8px 5px; grid-template-columns: minmax(80px,1.2fr) minmax(86px,1.1fr) minmax(58px,.65fr) minmax(48px,.65fr); gap: 4px; align-items: start; }
  .lab-data-table > div > * { min-width: 0; overflow-wrap: anywhere; }
  .lab-editor-actions { align-items: stretch; flex-wrap: wrap; }
  .lab-editor-actions small { width: 100%; margin: 0; }
  .lab-editor-actions .button { flex: 1; justify-content: center; }
  .lab-results-heading { align-items: stretch; flex-direction: column; }
  .lab-results-actions { display: grid; grid-template-columns: 1fr; }
  .lab-results-heading .button { width: 100%; justify-content: center; }
  .lab-evidence-receipt { grid-template-columns: 36px 1fr; }
  .lab-evidence-receipt .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .career-heading .heading-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .career-heading .heading-actions .button { width: 100%; justify-content: center; }
  .career-metrics { grid-template-columns: 1fr; }
  .career-layout > aside { grid-template-columns: 1fr; }
  .career-portfolio,.career-preview,.career-readiness,.career-privacy,.career-opportunities { padding: 16px; }
  .career-portfolio > .section-heading { align-items: stretch; flex-direction: column; }
  .career-portfolio > .section-heading .button { width: 100%; justify-content: center; }
  .career-project-list article { grid-template-columns: 36px minmax(0,1fr); }
  .career-project-list label { grid-column: 2; }
  .career-preview-cover { margin: -16px -16px 0; padding: 20px 16px; grid-template-columns: 43px 1fr; }
  .career-preview-cover > span { width: 43px; height: 43px; }
  .career-preview-cover > strong { display: none; }
  .career-preview-projects article { grid-template-columns: 30px minmax(0,1fr); }
  .career-preview-projects .health-pill { grid-column: 2; justify-self: start; }
  .career-opportunity-grid { grid-template-columns: 1fr; }
  .career-opportunity-grid article { grid-template-columns: 36px 1fr; }
  .career-opportunity-grid .button { width: 100%; justify-content: center; }
  .career-request-form { grid-template-columns: 1fr; }
  .career-request-form__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .career-request-form__actions .button { width: 100%; justify-content: center; }
  .career-request-receipt { grid-template-columns: 36px 1fr; }
  .career-request-receipt .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .help-layout > aside { grid-template-columns: 1fr; }
  .help-search > div { overflow-x: visible; flex-wrap: wrap; }
  .help-articles,.help-service-card,.help-case-card,.help-escalation { padding: 16px; }
  .help-article-list article > button { grid-template-columns: 31px minmax(0,1fr) 16px; }
  .help-article-list article > button > span { width: 31px; height: 31px; }
  .help-article-list article > div { margin-left: 41px; }
  .help-escalation > .section-heading { align-items: stretch; flex-direction: column; }
  .help-escalation > .section-heading .button { width: 100%; justify-content: center; }
  .help-escalation form { grid-template-columns: 1fr; }
  .help-case-detail,.help-case-submit { grid-column: 1; }
  .help-case-submit { align-items: stretch; flex-direction: column; }
  .help-case-submit .button { width: 100%; justify-content: center; }
  .trainer-auth-shell { padding: 18px 14px 30px; }
  .trainer-auth-shell > header > span { display: none; }
  .trainer-auth-shell > header .text-button { font-size: 0; }
  .trainer-auth-shell > main { min-height: 0; margin-top: 20px; border-radius: 19px; }
  .trainer-auth-card { padding: 25px 20px; }
  .trainer-permission-review { grid-template-columns: 1fr; }
  .trainer-access-banner { align-items: flex-start; flex-wrap: wrap; }
  .trainer-access-banner > div { width: 100%; }
  .trainer-access-banner button { flex: 1; justify-content: center; }
  .trainer-access-banner button + button { border-left: 0; }
  .trainer-scope-summary,.trainer-scope-columns { grid-template-columns: 1fr; }
  .trainer-scope-summary > div { border-left: 0; border-top: 1px solid var(--border); }
  .trainer-scope-summary > div:first-child { border-top: 0; }
  .trainer-roster-summary { grid-template-columns: 1fr; }
  .trainer-roster-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .trainer-roster-toolbar .button { grid-column: auto; width: 100%; justify-content: center; }
  .trainer-roster-scope { grid-template-columns: 22px 1fr; }
  .trainer-roster-scope > small { grid-column: 2; justify-self: start; }
  .trainer-risk-rules { grid-template-columns: 22px 1fr; }
  .trainer-risk-rules small { grid-column: 2; }
  .trainer-roster-table { padding: 12px; overflow: visible; background: var(--surface-soft); }
  .trainer-roster-table__header { display: none; }
  .trainer-roster-table__row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: 1fr 1fr; gap: 13px; background: #fff; }
  .trainer-roster-table__row > div:first-child { grid-column: 1 / -1; }
  .trainer-roster-table__row > span:not(.health-pill) { overflow: visible; white-space: normal; }
  .trainer-roster-table__row [data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
  .trainer-roster-table__row .inline-progress { display: block; }
  .trainer-roster-table__row .inline-progress .progress { margin-bottom: 5px; }
  .trainer-roster-table__row .health-pill { align-self: end; }
  .trainer-risk-summary { align-self: end; }
  .trainer-roster-open { width: 100%; justify-content: flex-end; align-self: end; }
  .trainer-learner-profile-hero { padding: 18px; grid-template-columns: 48px 1fr; }
  .trainer-learner-profile-hero > .avatar { width: 48px; height: 48px; }
  .trainer-learner-profile-hero > div:last-child { grid-column: 1 / -1; flex-wrap: wrap; }
  .trainer-learner-context { grid-template-columns: 22px 1fr; }
  .trainer-learner-context > small { grid-column: 2; }
  .trainer-learner-metrics { grid-template-columns: 1fr; }
  .trainer-learner-profile-layout > aside { grid-template-columns: 1fr; }
  .trainer-risk-evidence > .section-heading { align-items: flex-start; flex-direction: column; }
  .trainer-risk-evidence__list article { grid-template-columns: 31px 1fr; }
  .trainer-risk-evidence__list dl { grid-column: 2; grid-template-columns: 1fr; }
  .trainer-profile-boundary { grid-column: auto; }
  .trainer-learner-progress-card > div:last-child { grid-template-columns: auto 1fr; }
  .trainer-learner-submissions > article { padding: 10px 0; grid-template-columns: 30px 1fr auto; }
  .trainer-learner-submissions > article > .health-pill { grid-column: 2 / -1; width: fit-content; }
  .trainer-learner-activity > article { grid-template-columns: 27px 1fr; }
  .trainer-learner-activity time { grid-column: 2; }
  .trainer-attendance-session { grid-template-columns: 1fr; align-items: stretch; }
  .trainer-attendance-session > .health-pill { grid-column: auto; }
  .trainer-attendance-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-attendance-layout > aside { grid-template-columns: 1fr; }
  .trainer-attendance-audit, .trainer-attendance-boundary { grid-column: auto; }
  .trainer-attendance-register > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-attendance-register > .section-heading .segmented { width: 100%; }
  .trainer-attendance-register > .section-heading .segmented button { flex: 1; }
  .trainer-attendance-table { padding: 11px; overflow: visible; background: var(--surface-soft); }
  .trainer-attendance-table__header { display: none; }
  .trainer-attendance-table__row { min-width: 0; min-height: 0; margin-bottom: 9px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: 1fr 1fr; gap: 12px; background: #fff; }
  .trainer-attendance-table__row > div:first-child { grid-column: 1 / -1; }
  .trainer-attendance-table__row [data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; font-weight: 800; }
  .trainer-attendance-table__row > span:nth-of-type(2) { grid-column: 1 / -1; }
  .trainer-attendance-table__row > .text-button { width: 100%; justify-content: flex-end; }
  .trainer-attendance-correction__current { grid-template-columns: auto 1fr; }
  .trainer-review-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-review-queue-page > .role-heading .heading-actions { align-items: stretch; flex-direction: column; }
  .trainer-review-queue-page > .role-heading .heading-actions .health-pill { width: fit-content; }
  .trainer-review-queue-page > .role-heading .heading-actions .button { width: 100%; justify-content: center; }
  .trainer-review-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .trainer-review-toolbar .segmented { width: 100%; overflow-x: auto; }
  .trainer-review-toolbar .segmented button { flex: 1; white-space: nowrap; }
  .trainer-review-scope { grid-template-columns: 22px 1fr; }
  .trainer-review-scope > .text-button, .trainer-review-scope > small { grid-column: 2; justify-self: start; }
  .trainer-review-table { padding: 11px; overflow: visible; background: var(--surface-soft); }
  .trainer-review-table__header { display: none; }
  .trainer-review-record { margin-bottom: 10px; border: 1px solid var(--border); border-radius: 11px; overflow: hidden; background: #fff; }
  .trainer-review-table__row { min-width: 0; min-height: 0; padding: 13px; grid-template-columns: 1fr 1fr; gap: 13px; }
  .trainer-review-table__row > div:first-child { grid-column: 1 / -1; }
  .trainer-review-table__row [data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .5px; font-size: 12px; font-weight: 800; }
  .trainer-review-table__row > .health-pill { align-self: end; }
  .trainer-review-table__row > .text-button { grid-column: 1 / -1; width: 100%; justify-content: flex-end; }
  .trainer-review-context { margin: 0 12px 12px; grid-template-columns: 24px 1fr; }
  .trainer-review-context > div, .trainer-review-context > small { grid-column: 2; }
  .trainer-review-context__actions { align-items: stretch; flex-direction: column; }
  .trainer-review-context__actions .button { width: 100%; justify-content: center; }
  .trainer-review-queue > footer { align-items: flex-start; }
  .trainer-grading-hero { padding: 18px; align-items: flex-start; flex-direction: column; }
  .trainer-grading-hero h1 { font-size: 23px; }
  .trainer-grading-hero > div:last-child { flex-wrap: wrap; }
  .trainer-grading-facts { grid-template-columns: 1fr; }
  .trainer-grading-layout { grid-template-columns: 1fr; }
  .trainer-grading-layout > aside { grid-template-columns: 1fr; }
  .trainer-grade-summary { position: static; }
  .trainer-grading-evidence > .section-heading, .trainer-rubric-heading, .trainer-overall-feedback > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-grading-evidence > .section-heading .button { width: 100%; justify-content: center; }
  .trainer-rubric-heading > .text-button { justify-content: flex-start; }
  .trainer-rubric-card > header { grid-template-columns: 31px 1fr; }
  .trainer-rubric-card > header > strong { grid-column: 2; }
  .trainer-rubric-score { grid-template-columns: 1fr; }
  .trainer-rubric-score > div { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); }
  .trainer-rubric-score button { width: 100%; }
  .trainer-rubric-score > small { text-align: left; }
  .trainer-feedback-hero { padding: 18px; align-items: flex-start; flex-direction: column; }
  .trainer-feedback-hero h1 { font-size: 23px; }
  .trainer-feedback-hero > div:last-child { width: 100%; align-items: stretch; flex-direction: column; }
  .trainer-feedback-hero > div:last-child .health-pill { width: fit-content; }
  .trainer-feedback-hero > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-feedback-layout { grid-template-columns: 1fr; }
  .trainer-feedback-layout > aside { grid-template-columns: 1fr; }
  .trainer-feedback-versionbar { align-items: stretch; flex-direction: column; }
  .trainer-feedback-versionbar > p { text-align: left; }
  .trainer-feedback-versionbar .segmented { width: 100%; }
  .trainer-feedback-versionbar .segmented button { flex: 1; }
  .trainer-feedback-document > .section-heading, .trainer-feedback-threads > .section-heading, .trainer-feedback-summary > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-feedback-document__body > article { grid-template-columns: 29px 1fr; }
  .trainer-feedback-document__body > article > .text-button { grid-column: 2; justify-content: flex-start; }
  .trainer-inline-composer { grid-column: 1 / -1; }
  .trainer-inline-composer > div { align-items: stretch; flex-direction: column; }
  .trainer-inline-composer > div > .text-button { margin-right: 0; justify-content: flex-start; }
  .trainer-inline-composer > div > .button { width: 100%; justify-content: center; }
  .trainer-assignment-create-hero { padding: 18px; align-items: flex-start; flex-direction: column; }
  .trainer-assignment-create-hero h1 { font-size: 23px; }
  .trainer-assignment-create-hero > div:last-child { width: 100%; align-items: stretch; flex-direction: column; }
  .trainer-assignment-create-hero > div:last-child .health-pill { width: fit-content; }
  .trainer-assignment-create-hero > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-assignment-receipt { grid-template-columns: 29px 1fr; }
  .trainer-assignment-receipt > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-assignment-create-layout { grid-template-columns: 1fr; }
  .trainer-assignment-create-layout > aside { grid-template-columns: 1fr; }
  .trainer-assignment-section > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-assignment-section > .section-heading > .health-pill { width: fit-content; }
  .trainer-assignment-fields { grid-template-columns: 1fr; }
  .trainer-assignment-fields--full { grid-column: auto; }
  .trainer-assignment-filetypes > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .trainer-assignment-filetypes button { justify-content: center; }
  .trainer-assignment-rubric { grid-template-columns: 27px 1fr; }
  .trainer-assignment-rubric > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-question-bank-hero { padding: 18px; align-items: flex-start; flex-direction: column; }
  .trainer-question-bank-hero h1 { font-size: 23px; }
  .trainer-question-bank-hero > div:last-child { width: 100%; align-items: stretch; flex-direction: column; }
  .trainer-question-bank-hero > div:last-child .health-pill { width: fit-content; }
  .trainer-question-bank-hero > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-question-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-question-layout { grid-template-columns: 1fr; }
  .trainer-question-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .trainer-question-scope { grid-template-columns: 22px 1fr; }
  .trainer-question-scope small { grid-column: 2; }
  .trainer-question-list { padding: 10px; background: var(--surface-soft); }
  .trainer-question-list > article { margin-bottom: 9px; border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #fff; }
  .trainer-question-list article > header { padding: 11px; grid-template-columns: 1fr; }
  .trainer-question-expand { grid-template-columns: 29px minmax(0,1fr) 17px; }
  .trainer-question-expand > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-question-expand > svg:last-child { grid-column: 3; grid-row: 1; }
  .trainer-question-list article > header > .button { width: 100%; justify-content: center; }
  .trainer-question-answer { margin: 0 11px 11px; }
  .trainer-quiz-builder > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-quiz-builder > .section-heading .text-button { justify-content: flex-start; }
  .trainer-content-authoring-hero { padding: 19px; align-items: flex-start; flex-direction: column; }
  .trainer-content-authoring-hero .health-pill { width: fit-content; }
  .trainer-content-authoring-tabs { grid-template-columns: 1fr; }
  .trainer-content-authoring-layout, .trainer-central-request-layout { grid-template-columns: 1fr; }
  .trainer-author-editor > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-author-editor > .section-heading > div:last-child { justify-content: space-between; }
  .trainer-author-fields { grid-template-columns: 1fr; }
  .trainer-author-fields--full { grid-column: auto; }
  .trainer-resource-hero { padding: 19px; align-items: flex-start; flex-direction: column; }
  .trainer-resource-hero .health-pill { width: fit-content; }
  .trainer-resource-layout { grid-template-columns: 1fr; }
  .trainer-resource-library > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-resource-library > .section-heading .health-pill { width: fit-content; }
  .trainer-resource-list { padding: 10px; background: var(--surface-soft); }
  .trainer-resource-list article { margin-bottom: 9px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: 32px minmax(0,1fr); background: #fff; }
  .trainer-resource-list article > div, .trainer-resource-list article > .health-pill, .trainer-resource-list article > .button, .trainer-resource-list article > .trainer-resource-added { grid-column: 2; justify-self: start; text-align: left; }
  .trainer-resource-list article > .button { width: 100%; }
  .trainer-messaging-hero { padding: 19px; align-items: flex-start; flex-direction: column; }
  .trainer-messaging-hero .health-pill { width: fit-content; }
  .trainer-messaging-layout { grid-template-columns: 1fr; }
  .trainer-message-fields, .trainer-message-audience { grid-template-columns: 1fr; }
  .trainer-message-log > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-message-log > .section-heading .health-pill { width: fit-content; }
  .trainer-message-log > div { padding: 10px; background: var(--surface-soft); }
  .trainer-message-log article { margin-bottom: 9px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: 30px minmax(0,1fr); background: #fff; }
  .trainer-message-log article > div, .trainer-message-log article > .button, .trainer-message-log article > svg { grid-column: 2; justify-self: start; }
  .trainer-message-log article > .button { width: 100%; }
  .trainer-support-hero { padding: 19px; align-items: flex-start; flex-direction: column; }
  .trainer-support-hero .health-pill { width: fit-content; }
  .trainer-support-tabs,.trainer-support-layout,.trainer-office-fields { grid-template-columns: 1fr; }
  .trainer-office-fields--full { grid-column: auto; }
  .trainer-announcement-compose > .section-heading,.trainer-office-compose > .section-heading,.trainer-support-history > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-announcement-compose > .section-heading .button { width: 100%; justify-content: center; }
  .trainer-support-history > div { padding: 10px; background: var(--surface-soft); }
  .trainer-support-history article { margin-bottom: 9px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: 30px minmax(0,1fr); background: #fff; }
  .trainer-support-history article > div { grid-column: 2; text-align: left; }
  .trainer-support-history article > div .health-pill { margin-left: 0; }
  .trainer-analytics-hero { padding: 19px; align-items: flex-start; flex-direction: column; }
  .trainer-assistant-heading { padding: 20px; align-items: flex-start; flex-direction: column; }
  .trainer-assistant-layout { grid-template-columns: 1fr; }
  .trainer-assistant-task-list { grid-template-columns: 1fr; }
  .trainer-assistant-task-list button { min-height: 64px; }
  .trainer-assistant-draft-actions { align-items: stretch; flex-direction: column; }
  .trainer-assistant-draft-actions .button { width: 100%; }
  .trainer-profile-hero { padding: 20px; align-items: flex-start; flex-direction: column; }
  .trainer-profile-layout { grid-template-columns: 1fr; }
  .trainer-profile-identity { grid-template-columns: 50px 1fr; }
  .trainer-profile-identity > small { grid-column: 1 / -1; max-width: none; }
  .trainer-profile-save { align-items: stretch; flex-direction: column; }
  .trainer-profile-save .button { width: 100%; }
  .trainer-quality-hero { padding: 20px; align-items: stretch; flex-direction: column; }
  .trainer-quality-period { min-width: 0; width: 100%; }
  .trainer-quality-context { grid-template-columns: 24px 1fr; }
  .trainer-quality-context > span { grid-column: 2; }
  .trainer-quality-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-quality-layout { grid-template-columns: 1fr; }
  .trainer-quality-table__head { display: none; }
  .trainer-quality-table > button { margin: 8px 10px; width: calc(100% - 20px); border: 1px solid var(--border); border-radius: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-quality-table button > div { grid-column: 1 / -1; }
  .trainer-quality-table button > span::before { content: attr(data-label); margin-right: 4px; color: var(--text-soft); font-size: 12px; font-weight: 500; }
  .trainer-quality-table button em { grid-column: 1 / -1; }
  .trainer-review-evidence { grid-template-columns: repeat(2,1fr); }
  .trainer-analytics-hero > div:last-child { width: 100%; justify-items: stretch; }
  .trainer-analytics-hero .health-pill { width: fit-content; }
  .trainer-analytics-scope { grid-template-columns: 22px 1fr; }
  .trainer-analytics-scope label { grid-column: 2; }
  .trainer-analytics-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-analytics-table > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-analytics-table__header { display: none; }
  .trainer-analytics-table > div:not(.section-heading) { padding: 10px; background: var(--surface-soft); }
  .trainer-analytics-table > article { margin: 9px 10px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); background: #fff; }
  .trainer-analytics-table article p { grid-column: 1 / -1; }
  .trainer-analytics-table article > span::before { content: attr(data-label); margin-bottom: 2px; display: block; color: var(--text-soft); font-size: 12px; font-weight: 500; }
  .trainer-analytics-table article em { grid-column: 1 / -1; justify-self: start; }
  .trainer-intervention-hero{padding:18px;align-items:flex-start;flex-direction:column}.trainer-intervention-layout{grid-template-columns:1fr}.trainer-intervention-form>.section-heading{align-items:stretch;flex-direction:column}.trainer-intervention-form>div:last-child{align-items:stretch;flex-direction:column}.trainer-intervention-form>div:last-child .button{width:100%;justify-content:center}
  .trainer-content-overview-page > .page-heading .heading-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .trainer-content-overview-page > .page-heading .heading-actions .health-pill { width: fit-content; }
  .trainer-content-overview-page > .page-heading .heading-actions .button { width: 100%; justify-content: center; }
  .trainer-content-context { grid-template-columns: 1fr; }
  .trainer-content-context > div { grid-template-columns: 1fr; }
  .trainer-content-context > div p { min-height: 36px; padding: 8px 0; border-left: 0; border-top: 1px solid #e7ebf4; }
  .trainer-content-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-content-toolbar { align-items: stretch; flex-direction: column; }
  .trainer-content-toolbar .segmented { width: 100%; overflow-x: auto; }
  .trainer-content-toolbar .segmented button { flex: 1; white-space: nowrap; }
  .trainer-content-scope { grid-template-columns: 22px 1fr; }
  .trainer-content-scope small { grid-column: 2; }
  .trainer-content-module-heading { padding: 11px; grid-template-columns: 38px 1fr 18px; }
  .trainer-content-module-heading > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-content-module-heading > svg { grid-column: 3; grid-row: 1; }
  .trainer-content-module-body { margin: 0 11px 11px; grid-template-columns: 1fr; }
  .trainer-content-module-body > section + section { border-top: 1px solid #edf0f7; border-left: 0; }
  .trainer-content-module-body > footer { grid-column: auto; }
  .trainer-live-summary { grid-template-columns: 1fr; }
  .trainer-live-toolbar { align-items: stretch; flex-direction: column; }
  .trainer-live-toolbar > label { min-width: 0; }
  .trainer-live-toolbar .segmented { width: 100%; overflow-x: auto; }
  .trainer-live-toolbar .segmented button { flex: 1; }
  .trainer-live-scope { grid-template-columns: 22px 1fr; }
  .trainer-live-scope small { grid-column: 2; }
  .trainer-live-group > article { padding: 11px 0; grid-template-columns: 44px 1fr; }
  .trainer-live-group article > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-live-group article > .button { grid-column: 1 / -1; width: 100%; }
  .trainer-session-detail-hero { padding: 18px; align-items: flex-start; flex-direction: column; }
  .trainer-session-detail-hero h1 { font-size: 24px; }
  .trainer-session-detail-hero > div:last-child { width: 100%; align-items: stretch; flex-direction: column; }
  .trainer-session-detail-hero > div:last-child .health-pill { width: fit-content; }
  .trainer-session-detail-hero > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-session-facts { grid-template-columns: 1fr; }
  .trainer-session-detail-layout > aside { grid-template-columns: 1fr; }
  .trainer-session-detail-layout > aside > .trainer-attendance-boundary { grid-column: auto; }
  .trainer-session-materials > .section-heading, .trainer-session-questions > .section-heading { align-items: stretch; flex-direction: column; }
  .trainer-session-materials > .section-heading .button { width: 100%; justify-content: center; }
  .trainer-session-material-list article { grid-template-columns: 31px minmax(0,1fr); }
  .trainer-session-material-list article > .health-pill { grid-column: 2; justify-self: start; }
  .trainer-session-questions > button { grid-template-columns: 27px 1fr; }
  .trainer-session-questions > button small { grid-column: 2; }
  .trainer-session-activity { grid-template-columns: 28px 1fr; }
  .trainer-session-activity > span { grid-column: 2; justify-self: start; }
  .trainer-session-follow-up > .section-heading { align-items: flex-start; flex-direction: column; }
  .trainer-follow-up-grid { grid-template-columns: 1fr; }
  .trainer-recording-card > div:last-child { grid-template-columns: 1fr; }
  .trainer-recording-card > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-follow-up-draft > div:last-child { align-items: stretch; flex-direction: column; }
  .trainer-follow-up-draft > div:last-child .button { width: 100%; justify-content: center; }
  .trainer-postclass-actions { grid-template-columns: 1fr; }
  .trainer-classroom-shell > header { padding: 8px 13px; grid-template-columns: 1fr auto; }
  .trainer-classroom-shell > header > div { grid-column: 1 / -1; grid-row: 2; }
  .trainer-classroom-shell > header > .brand { grid-column: 2; grid-row: 1; }
  .trainer-classroom-shell > main { padding: 10px; }
  .trainer-classroom-stage { min-height: 600px; padding: 11px; }
  .trainer-classroom-presenter { min-height: 250px; }
  .trainer-classroom-stage > nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trainer-classroom-stage > nav button { min-width: 0; }
  .trainer-classroom-shell > main > aside { grid-template-columns: 1fr; }
  .trainer-classroom-meet { grid-column: auto; }
}

.trainer-report-page{max-width:1180px}.trainer-report-page>.course-builder-back{min-height:40px;margin-bottom:14px;font-size:13px}.trainer-report-hero{padding:25px 27px;border-radius:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(135deg,var(--utiva-blue-dark),#1116b5)}.trainer-report-hero h1{margin:4px 0 7px;font-size:clamp(27px,3vw,39px);line-height:1.08}.trainer-report-hero p:last-child{max-width:720px;margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.5}.trainer-report-hero>span{padding:8px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;color:var(--utiva-blue-dark);background:var(--utiva-yellow);font-size:12px;font-weight:800;white-space:nowrap}.trainer-report-scope{margin:12px 0 17px;padding:11px 15px;border:1px solid #d8e0f4;border-radius:11px;display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;color:var(--utiva-blue);background:#f6f8ff}.trainer-report-scope strong,.trainer-report-scope p{display:block}.trainer-report-scope strong{font-size:13px}.trainer-report-scope p{margin:2px 0 0;color:var(--text-soft);font-size:13px}.trainer-report-scope>span{color:var(--text-soft);font-size:12px;font-weight:700}.trainer-report-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:17px;align-items:start}.trainer-report-layout>main,.trainer-report-layout>aside .panel{padding:20px}.trainer-report-layout>aside{display:grid;gap:14px}.trainer-report-select{margin:16px 0;display:grid;gap:6px;color:var(--text);font-size:12px;font-weight:700}.trainer-report-select select{min-height:42px;padding:0 11px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#fbfcff;font:600 13px Poppins,sans-serif}.trainer-report-select small{color:var(--text-soft);font-size:12px;font-weight:500}.trainer-report-fields{margin:0 0 16px;padding:0;border:0}.trainer-report-fields legend{margin-bottom:7px;color:var(--text);font-size:12px;font-weight:700}.trainer-report-fields>label{min-height:54px;padding:9px 10px;border-top:1px solid #edf0f7;display:grid;grid-template-columns:24px 110px 1fr;gap:8px;align-items:center;cursor:pointer}.trainer-report-fields input{position:absolute;opacity:0}.trainer-report-fields label>span{width:19px;height:19px;border:1px solid var(--border);border-radius:5px;display:grid;place-items:center;color:transparent}.trainer-report-fields input:checked+span{color:#fff;border-color:var(--utiva-blue);background:var(--utiva-blue)}.trainer-report-fields strong{font-size:13px}.trainer-report-fields small{color:var(--text-soft);font-size:12px}.trainer-report-preview{border:1px solid var(--border);border-radius:11px;overflow:hidden}.trainer-report-preview>header{padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:end;background:var(--surface-soft)}.trainer-report-preview h3{margin:3px 0 0;color:var(--utiva-blue-dark);font-size:13px}.trainer-report-preview header>span{color:var(--text-soft);font-size:12px;font-weight:700}.trainer-report-table>div{min-height:36px;padding:0 14px;border-top:1px solid #edf0f7;display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(3,minmax(80px,1fr));gap:8px;align-items:center;font-size:13px}.trainer-report-table>div:first-child{color:var(--text-soft);background:#fbfcff;text-transform:uppercase;letter-spacing:.35px;font-size:12px}.trainer-report-table span{font-weight:600}.trainer-report-empty{margin:0;padding:14px;color:#a46600;background:#fffaf0;font-size:13px}.trainer-report-confirm{margin:15px 0;padding:12px;border-radius:10px;display:flex;align-items:flex-start;gap:9px;background:#f5f7ff;cursor:pointer}.trainer-report-confirm input{margin-top:2px;accent-color:var(--utiva-blue)}.trainer-report-confirm strong,.trainer-report-confirm small{display:block}.trainer-report-confirm strong{font-size:13px}.trainer-report-confirm small{margin-top:2px;color:var(--text-soft);font-size:12px}.trainer-report-actions{display:flex;justify-content:flex-end;gap:9px}.trainer-report-boundary>div{display:flex;gap:9px;align-items:center;color:var(--utiva-blue)}.trainer-report-boundary>div strong{display:block;color:var(--utiva-blue-dark);font-size:13px}.trainer-report-boundary h3{margin:15px 0 6px;font-size:12px}.trainer-report-boundary ul{margin:0;padding:0;display:grid;gap:7px;list-style:none}.trainer-report-boundary li{display:flex;align-items:center;gap:6px;color:var(--text);font-size:13px}.trainer-report-boundary li svg{color:var(--success)}.trainer-report-boundary .is-excluded li svg{color:#a82e3c}.trainer-report-boundary>small{margin-top:15px;padding-top:11px;border-top:1px solid #edf0f7;display:flex;gap:6px;color:var(--text-soft);font-size:12px;line-height:1.45}.trainer-report-history article{min-height:45px;border-top:1px solid #edf0f7;display:grid;grid-template-columns:31px 1fr;gap:8px;align-items:center}.trainer-report-history article>span{width:31px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--utiva-blue-soft);font-size:12px;font-weight:800}.trainer-report-history article p{margin:0}.trainer-report-history article strong,.trainer-report-history article small{display:block}.trainer-report-history article strong{font-size:13px}.trainer-report-history article small,.trainer-report-history>p,.trainer-report-history>small{color:var(--text-soft);font-size:12px}.trainer-report-history>p{margin:12px 0}.trainer-report-history>small{display:block;margin-top:9px}
@media(max-width:680px){.trainer-report-hero{padding:20px;align-items:flex-start;flex-direction:column}.trainer-report-scope{grid-template-columns:23px 1fr}.trainer-report-scope>span{grid-column:2}.trainer-report-layout{grid-template-columns:1fr}.trainer-report-layout>main,.trainer-report-layout>aside .panel{padding:16px}.trainer-report-fields>label{min-height:68px;grid-template-columns:18px 22px 1fr;grid-template-rows:auto auto;align-content:center}.trainer-report-fields label>span{grid-column:2;grid-row:1 / 3;align-self:center}.trainer-report-fields strong{grid-column:3;grid-row:1}.trainer-report-fields small{grid-column:3;grid-row:2}.trainer-report-preview{overflow-x:auto}.trainer-report-table{min-width:510px}.trainer-report-actions{align-items:stretch;flex-direction:column}.trainer-report-actions .button{width:100%;justify-content:center}}
@media(max-width:680px){.trainer-report-preview{overflow:visible}.trainer-report-table{min-width:0}.trainer-report-table>div:first-child{display:none}.trainer-report-table>div:not(:first-child){min-height:0;padding:11px 13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;background:#fff}.trainer-report-table>div:not(:first-child)+div{border-top:1px solid #e7ebf4}.trainer-report-table span{min-width:0;display:grid;gap:2px}.trainer-report-table span::before{content:attr(data-label);color:var(--text-soft);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.35px}.trainer-report-table span:first-child{grid-column:1 / -1;color:var(--utiva-blue-dark);font-weight:800}}
.trainer-moderation-page{max-width:1180px}.trainer-moderation-hero{padding:25px 27px;border-radius:18px 18px 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(135deg,var(--utiva-blue-dark),#1116b5)}.trainer-moderation-hero h1{max-width:730px;margin:4px 0 7px;font-size:clamp(27px,3vw,39px);line-height:1.08}.trainer-moderation-hero p:last-child{margin:0;color:rgba(255,255,255,.78);font-size:13px}.trainer-moderation-hero>span{padding:8px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;color:var(--utiva-blue-dark);background:var(--utiva-yellow);font-size:12px;font-weight:800;white-space:nowrap}.trainer-moderation-boundary{margin-bottom:16px;padding:11px 16px;border:1px solid #d8e0f4;border-top:0;border-radius:0 0 13px 13px;display:grid;grid-template-columns:26px 1fr auto;gap:8px;align-items:center;color:var(--utiva-blue);background:#f6f8ff}.trainer-moderation-boundary strong,.trainer-moderation-boundary small{display:block}.trainer-moderation-boundary strong{font-size:13px}.trainer-moderation-boundary small{margin-top:2px;color:var(--text-soft);font-size:13px}.trainer-moderation-boundary>span{color:var(--text-soft);font-size:12px;font-weight:700}.trainer-moderation-summary{margin-bottom:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.trainer-moderation-summary article{padding:13px;border:1px solid var(--border);border-radius:11px;display:flex;gap:9px;align-items:center;background:#fff}.trainer-moderation-summary article>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--utiva-blue-soft)}.trainer-moderation-summary p{margin:0}.trainer-moderation-summary small,.trainer-moderation-summary strong{display:block}.trainer-moderation-summary small{color:var(--text-soft);font-size:12px}.trainer-moderation-summary strong{margin-top:2px;color:var(--utiva-blue-dark);font-size:18px}.trainer-moderation-toolbar{margin-bottom:14px;padding:12px 14px;display:flex;align-items:end;justify-content:space-between;gap:15px}.trainer-moderation-toolbar label{min-width:300px;display:grid;gap:5px;color:var(--text);font-size:12px;font-weight:700}.trainer-moderation-toolbar select{min-height:42px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#fbfcff;font:600 13px Poppins,sans-serif}.trainer-moderation-toolbar>div{padding:3px;border-radius:9px;display:flex;background:var(--surface-soft)}.trainer-moderation-toolbar>div button{min-height:40px;padding:0 12px;border:0;border-radius:7px;color:var(--text-soft);background:transparent;font:700 13px Poppins,sans-serif;cursor:pointer}.trainer-moderation-toolbar>div button.is-active{color:var(--utiva-blue);background:#fff;box-shadow:0 2px 7px rgba(19,25,76,.08)}.trainer-moderation-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.trainer-moderation-layout>aside{display:grid;gap:14px}.trainer-moderation-queue,.trainer-moderation-layout>aside .panel{padding:19px}.trainer-moderation-queue>.section-heading{padding-bottom:13px}.trainer-moderation-queue>.section-heading>.health-pill{max-width:190px;overflow:hidden;text-overflow:ellipsis}.trainer-moderation-queue>article{padding:14px 0;border-top:1px solid #edf0f7}.trainer-moderation-queue>article.is-pinned{padding:14px;border:1px solid #ccd4ff;border-radius:10px;background:#fafaff}.trainer-moderation-queue>article.is-closed{opacity:.72}.trainer-moderation-queue article>header{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.trainer-moderation-queue header p{margin:0}.trainer-moderation-queue header strong,.trainer-moderation-queue header small{display:block}.trainer-moderation-queue header strong{font-size:13px}.trainer-moderation-queue header small{margin-top:2px;color:var(--text-soft);font-size:12px}.trainer-moderation-queue header>div{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.trainer-moderation-queue article>p{margin:11px 0;color:var(--text-soft);font-size:13px;line-height:1.55}.trainer-moderation-queue article>footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.trainer-moderation-queue article>footer>span{color:var(--text-soft);font-size:12px}.trainer-moderation-queue article>footer>div{display:flex;gap:7px;align-items:center}.trainer-moderation-queue footer .text-button{font-size:13px}.trainer-moderation-policy>div:not(.section-heading){padding:9px 0;border-top:1px solid #edf0f7}.trainer-moderation-policy strong{font-size:13px}.trainer-moderation-policy p{margin:2px 0 0;color:var(--text-soft);font-size:13px}.trainer-moderation-policy>small{margin-top:10px;padding:9px;border-radius:8px;display:flex;gap:6px;color:#8c5b00;background:var(--utiva-yellow-soft);font-size:12px;line-height:1.45}.trainer-moderation-audit>p{color:var(--text-soft);font-size:13px}.trainer-moderation-audit article{min-height:54px;padding:8px 0;border-top:1px solid #edf0f7;display:grid;grid-template-columns:62px 1fr;gap:8px}.trainer-moderation-audit article>span{height:23px;border-radius:999px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--utiva-blue-soft);font-size:12px;font-weight:800}.trainer-moderation-audit article p{margin:0}.trainer-moderation-audit article strong,.trainer-moderation-audit article small,.trainer-moderation-audit article em{display:block}.trainer-moderation-audit article strong{font-size:13px}.trainer-moderation-audit article small,.trainer-moderation-audit article em,.trainer-moderation-audit>small{color:var(--text-soft);font-size:12px;line-height:1.4}.trainer-moderation-audit article em{margin-top:2px;font-style:normal}.trainer-moderation-audit>small{display:block;margin-top:10px}.trainer-moderation-action-note{margin-bottom:14px;padding:11px;border-radius:9px;display:flex;gap:8px;color:var(--utiva-blue);background:#f5f7ff}.trainer-moderation-action-note p{margin:0}.trainer-moderation-action-note strong,.trainer-moderation-action-note small{display:block}.trainer-moderation-action-note strong{font-size:13px}.trainer-moderation-action-note small{margin-top:2px;color:var(--text-soft);font-size:12px}.trainer-moderation-modal .form-field{margin-top:11px}.trainer-moderation-modal textarea{font:500 13px/1.5 Poppins,Arial,sans-serif;resize:vertical}
@media(max-width:680px){.trainer-moderation-hero{padding:20px;align-items:flex-start;flex-direction:column}.trainer-moderation-boundary{grid-template-columns:23px 1fr}.trainer-moderation-boundary>span{grid-column:2}.trainer-moderation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-moderation-toolbar{align-items:stretch;flex-direction:column}.trainer-moderation-toolbar label{min-width:0}.trainer-moderation-toolbar>div{overflow-x:auto}.trainer-moderation-toolbar>div button{flex:1}.trainer-moderation-layout{grid-template-columns:1fr}.trainer-moderation-queue,.trainer-moderation-layout>aside .panel{padding:15px}.trainer-moderation-queue>.section-heading{align-items:flex-start;flex-direction:column}.trainer-moderation-queue article>header{grid-template-columns:34px 1fr}.trainer-moderation-queue header>div{grid-column:2;justify-content:flex-start}.trainer-moderation-queue article>footer{align-items:stretch;flex-direction:column}.trainer-moderation-queue article>footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-moderation-queue footer .button{grid-column:1 / -1;width:100%;justify-content:center}.trainer-moderation-modal .admin-modal__footer{align-items:stretch;flex-direction:column}.trainer-moderation-modal .admin-modal__footer .button{width:100%;justify-content:center}}
@media (max-width: 680px) {
  .client-portal-topbar { min-height: 66px; padding: 0 15px; grid-template-columns: auto 1fr auto; gap: 10px; }
  .client-portal-topbar__scope { justify-self: center; min-height: 36px; padding: 0 10px; }
  .client-portal-topbar__actions { gap: 8px; }
  .client-portal-topbar__actions > .text-button { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; font-size: 0; }
  .client-portal-topbar__profile { padding-left: 8px; }
  .client-portal-topbar__profile p { display: none; }
  .client-portal-topbar__profile .avatar { width: 34px; height: 34px; }
}

@media (max-width: 680px) {
  .trainer-report-layout > main,
  .trainer-report-layout > aside,
  .trainer-report-select,
  .trainer-report-select select { min-width: 0; width: 100%; }
}

.trainer-dashboard-page { max-width: 1280px; }
.trainer-dashboard-page .role-heading { margin-bottom: 24px; }
.trainer-dashboard-page .role-heading h1 { margin-top: 6px; font-size: clamp(36px, 4vw, 46px); line-height: 1.06; letter-spacing: -1.5px; }
.trainer-dashboard-page .eyebrow { font-size: 12px; letter-spacing: 1.1px; }
.trainer-dashboard-page .heading-actions .button { min-height: 44px; padding: 0 15px; font-size: 13px; }
.trainer-dashboard-page .trainer-focus { min-height: 192px; }
.trainer-dashboard-page .trainer-focus__time span,
.trainer-dashboard-page .trainer-focus__time small { font-size: 12px; }
.trainer-dashboard-page .trainer-focus__time strong { font-size: 48px; }
.trainer-dashboard-page .trainer-focus__label { font-size: 12px; }
.trainer-dashboard-page .trainer-focus h2 { margin-top: 10px; font-size: clamp(28px, 3vw, 35px); }
.trainer-dashboard-page .trainer-focus__body > p { font-size: 14px; }
.trainer-dashboard-page .trainer-focus__body > div { gap: 18px; font-size: 12px; }
.trainer-dashboard-page .trainer-focus__action .button { min-height: 44px; font-size: 13px; }
.trainer-dashboard-page .trainer-focus__action .text-button { font-size: 12px; }
.trainer-dashboard-page .metric-card { min-height: 154px; padding: 20px; }
.trainer-dashboard-page .metric-card__head span { font-size: 13px; }
.trainer-dashboard-page .metric-card > strong { font-size: 34px; }
.trainer-dashboard-page .metric-card > p { font-size: 12px; }
.trainer-dashboard-page .role-panel { padding: 24px; }
.trainer-dashboard-page .section-heading h2 { font-size: 20px; }
.trainer-dashboard-page .cohort-table { overflow-x: visible; }
.trainer-dashboard-page .cohort-table > .cohort-table__row { min-width: 0; padding: 0; grid-template-columns: minmax(220px,1.25fr) minmax(150px,.8fr) 90px 40px; }
.trainer-dashboard-page .cohort-table > .cohort-table__row > div:first-child { display: flex; }
.trainer-dashboard-page .section-heading .text-button,
.trainer-dashboard-page .role-panel > .button { font-size: 12px; }
.trainer-dashboard-page .cohort-table strong { font-size: 13px; }
.trainer-dashboard-page .cohort-table small,
.trainer-dashboard-page .cohort-progress > span { font-size: 12px; }
.trainer-dashboard-page .health-pill,
.trainer-dashboard-page .status-pill { font-size: 12px; }
.trainer-dashboard-page .review-item strong { font-size: 13px; }
.trainer-dashboard-page .review-item span,
.trainer-dashboard-page .review-item small { font-size: 12px; }
.trainer-dashboard-page .attention-row strong { font-size: 13px; }
.trainer-dashboard-page .attention-row p { font-size: 12px; }
.trainer-dashboard-page .attention-row .button { min-height: 40px; font-size: 12px; }

@media (max-width: 680px) {
  .trainer-cohort-portfolio-page > .role-heading .heading-actions { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .trainer-cohort-portfolio-page > .role-heading .heading-actions .health-pill { grid-column: 1 / -1; width: fit-content; }
  .trainer-cohort-portfolio-page > .role-heading .heading-actions .button { width: 100%; justify-content: center; }
  .trainer-cohort-portfolio-page > .role-heading .heading-actions .button:last-child { grid-column: 1 / -1; }
  .trainer-dashboard-page .role-heading h1 { font-size: 33px; }
  .trainer-dashboard-page .heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .trainer-dashboard-page .heading-actions .button { width: 100%; }
  .trainer-dashboard-page .heading-actions .button:last-child { grid-column: 1 / -1; }
  .trainer-dashboard-page .trainer-focus { padding: 22px; }
  .trainer-dashboard-page .trainer-focus__time strong { font-size: 38px; }
  .trainer-dashboard-page .trainer-focus h2 { font-size: 28px; }
  .trainer-dashboard-page .trainer-focus__body > div { gap: 10px 14px; }
  .trainer-dashboard-page .metric-card { min-height: 148px; padding: 15px; }
  .trainer-dashboard-page .metric-card__head span { font-size: 12px; }
  .trainer-dashboard-page .metric-card > strong { font-size: 28px; }
  .trainer-dashboard-page .metric-card > p { font-size: 12px; }
  .trainer-dashboard-page .role-panel { padding: 18px; }
  .trainer-dashboard-page .cohort-table > .cohort-table__row { min-width: 0; padding: 12px 0; grid-template-columns: 1fr auto; }
}

/* Utiva interface standard: readable type, restrained copy, clean hierarchy. */
:root {
  --type-label: 12px;
  --type-body: 13px;
  --type-body-comfortable: 14px;
  --type-section: 20px;
  --type-page: clamp(34px, 3.4vw, 44px);
}

body { font-size: var(--type-body); }

.app-main .page-heading h1,
.app-main .role-heading h1 { font-size: var(--type-page); line-height: 1.08; letter-spacing: -1.25px; }
.app-main .section-heading h2 { font-size: var(--type-section); line-height: 1.25; }
.app-main .eyebrow { font-size: var(--type-label); line-height: 1.35; letter-spacing: 1px; }
.app-main .button,
.app-main .text-button,
.app-main input,
.app-main select,
.app-main textarea { font-size: var(--type-body); }
.app-main input,
.app-main select { min-height: 42px; }
.app-main textarea { line-height: 1.5; }
.app-main .health-pill,
.app-main .status-pill,
.app-main .secure-chip { font-size: var(--type-label); line-height: 1.25; }
.app-main .metric-card__head span,
.app-main .metric-card > p { font-size: var(--type-label); line-height: 1.45; }
.app-main .metric-card > strong { font-size: clamp(28px, 2.5vw, 34px); }
.app-main :where(.panel, .role-panel, .metric-card) p { line-height: 1.5; }
.app-main :where(.panel, .role-panel) > p:not(.eyebrow) { font-size: var(--type-body); }

.live-card::after { z-index: 0; pointer-events: none; }
.live-card > * { position: relative; z-index: 1; }
.study-plan-modal > .admin-modal__footer { position: sticky; bottom: -26px; z-index: 3; margin: 20px -26px -26px; padding: 16px 26px 20px; background: #fff; box-shadow: 0 -12px 24px rgba(3,4,95,.06); }
.study-plan-modal__hero > p:last-child { display: none; }

/* Headings already provide the context; repeated summaries create visual noise. */
.app-main .page-heading > div:first-child > p:not(.eyebrow),
.app-main .section-heading > div:first-child > p:not(.eyebrow) { display: none; }

.sidebar nav button,
.sidebar__profile strong,
.topbar__profile strong { font-size: var(--type-body); }
.sidebar__profile span,
.topbar__profile span,
.topbar__search > span { font-size: var(--type-label); }

@media (max-width: 680px) {
  :root { --type-page: 32px; --type-section: 19px; }
  .page { width: min(100% - 28px, 1240px); padding-top: 26px; }
  .goal-onboarding > header .text-button { font-size: var(--type-label); }
  .course-row__body small { overflow: visible; white-space: normal; text-overflow: clip; line-height: 1.4; }
  .learning-summary { padding: 17px 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .learning-summary div { min-width: 0; margin: 0; padding: 0 14px; }
  .learning-summary div:first-child { padding-left: 0; }
  .learning-summary div:nth-child(2) { padding-right: 0; border-right: 0; }
  .learning-summary div:last-child { grid-column: 1 / -1; margin-top: 15px; padding: 15px 0 0; border-top: 1px solid var(--border); }
  .study-plan-modal > .admin-modal__footer { bottom: -19px; margin: 18px -19px -19px; padding: 15px 19px 18px; }
  .app-main .page-heading,
  .app-main .role-heading { gap: 18px; margin-bottom: 22px; }
  .app-main .page-heading h1,
  .app-main .role-heading h1 { letter-spacing: -.8px; }
}

@media (min-width: 681px) and (max-width: 900px) {
  .registration-form { grid-template-columns: 1fr; }
  .registration-form--wide { grid-column: 1; }
  .onboarding-select-row { grid-template-columns: 1fr; }
  .library-toolbar { align-items: stretch; flex-direction: column; }
  .library-toolbar .filter-row button { white-space: nowrap; }
  .library-controls { width: 100%; }
  .library-toolbar .mini-search { width: min(360px, 100%); margin-left: auto; }
  .learner-profile-layout { grid-template-columns: 1fr; }
  .learner-profile-layout > aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .learner-profile-scope { grid-column: 1 / -1; }
}

@media (max-width: 1100px) {
  .trainer-roster-toolbar .button { grid-column: auto; width: 100%; justify-content: center; }
  .trainer-roster-table { padding: 12px; overflow: visible; background: var(--surface-soft); }
  .trainer-roster-table__header { display: none; }
  .trainer-roster-table__row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: 1fr 1fr; gap: 13px; background: #fff; }
  .trainer-roster-table__row > div:first-child { grid-column: 1 / -1; }
  .trainer-roster-table__row > span:not(.health-pill) { overflow: visible; white-space: normal; }
  .trainer-roster-table__row [data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); text-transform: uppercase; letter-spacing: .55px; font-size: 12px; font-weight: 800; }
  .trainer-roster-table__row .inline-progress { display: block; }
  .trainer-roster-table__row .inline-progress .progress { margin-bottom: 5px; }
  .trainer-roster-table__row .health-pill { align-self: end; }
  .trainer-risk-summary { align-self: end; }
  .trainer-risk-summary small { overflow: visible; text-overflow: clip; white-space: normal; }
  .trainer-roster-open { width: 100%; justify-content: flex-end; align-self: end; }
}

@media (max-width: 640px) {
  .assignment-table { overflow: visible; display: grid; gap: 10px; }
  .assignment-table__header { display: none; }
  .admin-assignment-row { min-width: 0; min-height: 0; padding: 14px; border: 1px solid var(--border); border-radius: 11px; display: grid; grid-template-columns: 1fr; gap: 11px; background: #fff; }
  .admin-assignment-row > label { display: grid; gap: 5px; }
  .admin-assignment-row > label::before,
  .admin-assignment-row > span::before { display: block; margin-bottom: 3px; color: #7b8294; text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
  .admin-assignment-row > label::before { content: 'Role'; }
  .admin-assignment-row > span:nth-child(3)::before { content: 'Data scope'; }
  .assignment-status > small { margin-bottom: 5px; display: block; color: #7b8294; text-transform: uppercase; letter-spacing: .65px; font-size: 12px; font-weight: 800; }
  .assignment-status > .health-pill { width: fit-content; }
  .audit-list { overflow: visible; display: grid; gap: 10px; border-top: 0; }
  .audit-list__header { display: none; }
  .audit-row { min-width: 0; min-height: 0; padding: 13px; border: 1px solid var(--border); border-radius: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #fff; }
  .audit-row > div, .audit-row > span:nth-child(2) { grid-column: 1 / -1; }
  .audit-row > div { align-items: flex-start; }
  .audit-row > span { min-width: 0; overflow-wrap: anywhere; }
  .audit-row > span:nth-child(2)::before,
  .audit-row > span:nth-child(3)::before,
  .audit-row > span:nth-child(4)::before { display: block; margin-bottom: 4px; color: #7b8294; text-transform: uppercase; letter-spacing: .6px; font-size: 12px; font-weight: 800; }
  .audit-row > span:nth-child(2)::before { content: 'Context'; }
  .audit-row > span:nth-child(3)::before { content: 'Time'; }
  .audit-row > span:nth-child(4)::before { content: 'Result'; }
}

@media (max-width: 640px) {
  .analytics-page .analytics-programmes { overflow: visible; }
  .analytics-page .analytics-programmes > .section-heading { margin-bottom: 14px; }
  .analytics-page .analytics-programmes > .section-heading .button { width: 100%; justify-content: center; }
  .analytics-page .analytics-table { min-width: 0; display: grid; gap: 10px; }
  .analytics-page .analytics-table__header { display: none; }
  .analytics-page .analytics-table__row {
    min-width: 0;
    min-height: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 11px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    background: #fff;
  }
  .analytics-page .analytics-table__row > div:first-child { grid-column: 1 / -1; }
  .analytics-page .analytics-table__row > span { min-width: 0; }
  .analytics-page .analytics-table__row [data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--text-soft);
    text-transform: uppercase;
    letter-spacing: .55px;
    font-size: 12px;
    font-weight: 800;
  }
  .analytics-page .analytics-table__row .health-pill { width: fit-content; align-self: start; }
}

/* A-003 dashboard: readable operational copy and a true mobile portfolio layout. */
.admin-page .dashboard-status-strip strong,
.admin-page .dashboard-status-strip small,
.admin-page .chart-legend,
.admin-page .chart-legend > strong,
.admin-page .chart-stat > span,
.admin-page .chart-stat small,
.admin-page .admin-alert strong,
.admin-page .admin-alert small,
.admin-page .attention-empty strong,
.admin-page .attention-empty p { font-size: 13px; }

@media (max-width: 640px) {
  .admin-page .admin-grid,
  .admin-page .admin-grid > * { min-width: 0; }
  .admin-page .admin-chart-panel,
  .admin-page .admin-attention { min-height: 0; }
  .admin-page .data-table--admin { min-width: 0; overflow: visible; display: grid; gap: 10px; }
  .admin-page .data-table--admin .data-table__header { display: none; }
  .admin-page .data-table--admin .data-table__row {
    min-width: 0;
    min-height: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 11px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
    background: #fff;
  }
  .admin-page .data-table--admin .data-table__row > div:first-child { grid-column: 1 / -1; }
  .admin-page .data-table--admin .data-table__row > span,
  .admin-page .data-table--admin .data-table__row > .inline-progress { min-width: 0; }
  .admin-page .data-table--admin [data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--text-soft);
    text-transform: uppercase;
    letter-spacing: .55px;
    font-size: 12px;
    font-weight: 800;
  }
  .admin-page .data-table--admin .inline-progress { display: block; }
  .admin-page .data-table--admin .inline-progress .progress { margin-bottom: 6px; }
  .admin-page .data-table--admin .health-pill { width: fit-content; align-self: start; }
}

@media (max-width: 680px) {
  .client-portal-topbar { min-height: 68px; padding: 0 14px; grid-template-columns: auto minmax(0,1fr) auto; gap: 8px; }
  .client-portal-topbar > .brand { width: 80px; }
  .client-portal-topbar__scope { min-width: 0; min-height: 40px; padding: 0 8px; justify-self: stretch; }
  .client-portal-topbar__scope svg { flex: 0 0 auto; }
  .client-portal-topbar__scope strong, .client-portal-topbar__scope small { overflow: hidden; font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
  .client-portal-topbar__actions { gap: 6px; }
  .client-portal-topbar__actions > .text-button { width: 40px; min-width: 40px; height: 40px; padding: 0; display: grid; place-items: center; font-size: 0 !important; }
  .client-portal-topbar__actions > .text-button span { display: none; }
  .client-portal-topbar__profile { padding-left: 6px; }
  .client-portal-topbar__profile .avatar { width: 36px; height: 36px; }
  .client-portal-hero { align-items: stretch; flex-direction: column; gap: 10px; }
  .client-portal-hero > div { width: 100%; display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 10px; align-items: start; }
  .client-org-mark { width: 44px; height: 44px; border-radius: 12px; }
  .client-portal-hero h1 { margin: 3px 0 5px; font-size: 28px; line-height: 1.12; overflow-wrap: normal; }
  .client-portal-hero p { font-size: 13px; }
  .client-portal-hero > .secure-chip { margin-left: 54px; align-self: flex-start; }
  .client-boundary { grid-template-columns: 24px minmax(0,1fr); align-items: start; }
  .client-boundary > span { grid-column: 2; }
  .client-portal-tabs { width: 100%; padding: 4px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; overflow: visible; }
  .client-portal-tabs button { min-width: 0; width: 100%; padding: 0 7px; }
  .client-portal-overview > * { padding: 15px; }
  .client-portal-overview .section-heading { align-items: stretch; flex-direction: column; }
  .client-portal-overview .section-heading .text-button { width: 100%; justify-content: center; }
  .client-programme-row { min-height: 76px; grid-template-columns: minmax(0,1fr) auto 16px; }
  .client-programme-row > span:nth-child(2) { max-width: 78px; text-align: right; }
  .client-seat-panel, .client-enrolment-panel, .client-report-panel { padding: 15px; }
  .client-seat-panel > .section-heading, .client-report-panel > .section-heading { align-items: stretch; flex-direction: column; }
  .client-seat-panel > .section-heading .button, .client-report-panel > .section-heading .button { width: 100%; justify-content: center; }
  .client-learner-toolbar { align-items: stretch; flex-direction: column; }
  .client-learner-toolbar .text-button { align-self: flex-start; }
  .client-learner-table > .client-learner-row--head { display: none; }
  .client-learner-table > .client-learner-row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; background: #fff; }
  .client-learner-row:last-child { margin-bottom: 0; }
  .client-learner-row > span:first-child { grid-column: 1 / -1; }
  .client-learner-row > span::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .6px; text-transform: uppercase; }
  .client-learner-row > span:first-child::before { content: none; }
  .client-learner-row > .health-pill { width: fit-content; }
  .client-learner-row > svg { display: none; }
  .client-enrolment-row { min-height: 0; padding: 14px 0; grid-template-columns: 34px minmax(0,1fr); align-items: start; }
  .client-enrolment-row .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .client-report-row { min-height: 0; padding: 14px 0; grid-template-columns: 34px minmax(0,1fr); align-items: start; }
  .client-report-row > .health-pill { grid-column: 2; width: fit-content; }
  .client-report-row > .text-button { grid-column: 1 / -1; width: 100%; min-height: 40px; justify-content: center; }
  .client-learner-detail .report-directory-facts, .client-report-detail .report-directory-facts { grid-template-columns: 1fr; }
  .client-invite-modal .admin-modal__footer, .client-assignment-modal .admin-modal__footer, .client-report-create .admin-modal__footer, .client-support-modal .admin-modal__footer, .client-learner-detail .admin-modal__footer, .client-report-detail .admin-modal__footer { align-items: stretch; flex-direction: column; }
  .client-invite-modal .admin-modal__footer .button, .client-assignment-modal .admin-modal__footer .button, .client-report-create .admin-modal__footer .button, .client-support-modal .admin-modal__footer .button, .client-learner-detail .admin-modal__footer .button, .client-report-detail .admin-modal__footer .button { width: 100%; justify-content: center; }
  .government-indicator-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .government-indicator-grid > button { min-width: 0; min-height: 146px; padding: 13px; grid-template-columns: 34px minmax(0,1fr); }
  .government-indicator-grid .health-pill { grid-column: 1 / -1; }
  .government-cohort-table > .government-cohort-row--head { display: none; }
  .government-cohort-table > .government-cohort-row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; background: #fff; }
  .government-cohort-row:last-child { margin-bottom: 0; }
  .government-cohort-row > strong { grid-column: 1 / -1; font-size: 13px; }
  .government-cohort-row > span::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .6px; text-transform: uppercase; }
  .government-cohort-row > .health-pill { width: fit-content; }
  .demographic-bars > div { grid-template-columns: minmax(105px,.8fr) minmax(60px,1fr); gap: 7px 9px; }
  .demographic-bars > div > strong { grid-column: 1 / -1; text-align: left; }
  .government-demographic-panel .section-heading { align-items: flex-start; flex-direction: column; }
  .government-indicator-detail .report-directory-facts { grid-template-columns: 1fr; }
  .government-evidence-proof > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .government-evidence-proof > div strong { max-width: none; text-align: left; }
  .government-indicator-detail .admin-modal__footer, .government-proposal-modal .admin-modal__footer { align-items: stretch; flex-direction: column; }
  .government-indicator-detail .admin-modal__footer .button, .government-proposal-modal .admin-modal__footer .button { width: 100%; justify-content: center; }
  .recovery-table > .recovery-row--head { display: none; }
  .recovery-objectives { grid-template-columns: 1fr; }
  .recovery-objectives > div { min-height: 96px; }
  .recovery-table > .recovery-row { min-width: 0; min-height: 0; margin-bottom: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; background: #fff; }
  .recovery-row:last-child { margin-bottom: 0; }
  .recovery-row > span:first-child { grid-column: 1 / -1; }
  .recovery-row > span:not(:first-child)::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--text-soft); font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: .6px; text-transform: uppercase; }
  .recovery-row > .health-pill { width: fit-content; }
  .recovery-tests > .section-heading { align-items: stretch; flex-direction: column; }
  .recovery-tests > .section-heading .button { width: 100%; justify-content: center; }
  .recovery-tests article { min-height: 0; padding: 13px 0; grid-template-columns: 28px minmax(0,1fr); align-items: start; }
  .recovery-tests article > em, .recovery-tests article > .health-pill { grid-column: 2; }
  .recovery-tests article > .health-pill { width: fit-content; }
  .recovery-test-banner { grid-template-columns: 25px minmax(0,1fr); }
  .recovery-test-banner > .health-pill { grid-column: 2; justify-self: start; }
  .recovery-history-proof > div { grid-template-columns: 1fr; gap: 3px; }
  .recovery-detail .report-directory-facts { grid-template-columns: 1fr; }
  .recovery-detail .admin-modal__footer, .recovery-plan-modal .admin-modal__footer, .recovery-validation-modal .admin-modal__footer, .recovery-runbook-modal .admin-modal__footer { align-items: stretch; flex-direction: column; }
  .recovery-detail .admin-modal__footer .button, .recovery-plan-modal .admin-modal__footer .button, .recovery-validation-modal .admin-modal__footer .button, .recovery-runbook-modal .admin-modal__footer .button { width: 100%; justify-content: center; }
}

@media (max-width: 680px) {
  .feature-flags-page .role-heading { align-items: stretch; }
  .feature-flags-page .heading-actions { width: 100%; display: grid; grid-template-columns: 106px minmax(0,1fr); }
  .feature-flags-page .heading-actions .select-control,
  .feature-flags-page .heading-actions .button { width: 100%; }
  .feature-flags-page .heading-actions .button { justify-content: center; }
  .release-guardrails { grid-template-columns: 1fr; gap: 9px; }
  .release-guardrails > div { min-height: 68px; padding: 12px 14px; grid-template-columns: 30px minmax(0,1fr); }
  .feature-flag-register { padding: 15px; }
  .feature-flag-register > .section-heading { align-items: flex-start; flex-direction: column; }
  .feature-flag-grid > button { min-height: 0; padding: 14px; }
  .feature-flag-heading { grid-template-columns: 35px minmax(0,1fr); align-items: start; }
  .feature-flag-heading > .health-pill { grid-column: 2; justify-self: start; }
  .feature-flag-description { min-height: 0; }
  .feature-rollout > span { align-items: flex-start; flex-direction: column; gap: 2px; }
  .feature-flag-grid footer { grid-template-columns: 1fr 1fr; }
  .feature-flag-grid footer svg { display: none; }
  .feature-rollout-control { grid-template-columns: minmax(0,1fr) auto; }
  .feature-rollout-control input { grid-column: 1 / -1; min-height: 30px; }
  .release-history article { grid-template-columns: 27px minmax(0,1fr); }
  .release-history article time { grid-column: 2; white-space: normal; }
  .feature-flag-actions,
  .release-confirm-modal .admin-modal__footer,
  .feature-flag-composer .admin-modal__footer,
  .environment-comparison .admin-modal__footer { align-items: stretch; flex-direction: column; }
  .feature-flag-actions .button,
  .release-confirm-modal .admin-modal__footer .button,
  .feature-flag-composer .admin-modal__footer .button,
  .environment-comparison .admin-modal__footer .button { width: 100%; justify-content: center; }
  .environment-comparison-grid article { min-height: 0; }
  .environment-comparison-grid article p { min-height: 0; }
  .release-comparison-history { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.enrolment-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.enrolment-metrics article { min-height: 96px; padding: 18px; border: 1px solid var(--border); border-radius: 16px; display: flex; align-items: center; gap: 14px; background: #fff; }
.enrolment-metrics article > svg { width: 40px; height: 40px; padding: 10px; border-radius: 12px; color: var(--blue); background: #eef1ff; }
.enrolment-metrics p { display: grid; gap: 3px; }
.enrolment-metrics span { color: var(--text-soft); font-size: 13px; font-weight: 700; }
.enrolment-metrics strong { color: var(--dark-blue); font-size: 27px; line-height: 1; }
.enrolment-register { padding: 0; overflow: hidden; }
.enrolment-register .catalogue-toolbar { padding: 16px 18px; }
.enrolment-table { width: 100%; }
.enrolment-row { width: 100%; min-height: 72px; padding: 13px 18px; border: 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: 1.35fr 1.25fr 1fr .55fr .65fr 22px; align-items: center; gap: 14px; color: var(--text); text-align: left; background: #fff; }
button.enrolment-row { cursor: pointer; }
button.enrolment-row:hover { background: #f8f9ff; }
.enrolment-row--head { min-height: 44px; color: var(--text-soft); font-size: 12px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; background: #f8f9fd; }
.enrolment-row strong { display: block; font-size: 14px; }
.enrolment-row small { display: block; margin-top: 3px; color: var(--text-soft); font-size: 12px; }
.enrolment-row .health-pill { width: fit-content; }
.enrolment-detail,.enrolment-create { max-width: 660px; }
.enrolment-history { margin: 15px 0; padding: 14px; border-radius: 12px; background: #f7f8fc; }
.enrolment-history > div { padding: 10px 0; display: grid; grid-template-columns: 22px 1fr; gap: 8px; border-top: 1px solid var(--border); }
.enrolment-history > div:first-of-type { border-top: 0; }
.enrolment-history small { display: block; margin-top: 2px; color: var(--text-soft); }
.enrolment-seat-note { margin-top: 14px; padding: 14px; border-radius: 12px; display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--dark-blue); background: #f2f6ff; }
.enrolment-seat-note small { display: block; margin-top: 3px; color: var(--text-soft); }
@media (max-width: 900px) { .enrolment-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .enrolment-row { grid-template-columns: 1.2fr 1fr .7fr 22px; } .enrolment-row--head span:nth-child(3),.enrolment-row--head span:nth-child(4),.enrolment-row > span:nth-child(3),.enrolment-row > span:nth-child(4) { display:none; } }
@media (max-width: 600px) { .enrolment-metrics { grid-template-columns: 1fr 1fr; gap: 9px; } .enrolment-metrics article { min-height: 78px; padding: 13px; } .enrolment-row { margin: 10px; width: calc(100% - 20px); border: 1px solid var(--border); border-radius: 12px; grid-template-columns: 1fr auto; gap: 10px; } .enrolment-row--head { display:none; } .enrolment-row > span:nth-child(2),.enrolment-row > span:nth-child(5) { grid-column: 1; } .enrolment-row > svg { grid-column: 2; grid-row: 1; } }

/* Connected learning progress */
.progress-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.progress-metrics article { min-height:96px; padding:18px; border:1px solid var(--border); border-radius:16px; display:flex; align-items:center; gap:14px; background:#fff; }
.progress-metrics article > svg { width:40px; height:40px; padding:10px; border-radius:12px; color:var(--blue); background:#eef1ff; }
.progress-metrics p { display:grid; gap:3px; }
.progress-metrics span { color:var(--text-soft); font-size:13px; font-weight:700; }
.progress-metrics strong { color:var(--dark-blue); font-size:27px; line-height:1; }
.progress-register { padding:0; overflow:hidden; }
.progress-register .catalogue-toolbar { padding:16px 18px; }
.progress-row { width:100%; min-height:74px; padding:13px 18px; border:0; border-top:1px solid var(--border); display:grid; grid-template-columns:1.15fr 1.25fr .8fr .85fr .65fr 20px; align-items:center; gap:14px; color:var(--text); text-align:left; background:#fff; }
button.progress-row { cursor:pointer; }
button.progress-row:hover { background:#f8f9ff; }
.progress-row--head { min-height:44px; color:var(--text-soft); font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; background:#f8f9fd; }
.progress-row strong,.progress-row small { display:block; }
.progress-row strong { font-size:14px; }
.progress-row small { margin-top:3px; color:var(--text-soft); font-size:12px; }
.progress-row > span:nth-child(4) { display:flex; align-items:center; gap:6px; color:var(--text-soft); font-size:13px; }
.progress-cell { display:grid; grid-template-columns:minmax(70px,1fr) auto; align-items:center; gap:9px; }
.progress-cell i { height:7px; border-radius:10px; overflow:hidden; background:#e7ebf5; }
.progress-cell b { display:block; height:100%; border-radius:inherit; background:var(--utiva-blue); }
.progress-cell strong { min-width:36px; color:var(--utiva-blue); }
.progress-detail { max-width:660px; }
.progress-score { min-width:74px; height:74px; border-radius:50%; display:grid; place-items:center; color:var(--utiva-blue); font-size:22px; background:#eef1ff; }
.progress-lesson-list { margin-top:18px; }
.progress-lesson-list > div { min-height:62px; padding:11px 0; border-top:1px solid var(--border); display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:10px; }
.progress-lesson-list p { margin:0; }
.progress-lesson-list strong,.progress-lesson-list small { display:block; }
.progress-lesson-list strong { font-size:14px; }
.progress-lesson-list small { margin-top:3px; color:var(--text-soft); font-size:12px; }
.progress-lesson-list > div > b { color:var(--utiva-blue); font-size:14px; }
.progress-lesson-icon { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; color:#805b08; background:#fff3d8; }
.progress-lesson-icon.is-complete { color:#147a4a; background:#e8f8ef; }
.progress-empty-activity { color:var(--text-soft); font-size:14px; }
@media (max-width:900px) { .progress-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .progress-row { grid-template-columns:1.2fr 1fr .75fr 20px; } .progress-row--head span:nth-child(4),.progress-row--head span:nth-child(5),.progress-row > span:nth-child(4),.progress-row > span:nth-child(5) { display:none; } }
@media (max-width:600px) { .progress-metrics { grid-template-columns:1fr 1fr; gap:9px; } .progress-metrics article { min-height:80px; padding:13px; } .progress-row { margin:10px; width:calc(100% - 20px); border:1px solid var(--border); border-radius:12px; grid-template-columns:1fr auto; gap:10px; } .progress-row--head { display:none; } .progress-row > span:nth-child(2),.progress-row > span:nth-child(3) { grid-column:1; } .progress-row > svg { grid-column:2; grid-row:1; } }

/* Connected assessment operations */
.assessment-ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.assessment-ops-metrics article{min-height:96px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:14px;background:#fff}.assessment-ops-metrics article>svg{width:40px;height:40px;padding:10px;border-radius:12px;color:var(--utiva-blue);background:#eef1ff}.assessment-ops-metrics p{display:grid;gap:3px}.assessment-ops-metrics span{color:var(--text-soft);font-size:13px;font-weight:700}.assessment-ops-metrics strong{color:var(--utiva-blue-dark);font-size:27px;line-height:1}.assessment-ops-register{padding:0;overflow:hidden}.assessment-ops-register .catalogue-toolbar{padding:16px 18px}.assessment-ops-row{width:100%;min-height:76px;padding:13px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:1.3fr 1.15fr .9fr .6fr .6fr 20px;align-items:center;gap:14px;color:var(--text);text-align:left;background:#fff}.assessment-ops-row--head{min-height:44px;color:var(--text-soft);font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:#f8f9fd}.assessment-ops-row:not(.assessment-ops-row--head){cursor:pointer}.assessment-ops-row:not(.assessment-ops-row--head):hover{background:#f8f9ff}.assessment-ops-row strong,.assessment-ops-row small{display:block}.assessment-ops-row strong{font-size:14px}.assessment-ops-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.assessment-ops-detail,.assessment-ops-create,.assessment-ops-publish{max-width:660px}.assessment-ops-facts{margin:18px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.assessment-ops-facts div{padding:13px;border-radius:11px;background:var(--surface-soft)}.assessment-ops-facts span,.assessment-ops-facts strong{display:block}.assessment-ops-facts span{font-size:12px}.assessment-ops-facts strong{margin-top:3px;font-size:15px}.assessment-ops-actions{display:flex;justify-content:flex-end;gap:8px}.trainer-assessment-queue{margin-bottom:18px;padding:20px}.trainer-assessment-toolbar{margin:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.trainer-assessment-toolbar>span{display:flex;align-items:center;gap:6px;color:var(--text-soft);font-size:12px;font-weight:700}.trainer-assessment-list>button{width:100%;min-height:68px;padding:11px 0;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1.15fr auto 20px;align-items:center;gap:12px;color:var(--text);text-align:left;background:transparent;cursor:pointer}.trainer-assessment-list>button:hover{background:#fafbff}.trainer-assessment-list strong,.trainer-assessment-list small{display:block}.trainer-assessment-list strong{font-size:13px}.trainer-assessment-list small{margin-top:3px;color:var(--text-soft);font-size:12px}.trainer-assessment-empty{min-height:70px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;color:var(--text-soft);font-size:13px}.trainer-assessment-grade{max-width:660px}.trainer-assessment-answer{margin:16px 0;padding:15px;border-radius:12px;background:var(--surface-soft)}.trainer-assessment-answer span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.trainer-assessment-answer p{margin:8px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.55}.quiz-question textarea{width:100%;min-height:150px;padding:14px;border:1px solid var(--border);border-radius:12px;font:500 14px/1.55 Poppins,Arial,sans-serif;resize:vertical}
@media(max-width:900px){.assessment-ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-ops-row{grid-template-columns:1.25fr 1fr .6fr 20px}.assessment-ops-row--head span:nth-child(3),.assessment-ops-row--head span:nth-child(4),.assessment-ops-row>span:nth-child(3),.assessment-ops-row>span:nth-child(4){display:none}}
@media(max-width:600px){.assessment-ops-metrics{grid-template-columns:1fr 1fr;gap:9px}.assessment-ops-metrics article{min-height:80px;padding:13px}.assessment-ops-row{margin:10px;width:calc(100% - 20px);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto}.assessment-ops-row--head{display:none}.assessment-ops-row>span:nth-child(2),.assessment-ops-row>span:nth-child(5){grid-column:1}.assessment-ops-facts{grid-template-columns:1fr 1fr}.assessment-ops-actions{align-items:stretch;flex-direction:column}.assessment-ops-actions .button{width:100%}.trainer-assessment-toolbar{align-items:stretch;flex-direction:column}.trainer-assessment-toolbar .mini-search{width:100%}.trainer-assessment-list>button{grid-template-columns:1fr auto}.trainer-assessment-list>button>span:nth-child(2),.trainer-assessment-list>button>.health-pill{grid-column:1}.trainer-assessment-list>button>svg{grid-column:2;grid-row:1}}

/* Connected trainer operations */
.trainer-invite-ready{padding:26px 8px 8px;display:grid;justify-items:center;gap:10px;text-align:center}.trainer-invite-ready>svg{width:46px;height:46px;padding:12px;border-radius:50%;color:#087a46;background:#e7f8ef}.trainer-invite-ready h3{margin:0;font-size:22px}.trainer-invite-ready p{margin:0;color:var(--text-soft);font-size:14px}.trainer-invite-ready code{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere;color:var(--utiva-blue);background:var(--surface-soft);font:600 12px/1.5 monospace}.trainer-production-assignment__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}.trainer-assignment-form{padding:22px;display:grid;gap:16px}.trainer-assignment-form>label{display:grid;gap:7px}.trainer-assignment-form>label>span{color:var(--text-soft);font-size:13px;font-weight:700}.trainer-assignment-form select{min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#fff;font:500 14px Poppins,Arial,sans-serif}.trainer-assignment-summary{padding:14px;border-radius:12px;display:flex;align-items:center;gap:12px;background:var(--surface-soft)}.trainer-assignment-summary>svg{color:var(--utiva-blue)}.trainer-assignment-summary p{display:grid;gap:2px}.trainer-assignment-summary strong{font-size:14px}.trainer-assignment-summary span{color:var(--text-soft);font-size:13px}.trainer-active-assignments{padding:20px}.trainer-active-assignments>button{width:100%;padding:12px 0;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;background:transparent;cursor:pointer}.trainer-active-assignments>button p{display:grid;gap:2px}.trainer-active-assignments>button strong{font-size:13px}.trainer-active-assignments>button small{color:var(--text-soft);font-size:12px}.trainer-active-assignments>button:hover{color:var(--utiva-blue)}
@media(max-width:900px){.trainer-production-assignment__layout{grid-template-columns:1fr}}
@media(max-width:600px){.trainer-invite-ready .button{width:100%}.trainer-assignment-form,.trainer-active-assignments{padding:16px}}

/* Connected credential operations */
.credential-production-metrics{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.credential-production-metrics article{min-height:94px;padding:17px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:13px;background:#fff}.credential-production-metrics article>svg{width:39px;height:39px;padding:10px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}.credential-production-metrics p{display:grid;gap:3px}.credential-production-metrics span{color:var(--text-soft);font-size:13px;font-weight:700}.credential-production-metrics strong{color:var(--utiva-blue-dark);font-size:26px;line-height:1}.credential-production-register{padding:0;overflow:hidden}.credential-production-register .catalogue-toolbar{padding:16px 18px}.credential-production-table{width:100%}.credential-production-row{width:100%;min-height:72px;padding:12px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:1.15fr 1fr 1.2fr .65fr .55fr 20px;align-items:center;gap:13px;color:var(--text);text-align:left;background:#fff}.credential-production-row--head{min-height:42px;color:var(--text-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;background:#f8f9fd}.credential-production-row:not(.credential-production-row--head){cursor:pointer}.credential-production-row:not(.credential-production-row--head):hover{background:#f8f9ff}.credential-production-row strong,.credential-production-row small{display:block}.credential-production-row strong{font-size:13px}.credential-production-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.credential-production-detail{max-width:680px}.credential-template-production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.credential-template-production-grid>article{min-height:255px;padding:20px;display:grid;grid-template-columns:auto 1fr;align-content:start;gap:12px}.credential-template-production-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff}.credential-template-production-grid article>div:nth-of-type(1){min-width:0}.credential-template-production-grid h2{margin:3px 0 5px;font-size:18px;line-height:1.25}.credential-template-production-grid p{margin:0;color:var(--text-soft);font-size:13px}.credential-template-production-grid small{display:block;margin-top:11px;overflow-wrap:anywhere;color:var(--text-soft);font-size:12px}.credential-template-production-grid>.panel>.health-pill{grid-column:1/-1;justify-self:start}.credential-template-production-actions{grid-column:1/-1;align-self:end;display:flex;gap:8px}.credential-field-map{display:grid;gap:8px}.credential-field-map>div{padding:11px;border-radius:10px;display:grid;grid-template-columns:1fr 1.3fr auto;gap:10px;background:var(--surface-soft)}.credential-field-map strong{text-transform:capitalize;font-size:13px}.credential-field-map span,.credential-field-map small{color:var(--text-soft);font-size:12px}.learner-credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.learner-credential-grid>article{padding:0;overflow:hidden;display:grid;grid-template-columns:minmax(230px,.8fr) 1.2fr}.learner-credential-art{min-height:280px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;color:#fff;background:linear-gradient(145deg,#050794,#03045f)}.learner-credential-art>svg{color:var(--utiva-yellow)}.learner-credential-art span,.learner-credential-art small{font-size:12px}.learner-credential-art strong{font-size:20px;line-height:1.25}.learner-credential-grid article>div:last-child{padding:24px}.learner-credential-grid h2{margin:14px 0 6px;font-size:21px}.learner-credential-grid article>div:last-child>p{margin:0 0 16px;color:var(--text-soft);font-size:13px}.learner-credential-grid .credential-actions{margin-top:18px;display:flex;gap:8px}.learner-credential-grid .credential-actions .button{flex:1}
@media(max-width:1000px){.credential-template-production-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-credential-grid{grid-template-columns:1fr}.credential-production-row{grid-template-columns:1.1fr 1fr 1fr .55fr 20px}.credential-production-row--head span:nth-child(4),.credential-production-row>span:nth-child(4){display:none}}
@media(max-width:650px){.credential-production-metrics{grid-template-columns:1fr 1fr;gap:9px}.credential-production-metrics article{min-height:80px;padding:13px}.credential-template-production-grid{grid-template-columns:1fr}.credential-production-row{margin:10px;width:calc(100% - 20px);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto}.credential-production-row--head{display:none}.credential-production-row>span:nth-child(2),.credential-production-row>span:nth-child(3),.credential-production-row>span:nth-child(5){grid-column:1}.learner-credential-grid>article{grid-template-columns:1fr}.learner-credential-art{min-height:220px}.credential-field-map>div{grid-template-columns:1fr}.credential-template-production-actions{flex-direction:column}.credential-template-production-actions .button{width:100%}}

/* Connected commerce and payment operations */
.commerce-production-tabs{margin:-4px 0 20px;padding:5px;border:1px solid var(--border);border-radius:14px;display:flex;gap:3px;overflow-x:auto;background:#fff}.commerce-production-tabs button{min-height:38px;padding:0 13px;border:0;border-radius:10px;white-space:nowrap;color:var(--text-soft);background:transparent;font:700 13px Poppins,Arial,sans-serif;cursor:pointer}.commerce-production-tabs button:hover,.commerce-production-tabs button.is-active{color:var(--utiva-blue);background:#eef1ff}.commerce-production-metrics{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.commerce-production-metrics article{min-height:104px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:13px;background:#fff}.commerce-production-metrics article>svg{width:42px;height:42px;padding:11px;border-radius:12px;color:var(--utiva-blue);background:#eef1ff}.commerce-production-metrics p{display:grid;gap:4px}.commerce-production-metrics span{color:var(--text-soft);font-size:13px;font-weight:700}.commerce-production-metrics strong{font-size:23px;line-height:1.1;color:var(--utiva-blue-dark)}.commerce-production-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.commerce-production-overview>.panel{padding:20px}.commerce-activity-row{min-height:69px;border-top:1px solid var(--border);display:grid;grid-template-columns:35px 1fr auto auto;align-items:center;gap:11px}.commerce-activity-row>span{width:33px;height:33px;border-radius:9px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff}.commerce-activity-row p{display:grid;gap:3px}.commerce-activity-row p strong{font-size:13px}.commerce-activity-row p small{color:var(--text-soft);font-size:12px}.commerce-activity-row>b{font-size:13px}.commerce-activity-row>i{font-style:normal}.commerce-readiness-row{min-height:51px;border-top:1px solid var(--border);display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:8px}.commerce-readiness-row>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#a96a00;background:#fff5dc}.commerce-readiness-row>span.is-ready{color:#087a46;background:#e7f8ef}.commerce-readiness-row strong{font-size:13px}.commerce-readiness-row small{color:var(--text-soft);font-size:12px}.commerce-production-overview>.panel>.button{width:100%;margin-top:14px}.commerce-production-register{padding:0;overflow:hidden}.commerce-production-register .catalogue-toolbar{padding:16px 18px}.commerce-production-row{width:100%;min-height:70px;padding:12px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:1.05fr 1fr 1.2fr .7fr .62fr;align-items:center;gap:14px;color:var(--text);text-align:left;background:#fff}.commerce-production-row--head{min-height:42px;color:var(--text-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;background:#f8f9fd}.commerce-production-register button.commerce-production-row{cursor:pointer}.commerce-production-register button.commerce-production-row:hover{background:#f8f9ff}.commerce-production-row strong,.commerce-production-row small{display:block}.commerce-production-row strong{font-size:13px}.commerce-production-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.commerce-production-row>span,.commerce-production-row>i{font-size:13px}.commerce-production-row>i{justify-self:start;font-style:normal}.commerce-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.commerce-plan-grid>article{padding:20px}.commerce-plan-total{display:block;margin:14px 0 18px;font-size:27px;color:var(--utiva-blue-dark)}.commerce-instalment{min-height:61px;border-top:1px solid var(--border);display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px}.commerce-instalment>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff;font-size:12px;font-weight:800}.commerce-instalment p{display:grid;gap:2px}.commerce-instalment p strong{font-size:13px}.commerce-instalment p small{color:var(--text-soft);font-size:12px}.commerce-instalment>i{font-style:normal}.commerce-gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.commerce-gateway-grid>article{min-height:270px;padding:20px;display:grid;grid-template-columns:48px 1fr;align-content:start;gap:13px}.commerce-gateway-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff}.commerce-gateway-grid h2{margin:3px 0;font-size:19px}.commerce-gateway-grid>.panel>.health-pill,.commerce-gateway-grid>.panel>p,.commerce-gateway-grid>.panel>.button{grid-column:1/-1}.commerce-gateway-grid>.panel>.health-pill{justify-self:start}.commerce-gateway-grid>.panel>p{margin:7px 0 12px;color:var(--text-soft);font-size:13px;line-height:1.5}.commerce-gateway-grid>.panel>.button{align-self:end;width:100%}.commerce-pricing-form{max-width:820px;padding:24px}.commerce-pricing-form .form-grid{margin-top:18px}.commerce-pricing-form .admin-modal__footer{padding-bottom:0}
@media(max-width:1050px){.commerce-production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-production-overview{grid-template-columns:1fr}.commerce-gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.commerce-production-row{margin:10px;width:calc(100% - 20px);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto}.commerce-production-row--head{display:none}.commerce-production-row>span:nth-child(2),.commerce-production-row>span:nth-child(3){grid-column:1}.commerce-production-row>strong,.commerce-production-row>i{grid-column:2}.commerce-plan-grid,.commerce-gateway-grid{grid-template-columns:1fr}}
@media(max-width:560px){.commerce-production-metrics{grid-template-columns:1fr}.commerce-activity-row{grid-template-columns:35px 1fr auto}.commerce-activity-row>i{grid-column:2}.commerce-production-tabs{margin-left:-3px;margin-right:-3px}}

@media(max-width:980px){.learner-discovery-tools{align-items:stretch;flex-direction:column}.learner-discovery-tools>label{min-width:0}.learner-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.learner-discovery-heading{align-items:flex-start;flex-direction:column}.learner-discovery-heading>.button{width:100%}.learner-discovery-grid{grid-template-columns:1fr}.learner-discovery-card h2,.learner-discovery-card p{min-height:0}.learner-discovery-modal .admin-modal__footer{display:grid}.learner-discovery-modal .admin-modal__footer .button{width:100%}}

/* Connected reports and analytics */
.analytics-production-filter{margin-bottom:18px;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px}.analytics-production-filter label{display:grid;gap:6px}.analytics-production-filter label>span{color:var(--text-soft);font-size:13px;font-weight:700}.analytics-production-filter select{min-height:43px;padding:0 12px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:#fff;font:600 13px Poppins,Arial,sans-serif}.analytics-production-metrics,.report-production-metrics{margin-bottom:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.analytics-production-metrics article,.report-production-metrics article{min-height:102px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:13px;background:#fff}.analytics-production-metrics article>svg,.report-production-metrics article>svg{width:42px;height:42px;padding:11px;border-radius:12px;color:var(--utiva-blue);background:#eef1ff}.analytics-production-metrics p,.report-production-metrics p{display:grid;gap:4px}.analytics-production-metrics span,.report-production-metrics span{color:var(--text-soft);font-size:13px;font-weight:700}.analytics-production-metrics strong,.report-production-metrics strong{color:var(--utiva-blue-dark);font-size:26px;line-height:1}.analytics-production-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px}.analytics-production-grid>.panel{padding:20px}.analytics-programme-table>div{min-height:57px;border-top:1px solid var(--border);display:grid;grid-template-columns:1.6fr .55fr 1fr .65fr;align-items:center;gap:12px;font-size:13px}.analytics-programme-table>div:first-child{min-height:38px;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase}.analytics-programme-table>div>span:nth-child(3){display:flex;align-items:center;gap:8px}.analytics-programme-table b{width:60px;height:6px;border-radius:999px;display:inline-block;background:var(--utiva-blue)}.analytics-signal{min-height:60px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.analytics-signal span{color:var(--text-soft);font-size:13px}.analytics-signal strong{font-size:17px}.report-production-register{padding:0;overflow:hidden}.report-production-register .catalogue-toolbar{padding:16px 18px}.report-production-row{min-height:70px;padding:12px 18px;border-top:1px solid var(--border);display:grid;grid-template-columns:1.4fr .8fr .75fr .7fr .4fr .75fr;align-items:center;gap:13px;color:var(--text);font-size:13px}.report-production-row--head{min-height:42px;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase;background:#f8f9fd}.report-production-row strong,.report-production-row small{display:block}.report-production-row strong{font-size:13px}.report-production-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.report-production-row>i{font-style:normal;font-weight:800;color:var(--utiva-blue)}.report-builder-production-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.report-builder-production-grid main{display:grid;gap:18px}.report-builder-production-step,.report-builder-output{padding:22px}.report-builder-production-step>.eyebrow{margin-bottom:15px}.report-production-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.report-production-fields label{min-height:47px;padding:10px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;cursor:pointer}.report-production-fields label.is-selected{border-color:#aeb8f0;color:var(--utiva-blue);background:#f3f5ff}.report-production-fields input,.report-builder-output input{position:absolute;opacity:0;pointer-events:none}.report-production-fields label>span{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#eef1ff}.report-builder-output{display:grid;gap:10px}.report-builder-output>h2{margin:0 0 8px;font-size:20px}.report-builder-output>label{min-height:61px;padding:11px;border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;gap:10px;cursor:pointer}.report-builder-output>label.is-selected{border-color:#aeb8f0;background:#f3f5ff}.report-builder-output>label>svg{color:var(--utiva-blue)}.report-builder-output>label p{display:grid;gap:2px}.report-builder-output>label strong{font-size:13px}.report-builder-output>label small{color:var(--text-soft);font-size:12px}.report-builder-output .button{margin-top:8px}.report-schedule-production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-schedule-production-grid>article{min-height:235px;padding:20px}.report-schedule-production-grid>article>div:first-child{display:flex;align-items:center;justify-content:space-between}.report-schedule-icon{width:43px;height:43px;border-radius:11px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff}.report-schedule-production-grid h2{margin:17px 0 5px;font-size:18px;line-height:1.3}.report-schedule-production-grid>article>p{margin:0 0 16px;color:var(--text-soft);font-size:13px}.report-schedule-production-grid>article>div:not(:first-child){min-height:44px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px}.report-schedule-production-grid>article>div:not(:first-child) span{color:var(--text-soft);font-size:12px}.report-schedule-production-grid>article>div:not(:first-child) strong{font-size:13px}
@media(max-width:1000px){.analytics-production-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-production-metrics,.report-production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-production-grid,.report-builder-production-grid{grid-template-columns:1fr}.report-builder-output{position:static}.report-schedule-production-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-production-row{grid-template-columns:1.3fr .8fr .8fr .45fr .75fr}.report-production-row>span:nth-child(4){display:none}}
@media(max-width:680px){.analytics-production-filter{grid-template-columns:1fr}.analytics-production-metrics,.report-production-metrics,.report-schedule-production-grid{grid-template-columns:1fr}.analytics-programme-table>div{grid-template-columns:1fr .55fr .8fr}.analytics-programme-table>div>span:nth-child(4){display:none}.report-production-row{margin:10px;width:calc(100% - 20px);border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto}.report-production-row--head{display:none}.report-production-row>span:nth-child(2),.report-production-row>span:nth-child(3){grid-column:1}.report-production-row>i,.report-production-row>.button{grid-column:2}.report-production-fields{grid-template-columns:1fr}}
/* Production communications */
.communication-production-page{display:grid;gap:22px}.communication-production-page .page-heading{margin-bottom:0}.communication-production-tabs{display:flex;gap:6px;padding:6px;width:max-content;max-width:100%;overflow:auto;border:1px solid var(--border,#dbe3f3);border-radius:14px;background:#fff}.communication-production-tabs button{min-height:42px;padding:0 18px;border:0;border-radius:10px;background:transparent;color:#596176;font:700 14px/1 Poppins,Arial,sans-serif;white-space:nowrap;cursor:pointer}.communication-production-tabs button.is-active{background:#050794;color:#fff}.communication-production-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.communication-production-health>div{display:flex;align-items:center;gap:12px;min-height:82px;padding:16px 18px;border:1px solid #dbe3f3;border-radius:16px;background:#fff}.communication-production-health svg{width:19px;color:#050794}.communication-production-health>div:first-child svg{color:#a26700}.communication-production-health>div.is-ready svg{color:#11854a}.communication-production-health p,.communication-production-overview aside button p{display:grid;gap:3px;margin:0}.communication-production-health strong,.communication-production-overview strong{font-size:14px;color:#202331}.communication-production-health small,.communication-production-overview small{font-size:12px;line-height:1.45;color:#596176}.communication-production-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.communication-production-metrics article{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #dbe3f3;border-radius:16px;background:#fff}.communication-production-metrics article>svg{width:20px;color:#050794}.communication-production-metrics p{display:grid;gap:2px;margin:0}.communication-production-metrics span{font-size:12px;font-weight:600;color:#596176}.communication-production-metrics strong{font-size:25px;line-height:1;color:#03045f}.communication-production-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px}.communication-production-overview .panel{margin:0}.communication-activity-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f8}.communication-activity-row:last-child{border-bottom:0}.communication-activity-row>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f2f6ff;color:#050794}.communication-activity-row p{display:grid;gap:3px;margin:0}.communication-production-overview aside>button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:14px 0;border:0;border-bottom:1px solid #edf1f8;background:transparent;text-align:left;cursor:pointer}.communication-production-overview aside>button svg{color:#050794}.communication-production-register{margin:0;padding:0;overflow:hidden}.communication-production-register .catalogue-toolbar{padding:18px;border-bottom:1px solid #dbe3f3}.communication-production-register .catalogue-toolbar>span{font-size:13px;font-weight:600;color:#596176}.communication-production-row{display:grid;grid-template-columns:minmax(220px,1.8fr) minmax(90px,.7fr) minmax(130px,1fr) minmax(90px,.65fr) minmax(90px,.7fr);align-items:center;gap:16px;min-height:70px;padding:13px 18px;border-bottom:1px solid #edf1f8;font-size:13px;color:#394055}.communication-production-row:last-child{border-bottom:0}.communication-production-row--head{min-height:42px;background:#f8faff;color:#596176;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.communication-production-row>span:first-child{display:grid;gap:3px}.communication-production-row strong{font-size:13px;color:#202331}.communication-production-row small{font-size:11px;color:#667087}.communication-production-row .health-pill{justify-self:start;font-style:normal}.communication-production-row--delivery{grid-template-columns:minmax(190px,1.4fr) minmax(130px,1fr) minmax(80px,.65fr) minmax(180px,1.3fr) minmax(80px,.65fr) 74px}.communication-production-row .text-button{justify-self:end;font-size:12px}.communication-production-page .admin-modal__note p{font-size:13px;line-height:1.5}

@media(max-width:900px){.communication-production-health{grid-template-columns:1fr}.communication-production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.communication-production-overview{grid-template-columns:1fr}.communication-production-register{overflow-x:auto}.communication-production-row{min-width:760px}.communication-production-row--delivery{min-width:920px}}
@media(max-width:560px){.communication-production-page{gap:16px}.communication-production-tabs{width:100%}.communication-production-tabs button{flex:1;padding:0 12px}.communication-production-metrics{grid-template-columns:1fr 1fr}.communication-production-metrics article{padding:15px}.communication-production-metrics strong{font-size:22px}}
.communication-production-row--head,.communication-production-row small{font-size:12px}

/* Production support */
.support-production-page,.support-portal-page{display:grid;gap:20px}.support-production-page .page-heading,.support-portal-page .page-heading{margin-bottom:0}.support-production-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.support-production-metrics article{display:flex;align-items:center;gap:12px;min-height:92px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff}.support-production-metrics article>svg{width:20px;color:var(--utiva-blue)}.support-production-metrics p{display:grid;gap:3px;margin:0}.support-production-metrics span{font-size:13px;font-weight:600;color:var(--text-soft)}.support-production-metrics strong{font-size:25px;line-height:1;color:var(--utiva-blue-dark)}.support-production-register{margin:0;padding:0;overflow:hidden}.support-production-register .catalogue-toolbar{padding:17px 18px}.support-production-row{width:100%;min-height:70px;padding:13px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) minmax(120px,.8fr) 100px 105px 20px;align-items:center;gap:14px;background:#fff;color:var(--text);font:500 13px Poppins,Arial,sans-serif;text-align:left}.support-production-row:not(.support-production-row--head){cursor:pointer}.support-production-row:not(.support-production-row--head):hover{background:#f8faff}.support-production-row--head{min-height:42px;background:#f8faff;color:var(--text-soft);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.support-production-row>span:first-child,.support-production-row>span:nth-child(2){display:grid;gap:3px}.support-production-row strong{font-size:14px}.support-production-row small{font-size:12px;color:var(--text-soft)}.support-production-row i{justify-self:start;font-style:normal}.support-production-detail,.support-requester-detail{width:min(760px,calc(100vw - 30px));max-height:calc(100vh - 36px);overflow:auto}.support-production-controls{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin:18px 0;padding:14px;border-radius:13px;background:#f8faff}.support-production-controls .button{min-height:43px}.support-production-thread{display:grid;gap:10px;max-height:300px;overflow:auto;padding:4px}.support-production-thread article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff}.support-production-thread article.is-internal{border-color:#f5d48b;background:#fffaf0}.support-production-thread article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eef1ff;color:var(--utiva-blue)}.support-production-thread article svg{width:15px}.support-production-thread article p{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin:0}.support-production-thread article strong{font-size:13px}.support-production-thread article small{font-size:12px;color:var(--text-soft)}.support-production-thread article em{grid-column:1/-1;font-size:13px;line-height:1.55;color:var(--text);font-style:normal}.support-production-reply{display:grid;gap:10px;margin-top:14px}.support-production-reply textarea{min-height:92px}.support-production-reply>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.support-production-reply>div>label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-soft)}.support-portal-safety{display:flex;align-items:center;gap:12px;padding:14px 17px;border:1px solid #cbd7f0;border-radius:14px;background:#f4f7ff}.support-portal-safety svg{color:var(--utiva-blue)}.support-portal-safety p{display:grid;gap:2px;margin:0}.support-portal-safety strong{font-size:14px}.support-portal-safety small{font-size:13px;color:var(--text-soft)}.support-portal-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.support-portal-guides article{display:flex;align-items:center;gap:11px;padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff}.support-portal-guides svg{color:var(--utiva-blue)}.support-portal-guides p{display:grid;gap:3px;margin:0}.support-portal-guides strong{font-size:14px}.support-portal-guides small{font-size:12px;color:var(--text-soft)}.support-portal-cases{margin:0}.support-portal-cases>.section-heading>span{font-size:13px;font-weight:700;color:var(--text-soft)}.support-portal-cases>button{width:100%;min-height:66px;padding:12px 0;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:13px;background:transparent;text-align:left;cursor:pointer}.support-portal-cases>button>span{display:grid;gap:3px}.support-portal-cases>button strong{font-size:14px}.support-portal-cases>button small{font-size:12px;color:var(--text-soft)}.support-portal-cases>button i{font-style:normal}.support-secret-warning{display:flex;align-items:center;gap:9px;margin-top:12px;padding:12px;border-radius:10px;background:#fff0f1;color:#a82431;font-size:13px;font-weight:600}.support-secret-warning svg{width:17px}
@media(max-width:900px){.support-production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.support-production-register{overflow-x:auto}.support-production-row{min-width:840px}.support-production-controls{grid-template-columns:1fr 1fr}.support-portal-guides{grid-template-columns:1fr}}
@media(max-width:560px){.support-production-metrics{grid-template-columns:1fr 1fr}.support-production-metrics article{min-height:82px;padding:14px}.support-production-metrics strong{font-size:22px}.support-production-controls{grid-template-columns:1fr}.support-production-reply>div{align-items:stretch;flex-direction:column}.support-production-reply .button{width:100%}}

/* Connected cohort community */
.community-production-page{display:grid;gap:18px}.community-production-page .page-heading{margin:0}.community-production-scope{min-height:72px;padding:15px 17px;border:1px solid #d7e0f2;border-radius:15px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;background:#f7f9ff}.community-production-scope>svg{width:21px;color:var(--utiva-blue)}.community-production-scope p{display:grid;gap:3px;margin:0}.community-production-scope strong{font-size:15px}.community-production-scope span{font-size:13px;color:var(--text-soft)}.community-production-scope i{padding:7px 10px;border-radius:999px;display:flex;align-items:center;gap:6px;color:var(--utiva-blue);background:#fff;font-size:12px;font-weight:700;font-style:normal}.community-production-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.community-production-page .feed-card{padding:20px}.community-production-page .feed-card h2{margin:15px 0 7px;font-size:18px;line-height:1.3}.community-production-page .feed-card>p{margin:0;color:var(--text-soft);font-size:14px;line-height:1.6}.community-production-page .feed-card__author strong{font-size:14px}.community-production-page .feed-card__author span{font-size:12px}.community-production-page .feed-card__author>i{margin-left:auto;font-style:normal}.community-production-page .feed-card__actions{margin-top:17px;padding-top:13px;border-top:1px solid var(--border)}.community-production-page .feed-card__actions span{font-size:13px}.community-production-page .feed-card__actions svg{width:15px}.community-production-page .feed-card__actions button{margin-left:auto;font-size:13px}.community-production-guide{position:sticky;top:18px;padding:20px}.community-production-guide>svg{color:var(--utiva-blue)}.community-production-guide h2{margin:12px 0 6px;font-size:17px}.community-production-guide p{margin:0;color:var(--text-soft);font-size:13px;line-height:1.6}.community-production-loading{min-height:420px;display:grid;place-content:center;justify-items:center;gap:13px}.community-production-loading span{width:38px;height:38px;border:4px solid #dce2ff;border-top-color:var(--utiva-blue);border-radius:50%;animation:spin .8s linear infinite}.community-production-loading h1{font-size:19px}.community-production-page .community-discussion__post>p,.community-production-page .community-replies article p>span{font-size:14px}.community-production-page .community-replies h3{font-size:16px}.community-production-page .community-reply-form textarea,.community-production-page .community-composer textarea{font-size:14px}
@media(max-width:820px){.community-production-layout{grid-template-columns:1fr}.community-production-guide{position:static}.community-production-scope{grid-template-columns:32px 1fr}.community-production-scope i{grid-column:2;justify-self:start}.community-production-page .heading-actions,.community-production-page .page-heading{align-items:stretch}.community-production-page .page-heading{flex-direction:column}.community-production-page .page-heading .button{width:100%;justify-content:center}}

/* Connected trainer community moderation */
.trainer-community-ops{display:grid;gap:18px}.trainer-community-ops .page-heading{margin:0}.trainer-community-ops .secure-chip svg{width:15px}.trainer-community-scope{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,145px);gap:12px}.trainer-community-scope>label,.trainer-community-scope>div{min-height:82px;padding:15px 17px;border:1px solid var(--border);border-radius:15px;background:#fff}.trainer-community-scope label{display:grid;gap:6px}.trainer-community-scope label span,.trainer-community-scope>div span{font-size:12px;font-weight:700;color:var(--text-soft)}.trainer-community-scope select{width:100%;border:0;color:var(--utiva-blue-dark);background:transparent;font:700 14px Poppins,Arial,sans-serif}.trainer-community-scope>div{display:grid;align-content:center;gap:4px}.trainer-community-scope>div strong{font-size:24px;color:var(--utiva-blue-dark)}.trainer-community-scope>div.is-warning strong{color:#a86400}.trainer-community-filters{padding:5px;border:1px solid var(--border);border-radius:12px;display:flex;gap:5px;background:#fff}.trainer-community-filters button{min-height:40px;padding:0 14px;border:0;border-radius:9px;color:var(--text-soft);background:transparent;font:700 13px Poppins,Arial,sans-serif}.trainer-community-filters button.is-active{color:#fff;background:var(--utiva-blue)}.trainer-community-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.trainer-community-queue{padding:0;overflow:hidden}.trainer-community-queue>article{padding:18px 20px;border-top:1px solid var(--border)}.trainer-community-queue>article:first-child{border-top:0}.trainer-community-queue header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center}.trainer-community-queue header p{display:grid;gap:3px;margin:0}.trainer-community-queue header strong{font-size:15px}.trainer-community-queue header small{font-size:12px;color:var(--text-soft)}.trainer-community-queue header>div{display:flex;gap:6px}.trainer-community-queue header i{padding:6px 8px;border-radius:999px;display:flex;align-items:center;gap:4px;color:var(--utiva-blue);background:var(--surface-soft);font-size:11px;font-weight:700;font-style:normal}.trainer-community-queue header i.is-warning{color:#8b5700;background:#fff2d5}.trainer-community-queue header svg{width:12px}.trainer-community-queue>article>p{margin:13px 0;color:var(--text-soft);font-size:14px;line-height:1.55}.trainer-community-queue footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.trainer-community-queue footer>span{display:flex;align-items:center;gap:5px;color:var(--text-soft);font-size:12px}.trainer-community-queue footer>span svg{width:15px}.trainer-community-queue footer>div{display:flex;gap:6px}.trainer-community-queue footer button{min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:5px;color:var(--text);background:#fff;font:700 12px Poppins,Arial,sans-serif}.trainer-community-queue footer button svg{width:14px}.trainer-community-queue footer button:disabled{opacity:.45}.trainer-community-audit{padding:18px}.trainer-community-audit>div:first-child{display:flex;gap:9px;align-items:center}.trainer-community-audit>div:first-child>svg{color:var(--utiva-blue)}.trainer-community-audit>div:first-child p{display:grid;gap:2px;margin:0}.trainer-community-audit>div:first-child strong{font-size:15px}.trainer-community-audit>div:first-child span{font-size:12px;color:var(--text-soft)}.trainer-community-audit article{padding:13px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:9px}.trainer-community-audit article:first-of-type{margin-top:14px}.trainer-community-audit article i{height:25px;padding:0 8px;border-radius:999px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--surface-soft);font-size:10px;font-weight:800;font-style:normal;text-transform:uppercase}.trainer-community-audit article p{display:grid;gap:3px;margin:0}.trainer-community-audit article strong{font-size:12px}.trainer-community-audit article span,.trainer-community-audit article small{font-size:11px;line-height:1.45;color:var(--text-soft)}.trainer-community-action{width:min(580px,calc(100vw - 28px))}.trainer-community-action textarea{min-height:110px;font-size:14px}
@media(max-width:980px){.trainer-community-scope{grid-template-columns:1fr repeat(3,120px)}.trainer-community-layout{grid-template-columns:1fr}.trainer-community-audit{order:-1}}
@media(max-width:700px){.trainer-community-scope{grid-template-columns:1fr 1fr}.trainer-community-scope>label{grid-column:1/-1}.trainer-community-filters{overflow-x:auto}.trainer-community-filters button{white-space:nowrap}.trainer-community-queue header{grid-template-columns:38px minmax(0,1fr)}.trainer-community-queue header>div{grid-column:2;flex-wrap:wrap}.trainer-community-queue footer{align-items:flex-start;flex-direction:column}.trainer-community-queue footer>div{width:100%;flex-wrap:wrap}.trainer-community-queue footer button{flex:1;justify-content:center}}

/* Connected learner Career Hub */
.career-production-page{display:grid;gap:18px}.career-production-page .page-heading{margin:0}.career-production-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.career-production-summary article{min-height:96px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:13px;background:#fff}.career-production-summary article>svg{width:22px;color:var(--utiva-blue)}.career-production-summary p{display:grid;gap:4px;margin:0}.career-production-summary span{font-size:13px;color:var(--text-soft)}.career-production-summary strong{font-size:24px;line-height:1;color:var(--utiva-blue-dark);text-transform:capitalize}.career-production-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.career-production-portfolio{padding:20px}.career-production-portfolio>.section-heading{margin-bottom:13px}.career-production-portfolio>div:last-child{display:grid;gap:10px}.career-production-portfolio>div:last-child>button{width:100%;min-height:112px;padding:15px;border:1px solid var(--border);border-radius:13px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;color:var(--text);background:#fff;text-align:left}.career-production-portfolio>div:last-child>button.is-selected{border-color:#9faaf1;background:#f7f8ff}.career-production-portfolio>div:last-child>button.is-locked{opacity:.65;background:#f6f7f9}.career-production-portfolio>div:last-child>button>span{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--surface-soft)}.career-production-portfolio>div:last-child>button>span svg{width:19px}.career-production-portfolio button p{display:grid;gap:4px;margin:0}.career-production-portfolio button small{font-size:12px;font-weight:700;color:var(--utiva-blue)}.career-production-portfolio button strong{font-size:15px}.career-production-portfolio button em{font-size:13px;line-height:1.5;color:var(--text-soft);font-style:normal}.career-production-portfolio button i{font-size:12px;color:var(--success);font-style:normal;font-weight:700}.career-production-portfolio button b{min-width:90px;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--utiva-blue);font-size:12px}.career-production-portfolio button b svg{width:14px}.career-production-readiness{padding:20px}.career-production-readiness>div{display:flex;align-items:center;gap:10px}.career-production-readiness>div>svg{color:var(--utiva-blue)}.career-production-readiness>div p{display:grid;gap:2px;margin:0}.career-production-readiness>div strong{font-size:18px}.career-production-readiness>div span{font-size:12px;color:var(--text-soft)}.career-production-readiness ol{margin:18px 0;padding:0;display:grid;gap:13px;list-style:none}.career-production-readiness li{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-soft)}.career-production-readiness li>span{width:23px;height:23px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center}.career-production-readiness li.is-complete{color:var(--text)}.career-production-readiness li.is-complete>span{border-color:var(--success);color:#fff;background:var(--success)}.career-production-readiness li svg{width:13px}.career-production-readiness>p{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--border);display:flex;gap:7px;color:var(--text-soft);font-size:12px;line-height:1.5}.career-production-readiness>p svg{flex:0 0 auto;width:15px;color:var(--utiva-blue)}.career-production-support{padding:20px}.career-production-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.career-production-options>button{min-height:92px;padding:15px;border:1px solid var(--border);border-radius:13px;display:grid;grid-template-columns:39px minmax(0,1fr) 18px;gap:11px;align-items:center;color:var(--text);background:#fff;text-align:left}.career-production-options>button:hover{border-color:#aeb7ee;background:#f9faff}.career-production-options>button>span{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--surface-soft)}.career-production-options p{display:grid;gap:4px;margin:0}.career-production-options strong{font-size:14px}.career-production-options small{font-size:13px;line-height:1.45;color:var(--text-soft)}.career-production-options>button>svg{width:17px;color:var(--text-soft)}.career-production-request{padding:15px;border:1px solid #bfe2d3;border-radius:13px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;background:#f4fbf8}.career-production-request>span{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#fff;background:var(--success)}.career-production-request p{display:grid;gap:4px;margin:0}.career-production-request strong{font-size:14px}.career-production-request em{font-size:13px;line-height:1.45;color:var(--text-soft);font-style:normal}.career-production-request small{font-size:12px;color:var(--text-soft)}.career-production-modal{width:min(620px,calc(100vw - 28px))}.career-production-modal textarea{min-height:115px;font-size:14px}
@media(max-width:900px){.career-production-layout{grid-template-columns:1fr}.career-production-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.career-production-summary,.career-production-options{grid-template-columns:1fr}.career-production-portfolio>.section-heading{align-items:stretch;flex-direction:column}.career-production-portfolio>.section-heading .button{width:100%;justify-content:center}.career-production-portfolio>div:last-child>button{grid-template-columns:38px minmax(0,1fr)}.career-production-portfolio button b{grid-column:2;justify-content:flex-start}.career-production-request{grid-template-columns:38px minmax(0,1fr)}.career-production-request .button{grid-column:2;width:100%;justify-content:center}}

/* Connected learner activity */
.learner-activity-production{display:grid;gap:18px}.learner-activity-production .course-builder-back{width:max-content}.learner-activity-production .course-builder-back svg{width:15px}.learner-activity-production .page-heading{margin:0}.learner-activity-period{padding:5px;border:1px solid var(--border);border-radius:11px;display:flex;gap:4px;background:#fff}.learner-activity-period button{min-height:38px;padding:0 13px;border:0;border-radius:8px;color:var(--text-soft);background:transparent;font:700 13px Poppins,Arial,sans-serif}.learner-activity-period button.is-active{color:#fff;background:var(--utiva-blue)}.learner-activity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.learner-activity-summary article{min-height:96px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:13px;background:#fff}.learner-activity-summary article>svg{width:21px;color:var(--utiva-blue)}.learner-activity-summary p{display:grid;gap:4px;margin:0}.learner-activity-summary span{font-size:13px;color:var(--text-soft)}.learner-activity-summary strong{font-size:22px;line-height:1.1;color:var(--utiva-blue-dark)}.learner-activity-timeline{padding:0;overflow:hidden}.learner-activity-timeline>.section-heading{padding:18px 20px}.learner-activity-timeline>.section-heading>span{font-size:13px;font-weight:700;color:var(--text-soft)}.learner-activity-timeline>article{min-height:82px;padding:14px 20px;border-top:1px solid var(--border);display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center}.learner-activity-timeline>article>span{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:var(--utiva-blue);background:var(--surface-soft)}.learner-activity-timeline>article>span.is-assessment{color:#7d4d00;background:#fff3d8}.learner-activity-timeline>article>span.is-assignment{color:#08734d;background:#eaf8f2}.learner-activity-timeline>article>span.is-live{color:#a42946;background:#fff0f4}.learner-activity-timeline>article>span svg{width:18px}.learner-activity-timeline>article p,.learner-activity-timeline>article>div{display:grid;gap:4px;margin:0}.learner-activity-timeline>article p strong{font-size:14px}.learner-activity-timeline>article small{font-size:12px;color:var(--text-soft)}.learner-activity-timeline>article>div{text-align:right}.learner-activity-timeline>article>div strong{font-size:13px}.learner-activity-timeline>.empty-state{border-top:1px solid var(--border)}
@media(max-width:850px){.learner-activity-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.learner-activity-production .page-heading{align-items:stretch;flex-direction:column}.learner-activity-period{width:100%}.learner-activity-period button{flex:1}.learner-activity-summary{grid-template-columns:1fr 1fr}.learner-activity-summary article{min-height:86px;padding:14px}.learner-activity-timeline>.section-heading{align-items:flex-start;flex-direction:column}.learner-activity-timeline>article{grid-template-columns:38px minmax(0,1fr)}.learner-activity-timeline>article>div{grid-column:2;text-align:left}}

/* Connected learner profile and preferences */
.learner-account-page{display:grid;gap:18px}.learner-account-page .page-heading{margin:0}.learner-account-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.learner-account-layout main,.learner-account-layout aside{display:grid;gap:16px}.learner-account-card{padding:20px}.learner-account-card__heading{margin-bottom:18px;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:12px;align-items:center}.learner-account-card__heading>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;color:#fff;background:var(--utiva-blue);font-size:14px;font-weight:800}.learner-account-card__heading h2{margin:2px 0 0;font-size:18px}.learner-account-card__heading>svg{color:var(--success)}.learner-account-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.learner-account-form label,.learner-account-selects label{display:grid;gap:6px}.learner-account-form label>span,.learner-account-selects label>span{font-size:13px;font-weight:700;color:var(--text)}.learner-account-form input,.learner-account-selects select{width:100%;min-height:44px;padding:0 11px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#fbfcff;font:500 14px Poppins,Arial,sans-serif}.learner-account-form input[readonly]{color:var(--text-soft);background:#f3f5f9}.learner-account-form small{font-size:12px;color:var(--text-soft)}.learner-account-form .is-wide{grid-column:1/-1}.learner-account-card .section-heading>svg{color:var(--utiva-blue)}.learner-account-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.learner-account-toggles{margin-top:16px;padding-top:4px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.learner-account-toggles label{min-height:56px;padding:10px 11px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.learner-account-toggles input{width:17px;height:17px;accent-color:var(--utiva-blue)}.learner-account-toggles--stack{margin-top:8px;border-top:0;grid-template-columns:1fr}.learner-account-toggles--stack label{display:grid;grid-template-columns:22px minmax(0,1fr) auto}.learner-account-toggles--stack label>svg{width:17px;color:var(--utiva-blue)}.learner-account-security{padding:16px;display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;align-items:center;color:var(--utiva-blue);background:#f7f9ff}.learner-account-security p{display:grid;gap:3px;margin:0}.learner-account-security strong{font-size:13px;color:var(--text)}.learner-account-security span{font-size:12px;color:var(--text-soft)}.learner-account-layout aside>.button svg{width:15px}
@media(max-width:900px){.learner-account-layout{grid-template-columns:1fr}.learner-account-layout aside{grid-template-columns:1fr 1fr}.learner-account-layout aside>.button{grid-column:1/-1}}
@media(max-width:650px){.learner-account-page .page-heading{align-items:stretch;flex-direction:column}.learner-account-page .heading-actions{width:100%;align-items:stretch;flex-direction:column}.learner-account-page .heading-actions .button{width:100%;justify-content:center}.learner-account-form,.learner-account-selects,.learner-account-toggles,.learner-account-layout aside{grid-template-columns:1fr}.learner-account-form .is-wide{grid-column:auto}.learner-account-layout aside>.button{grid-column:auto}}

/* Production learning products */
.product-production-page,.curriculum-production-page{display:grid;gap:20px}.product-production-page .page-heading{margin-bottom:0}.product-production-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-production-metrics article{min-height:92px;padding:18px;border:1px solid var(--border);border-radius:16px;display:flex;align-items:center;gap:12px;background:#fff}.product-production-metrics article>svg{width:21px;color:var(--utiva-blue)}.product-production-metrics p{display:grid;gap:3px;margin:0}.product-production-metrics span{font-size:13px;font-weight:600;color:var(--text-soft)}.product-production-metrics strong{font-size:25px;line-height:1;color:var(--utiva-blue-dark)}.product-production-register{margin:0;padding:0;overflow:hidden}.product-production-register .catalogue-toolbar{padding:17px 18px}.product-production-row{width:100%;min-height:72px;padding:13px 18px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(250px,1.7fr) minmax(150px,1fr) minmax(135px,.85fr) 65px 95px 20px;align-items:center;gap:14px;background:#fff;color:var(--text);font:500 13px Poppins,Arial,sans-serif;text-align:left}.product-production-row:not(.product-production-row--head){cursor:pointer}.product-production-row:not(.product-production-row--head):hover{background:#f8faff}.product-production-row--head{min-height:42px;color:var(--text-soft);background:#f8faff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.product-production-row>span:first-child,.product-production-row>span:nth-child(2){display:grid;gap:3px}.product-production-row strong{font-size:14px}.product-production-row small{font-size:12px;line-height:1.45;color:var(--text-soft)}.product-production-row i{justify-self:start;font-style:normal}.curriculum-production-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.curriculum-production-heading h1{margin:8px 0 4px;font-size:30px;line-height:1.14}.curriculum-production-heading>div:first-child>span{font-size:13px;color:var(--text-soft)}.curriculum-production-heading>div:last-child{display:flex;align-items:center;gap:10px}.curriculum-production-grid{display:grid;grid-template-columns:270px minmax(0,1fr) 290px;gap:16px;align-items:start}.curriculum-production-grid>.panel{margin:0}.curriculum-production-outline{padding:16px}.curriculum-production-outline>.section-heading{margin-bottom:10px}.curriculum-production-outline>button:not(.button){width:100%;min-height:62px;padding:9px;border:0;border-radius:11px;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.curriculum-production-outline>button:not(.button):hover,.curriculum-production-outline>button.is-active{background:#f1f4ff}.curriculum-production-outline>button>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e9edff;color:var(--utiva-blue);font-size:12px;font-weight:800}.curriculum-production-outline>button p{display:grid;gap:3px;margin:0}.curriculum-production-outline>button strong{font-size:13px}.curriculum-production-outline>button small{font-size:12px;color:var(--text-soft)}.curriculum-production-outline>.button{margin-top:10px}.curriculum-production-lessons{min-height:490px;padding:20px}.curriculum-production-lessons .section-heading h2{font-size:21px}.curriculum-production-lessons .section-heading p{max-width:620px;font-size:13px}.curriculum-production-rules{display:flex;gap:9px;margin:14px 0}.curriculum-production-rules span{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;background:#f3f5ff;color:var(--utiva-blue);font-size:12px;font-weight:700}.curriculum-production-rules svg{width:14px}.curriculum-production-lesson-list{display:grid}.curriculum-production-lesson-list>button{min-height:70px;padding:12px 0;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:11px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.curriculum-production-lesson-list>button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef1ff;color:var(--utiva-blue)}.curriculum-production-lesson-list>button svg{width:17px}.curriculum-production-lesson-list>button p{display:grid;gap:3px;margin:0}.curriculum-production-lesson-list>button strong{font-size:14px}.curriculum-production-lesson-list>button small{font-size:12px;color:var(--text-soft)}.curriculum-production-lesson-list>button i{font-style:normal}.curriculum-production-release{padding:18px}.curriculum-production-release>h2{margin:4px 0 12px;font-size:19px}.curriculum-production-release>article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:13px 0;border-top:1px solid var(--border)}.curriculum-production-release>article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eef1ff;color:var(--utiva-blue)}.curriculum-production-release>article svg{width:15px}.curriculum-production-release>article p{display:grid;gap:2px;margin:0}.curriculum-production-release>article strong{font-size:13px}.curriculum-production-release>article small{font-size:12px;color:var(--text-soft)}.curriculum-production-release>article em{margin-top:4px;font-size:12px;line-height:1.45;font-style:normal}.curriculum-production-readiness{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:13px;border-radius:11px;background:#f4f7ff}.curriculum-production-readiness p{display:grid;gap:2px;margin:0}.curriculum-production-readiness strong{font-size:13px}.curriculum-production-readiness small{font-size:12px;color:var(--text-soft)}.curriculum-production-readiness svg{color:var(--utiva-blue)}.lesson-production-modal{width:min(680px,calc(100vw - 30px))}.product-production-readiness{display:flex;align-items:center;gap:10px;margin:14px 0;padding:13px;border-radius:11px;background:#fff3dd;color:#8a5b00}.product-production-readiness.is-ready{background:#eaf8f0;color:#11643a}.product-production-readiness p{display:grid;gap:2px;margin:0}.product-production-readiness strong{font-size:14px}.product-production-readiness small{font-size:12px}
@media(max-width:1100px){.curriculum-production-grid{grid-template-columns:240px minmax(0,1fr)}.curriculum-production-release{grid-column:1/-1}.product-production-register{overflow-x:auto}.product-production-row{min-width:850px}}
@media(max-width:800px){.product-production-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculum-production-heading{align-items:flex-start;flex-direction:column}.curriculum-production-grid{grid-template-columns:1fr}.curriculum-production-outline{order:1}.curriculum-production-lessons{order:2}.curriculum-production-release{order:3;grid-column:auto}}
@media(max-width:560px){.product-production-metrics{grid-template-columns:1fr 1fr}.product-production-metrics article{min-height:80px;padding:14px}.product-production-metrics strong{font-size:22px}.curriculum-production-heading>div:last-child{width:100%;justify-content:space-between}.curriculum-production-heading h1{font-size:25px}}

/* Production live delivery */
.live-delivery-page{font-size:14px}.live-delivery-page h1{font-size:30px;line-height:1.15}.live-delivery-page h2{font-size:20px;line-height:1.25}.live-delivery-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.live-delivery-metrics article{display:flex;align-items:center;gap:13px;min-height:92px;padding:17px;background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-sm)}.live-delivery-metrics article>svg{width:20px;height:20px;padding:10px;box-sizing:content-box;color:var(--utiva-blue);background:var(--utiva-blue-soft);border-radius:11px}.live-delivery-metrics p{display:flex;flex-direction:column;margin:0}.live-delivery-metrics span{font-size:12px;font-weight:700;color:var(--text-soft)}.live-delivery-metrics strong{font-size:25px;line-height:1.15}.delivery-tabs{display:flex;gap:6px;margin-bottom:14px;padding:5px;width:max-content;background:#e9eef9;border-radius:12px}.delivery-tabs button{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--text-soft);font:700 13px Poppins,Arial,sans-serif}.delivery-tabs button.is-active{background:#fff;color:var(--utiva-blue);box-shadow:0 4px 12px rgba(5,7,148,.08)}.delivery-tabs button span{display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:var(--utiva-yellow);color:var(--utiva-blue);font-size:11px}.delivery-register{overflow:hidden;padding:0}.delivery-register .catalogue-toolbar{padding:16px}.delivery-register .catalogue-toolbar select{min-height:42px;padding:0 36px 0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font:600 13px Poppins,Arial,sans-serif;color:var(--text)}.delivery-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(190px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) 95px 18px;align-items:center;gap:15px;width:100%;padding:15px 17px;border:0;border-top:1px solid #edf1f8;background:#fff;text-align:left;color:var(--text);font:500 13px Poppins,Arial,sans-serif}.delivery-row:not(.delivery-row--head):hover{background:#f8faff}.delivery-row span{min-width:0}.delivery-row strong,.delivery-row small{display:block}.delivery-row strong{font-size:13px}.delivery-row small{margin-top:3px;color:var(--text-soft);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-row i{justify-self:start;font-style:normal}.delivery-row--head{padding-block:11px;background:#f6f8fd;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.delivery-detail{max-width:660px}.delivery-detail__hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.delivery-detail__hero>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--utiva-yellow);color:var(--utiva-blue)}.delivery-detail__hero h2,.delivery-detail__hero p{margin:0}.delivery-detail__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.delivery-detail__facts div{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:11px;background:var(--surface-soft)}.delivery-detail__facts span{font-size:11px;font-weight:700;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em}.delivery-detail__facts strong{font-size:13px}.delivery-connection-note,.delivery-provider-lock{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #dfe5f5;border-radius:11px;background:#f8faff}.delivery-connection-note p,.delivery-provider-lock p{display:flex;flex-direction:column;margin:0}.delivery-connection-note svg,.delivery-provider-lock svg{color:var(--utiva-blue)}.delivery-connection-note strong,.delivery-provider-lock strong{font-size:13px}.delivery-connection-note small,.delivery-provider-lock small{font-size:12px;color:var(--text-soft)}.delivery-schedule{max-width:700px}.delivery-provider-lock{margin-top:15px}.attendance-review{padding:0;overflow:hidden}.attendance-review__toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px}.attendance-review__toolbar h2,.attendance-review__toolbar p{margin:0}.attendance-review__toolbar select{min-width:290px;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font:600 13px Poppins,Arial,sans-serif}.attendance-review__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.attendance-review__summary>span{display:flex;align-items:center;gap:12px;padding:15px;background:#f8faff}.attendance-review__summary svg{color:var(--utiva-blue)}.attendance-review__summary p{display:flex;flex-direction:column;margin:0}.attendance-review__summary strong{font-size:19px}.attendance-review__summary small{font-size:12px;color:var(--text-soft)}.attendance-review__table>div,.attendance-review__table article{display:grid;grid-template-columns:minmax(220px,1.3fr) 110px 100px minmax(210px,1fr);align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid #edf1f8}.attendance-review__table>div:first-child{background:#f6f8fd;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.attendance-review__table article span{min-width:0}.attendance-review__table article strong,.attendance-review__table article small{display:block}.attendance-review__table article strong{font-size:13px}.attendance-review__table article small{font-size:12px;color:var(--text-soft)}.attendance-review__table article i{justify-self:start;font-style:normal}.attendance-review__table .text-button{margin-top:4px;font-size:12px}.attendance-decision__change{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px 0;padding:16px;border-radius:12px;background:var(--surface-soft);font-size:16px}.attendance-decision__change strong{color:var(--success)}.attendance-decision blockquote{margin:0 0 17px;padding:14px 16px;border-left:4px solid var(--utiva-yellow);background:#fff9ea;border-radius:0 10px 10px 0;font-size:13px;line-height:1.55}.attendance-decision textarea{min-height:100px}
@media(max-width:1050px){.live-delivery-metrics{grid-template-columns:repeat(2,1fr)}.delivery-row{grid-template-columns:minmax(210px,1.2fr) minmax(180px,1fr) 140px 90px 18px}.delivery-row>span:nth-child(3),.delivery-row--head>span:nth-child(3){display:none}.attendance-review__table>div,.attendance-review__table article{grid-template-columns:minmax(210px,1fr) 100px 90px minmax(180px,1fr)}}
@media(max-width:760px){.live-delivery-page h1{font-size:26px}.live-delivery-metrics{grid-template-columns:repeat(2,1fr)}.delivery-tabs{width:100%}.delivery-tabs button{flex:1;justify-content:center}.delivery-row{grid-template-columns:1fr auto}.delivery-row>span:nth-child(n+2),.delivery-row>i,.delivery-row--head{display:none}.attendance-review__toolbar{align-items:flex-start;flex-direction:column}.attendance-review__toolbar select{width:100%;min-width:0}.attendance-review__summary{grid-template-columns:1fr}.attendance-review__table>div:first-child{display:none}.attendance-review__table article{grid-template-columns:1fr auto;padding:15px}.attendance-review__table article>span:nth-of-type(2){grid-column:1/-1}.delivery-detail__facts{grid-template-columns:1fr}}

/* Connected learner course experience */
.learner-production-page{font-size:14px}.learner-production-heading{margin-bottom:18px}.learner-production-heading h1{font-size:30px;line-height:1.15}.learner-production-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.learner-production-metrics article{display:flex;align-items:center;gap:13px;min-height:94px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#fff}.learner-production-metrics article>svg{box-sizing:content-box;width:20px;height:20px;padding:11px;border-radius:12px;color:var(--utiva-blue);background:#eef1ff}.learner-production-metrics p{display:flex;flex-direction:column;gap:3px;margin:0}.learner-production-metrics span{font-size:13px;font-weight:700;color:var(--text-soft)}.learner-production-metrics strong{font-size:26px;line-height:1.05;color:var(--utiva-blue-dark)}.learner-production-library{padding:0;overflow:hidden}.learner-production-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border)}.learner-production-toolbar h2,.learner-production-toolbar span{display:block;margin:0}.learner-production-toolbar h2{font-size:20px}.learner-production-toolbar span{margin-top:3px;font-size:13px;color:var(--text-soft)}.learner-production-cards{display:grid;gap:0}.learner-production-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:176px;padding:22px 20px;border-bottom:1px solid var(--border)}.learner-production-card:last-child{border-bottom:0}.learner-production-card__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:var(--utiva-blue);background:var(--utiva-yellow)}.learner-production-card__body>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--utiva-blue)}.learner-production-card h3{margin:5px 0 3px;font-size:19px;line-height:1.25}.learner-production-card__body>p{margin:0;color:var(--text-soft);font-size:13px}.learner-production-progress{display:grid;grid-template-columns:minmax(120px,320px) auto;align-items:center;gap:10px;margin-top:13px}.learner-production-progress>span{height:8px;overflow:hidden;border-radius:999px;background:#e6eaf5}.learner-production-progress i{display:block;height:100%;border-radius:inherit;background:var(--utiva-blue)}.learner-production-progress strong{font-size:13px;color:var(--utiva-blue)}.learner-production-next{display:flex;align-items:center;gap:8px;margin-top:11px}.learner-production-next small{font-size:12px;color:var(--text-soft)}.learner-production-next strong{font-size:13px}.course-experience-shell{min-height:100vh;background:#f5f7fc;color:var(--text);font:500 14px/1.5 Poppins,Arial,sans-serif}.course-experience-header{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:260px 1fr;align-items:center;min-height:70px;border-bottom:1px solid var(--border);background:#fff}.course-experience-header>button{height:70px;padding:0 24px;border:0;border-right:1px solid var(--border);display:flex;align-items:center;gap:8px;color:var(--utiva-blue);background:#fff;font:800 13px Poppins,Arial,sans-serif;cursor:pointer}.course-experience-header>button svg{width:17px}.course-experience-header>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px}.course-experience-header strong{font-size:15px}.course-experience-header span{font-size:13px;font-weight:800;color:var(--utiva-blue)}.course-experience-layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 70px)}.course-experience-outline{padding:22px 16px;border-right:1px solid var(--border);background:#fff}.course-experience-outline>div:first-child{padding:0 9px 15px}.course-experience-outline>div:first-child span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--utiva-blue)}.course-experience-outline h2{margin:4px 0 0;font-size:21px}.course-experience-outline>section{margin-top:9px}.course-experience-outline>section>button{width:100%;min-height:61px;padding:9px;border:0;border-radius:11px;display:grid;grid-template-columns:31px 1fr;align-items:center;gap:10px;text-align:left;background:transparent;color:var(--text);cursor:pointer}.course-experience-outline>section>button:hover,.course-experience-outline>section>button.is-active{background:#eef1ff}.course-experience-outline>section>button>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--utiva-yellow);color:var(--utiva-blue);font-size:12px;font-weight:800}.course-experience-outline>section>button p{display:grid;gap:2px;margin:0}.course-experience-outline>section>button strong{font-size:13px}.course-experience-outline>section>button small{font-size:12px;color:var(--text-soft)}.course-experience-lessons{display:grid;margin:3px 0 12px 20px;padding-left:15px;border-left:1px solid var(--border)}.course-experience-lessons>button{min-height:47px;padding:7px;border:0;border-radius:9px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--text-soft);text-align:left;background:transparent;font:600 12px Poppins,Arial,sans-serif;cursor:pointer}.course-experience-lessons>button:hover,.course-experience-lessons>button.is-active{color:var(--utiva-blue);background:#f2f4ff}.course-experience-lessons i{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#edf0f7}.course-experience-lessons svg{width:13px}.course-experience-lessons small{font-size:11px}.course-experience-content{width:min(920px,calc(100% - 48px));margin:24px auto;padding:34px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.course-experience-content__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.course-experience-content__meta span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;background:#f0f3fb;color:var(--text-soft);font-size:12px;font-weight:700}.course-experience-content__meta svg{width:14px}.course-experience-content h1{margin:18px 0 8px;font-size:31px;line-height:1.16;color:var(--utiva-blue-dark)}.course-experience-content>p{max-width:720px;margin:0;color:var(--text-soft);font-size:15px;line-height:1.65}.course-experience-stage{min-height:290px;margin:28px 0;padding:30px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px;text-align:center;background:#f1f4fb}.course-experience-stage>svg{width:38px;height:38px;color:var(--utiva-blue)}.course-experience-stage strong{font-size:18px}.course-experience-stage span{font-size:13px;color:var(--text-soft)}.course-experience-stage--video{color:#fff;background:linear-gradient(145deg,#050794,#03045f)}.course-experience-stage--video button{display:grid;place-items:center;width:64px;height:64px;border:0;border-radius:50%;color:var(--utiva-blue);background:var(--utiva-yellow);cursor:pointer}.course-experience-stage--video button svg{width:24px;fill:currentColor}.course-experience-content footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid var(--border)}.course-experience-content footer>div{display:flex;align-items:center;gap:9px}.course-experience-content footer>div:first-child span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--text-soft)}.course-experience-content footer svg{width:17px}
@media(max-width:850px){.learner-production-metrics{grid-template-columns:repeat(3,1fr)}.course-experience-layout{grid-template-columns:1fr}.course-experience-outline{border-right:0;border-bottom:1px solid var(--border)}.course-experience-header{grid-template-columns:auto 1fr}.course-experience-header>button{padding:0 16px}.course-experience-content{width:calc(100% - 30px);margin:15px auto}}
@media(max-width:600px){.learner-production-metrics{grid-template-columns:1fr}.learner-production-toolbar{align-items:stretch;flex-direction:column}.learner-production-toolbar .mini-search{width:100%}.learner-production-card{grid-template-columns:45px 1fr;padding:17px}.learner-production-card__icon{width:43px;height:43px}.learner-production-card>.button{grid-column:1/-1;width:100%}.course-experience-header>div{padding:0 12px}.course-experience-header>div strong{display:none}.course-experience-layout{display:block}.course-experience-outline{padding:15px 11px}.course-experience-content{padding:21px}.course-experience-content h1{font-size:25px}.course-experience-stage{min-height:220px;margin:20px 0}.course-experience-content footer{align-items:stretch;flex-direction:column}.course-experience-content footer>div:last-child{display:grid;grid-template-columns:1fr}.course-experience-content footer .button{width:100%}}

/* Connected learner live classes */
.learner-live-page{font-size:14px}.learner-live-page h1{font-size:30px;line-height:1.15}.learner-live-tabs{display:flex;gap:5px;width:max-content;margin-bottom:18px;padding:5px;border:1px solid var(--border);border-radius:13px;background:#fff}.learner-live-tabs button{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:0;border-radius:9px;color:var(--text-soft);background:transparent;font:700 13px Poppins,Arial,sans-serif;cursor:pointer}.learner-live-tabs button.is-active{color:var(--utiva-blue);background:#eef1ff}.learner-live-tabs span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;color:var(--utiva-blue);background:var(--utiva-yellow);font-size:11px}.learner-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.learner-live-summary>div{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fff}.learner-live-summary>div>svg{box-sizing:content-box;width:19px;height:19px;padding:10px;border-radius:10px;color:var(--utiva-blue);background:#eef1ff}.learner-live-summary p{display:flex;flex-direction:column;gap:3px;margin:0}.learner-live-summary span{font-size:12px;font-weight:700;color:var(--text-soft)}.learner-live-summary strong{font-size:16px;color:var(--utiva-blue-dark)}.learner-live-now{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;margin-bottom:16px;padding:18px;border:0;border-radius:16px;color:#fff;background:linear-gradient(135deg,#050794,#03045f);text-align:left;cursor:pointer;box-shadow:0 13px 30px rgba(5,7,148,.18)}.learner-live-now>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--utiva-blue);background:var(--utiva-yellow)}.learner-live-now p{display:flex;flex-direction:column;margin:0}.learner-live-now small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#ffd77a}.learner-live-now strong{margin:3px 0;font-size:17px}.learner-live-now em{font-size:13px;font-style:normal;opacity:.78}.learner-live-now b{display:flex;align-items:center;gap:5px;font-size:13px}.learner-live-now b svg{width:17px}.learner-live-list,.learner-attendance-list{padding:19px 20px}.learner-live-list>.section-heading,.learner-attendance-list>.section-heading{margin-bottom:8px}.learner-live-list>article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:91px;padding:14px 0;border-top:1px solid var(--border)}.learner-live-list article>div:nth-child(2) small{font-size:12px;font-weight:700;color:var(--utiva-blue)}.learner-live-list h3{margin:3px 0;font-size:15px;line-height:1.3}.learner-live-list article>div:nth-child(2)>p{margin:0;font-size:13px;color:var(--text-soft)}.learner-live-date{display:grid;place-items:center;width:50px;height:61px;border-radius:11px;overflow:hidden;background:#eef1ff}.learner-live-date span{width:100%;padding:3px;text-align:center;color:var(--utiva-blue);background:var(--utiva-yellow);font-size:10px;font-weight:800}.learner-live-date strong{font-size:22px;color:var(--utiva-blue)}.learner-live-play{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--utiva-blue);background:var(--utiva-yellow)}.learner-live-play svg{width:18px;fill:currentColor}.learner-attendance-row{display:grid;grid-template-columns:minmax(210px,1.3fr) 120px 125px 90px 100px;align-items:center;gap:13px;min-height:67px;padding:12px 0;border-top:1px solid var(--border);font-size:13px}.learner-attendance-row--head{min-height:38px;color:var(--text-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.learner-attendance-row strong,.learner-attendance-row small{display:block}.learner-attendance-row strong{font-size:13px}.learner-attendance-row small{margin-top:2px;color:var(--text-soft);font-size:12px}.learner-attendance-row i{justify-self:start;font-style:normal}.learner-live-detail{width:min(700px,calc(100vw - 30px))}.learner-live-detail .modal__hero h2{font-size:28px;line-height:1.17}.learner-live-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.learner-live-facts>div{display:flex;align-items:center;gap:10px;padding:14px;border-radius:11px;background:var(--surface-soft)}.learner-live-facts>div>svg{width:18px;color:var(--utiva-blue)}.learner-live-facts span{display:flex;flex-direction:column;font-size:12px;color:var(--text-soft)}.learner-live-facts strong{font-size:13px;color:var(--text)}.learner-classroom-preview{min-height:360px;padding:45px 25px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.learner-classroom-preview>svg{box-sizing:content-box;width:30px;height:30px;padding:14px;border-radius:14px;color:var(--utiva-blue);background:var(--utiva-yellow)}.learner-classroom-preview h2{max-width:490px;margin:8px 0;font-size:26px}.learner-classroom-preview>span{max-width:460px;margin-bottom:21px;color:var(--text-soft);font-size:14px}.learner-recording-track{width:min(420px,100%);height:8px;margin:18px 0;border-radius:999px;background:#e4e8f2}.learner-recording-track i{display:block;width:34%;height:100%;border-radius:inherit;background:var(--utiva-blue)}.learner-attendance-correction{width:min(560px,calc(100vw - 30px))}
@media(max-width:780px){.learner-live-summary{grid-template-columns:1fr}.learner-live-tabs{width:100%}.learner-live-tabs button{flex:1;justify-content:center}.learner-attendance-list{overflow-x:auto}.learner-attendance-row{min-width:720px}.learner-live-detail .modal__hero h2{font-size:24px}}
@media(max-width:560px){.learner-live-now{grid-template-columns:42px 1fr}.learner-live-now>b{grid-column:1/-1;justify-content:center;min-height:40px;border-radius:9px;color:var(--utiva-blue);background:var(--utiva-yellow)}.learner-live-list{padding:16px}.learner-live-list>article{grid-template-columns:48px minmax(0,1fr)}.learner-live-list>article>.button{grid-column:1/-1;width:100%}.learner-live-facts{grid-template-columns:1fr}.learner-live-detail .modal__footer{display:grid}.learner-live-detail .modal__footer>.button{width:100%}}

/* Connected assignment and submission operations */
.assignment-production-page{font-size:14px}.assignment-production-page h1{font-size:30px;line-height:1.15}.assignment-production-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.assignment-production-metrics article{display:flex;align-items:center;gap:13px;min-height:94px;padding:17px;border:1px solid var(--border);border-radius:15px;background:#fff}.assignment-production-metrics article>svg{box-sizing:content-box;width:19px;height:19px;padding:10px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}.assignment-production-metrics p{display:flex;flex-direction:column;gap:3px;margin:0}.assignment-production-metrics span{font-size:13px;font-weight:700;color:var(--text-soft)}.assignment-production-metrics strong{font-size:25px;line-height:1;color:var(--utiva-blue-dark)}.assignment-production-register{padding:0;overflow:hidden}.assignment-production-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px}.assignment-production-toolbar>div:first-child h2,.assignment-production-toolbar>div:first-child span{display:block;margin:0}.assignment-production-toolbar>div:first-child h2{font-size:19px}.assignment-production-toolbar>div:first-child span{margin-top:3px;color:var(--text-soft);font-size:13px}.assignment-production-filters{display:flex;gap:4px;overflow-x:auto}.assignment-production-filters button{min-height:37px;padding:0 11px;border:0;border-radius:9px;white-space:nowrap;color:var(--text-soft);background:transparent;font:700 12px Poppins,Arial,sans-serif;cursor:pointer}.assignment-production-filters button.is-active{color:var(--utiva-blue);background:#eef1ff}.assignment-production-row{display:grid;grid-template-columns:minmax(250px,1.5fr) 120px 90px 140px 18px;align-items:center;gap:14px;width:100%;min-height:73px;padding:13px 18px;border:0;border-top:1px solid var(--border);color:var(--text);background:#fff;text-align:left;font:500 13px Poppins,Arial,sans-serif}.assignment-production-row:not(.assignment-production-row--head){cursor:pointer}.assignment-production-row:not(.assignment-production-row--head):hover{background:#f8faff}.assignment-production-row--head{min-height:42px;color:var(--text-soft);background:#f8faff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.assignment-production-row strong,.assignment-production-row small{display:block}.assignment-production-row strong{font-size:14px}.assignment-production-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.assignment-production-row i{justify-self:start;font-style:normal}.assignment-production-detail,.assignment-production-submit,.assignment-production-feedback,.assignment-grade-modal,.assignment-create-modal{width:min(680px,calc(100vw - 30px))}.assignment-production-brief{margin:5px 0 17px;color:var(--text-soft);font-size:14px;line-height:1.6}.assignment-production-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.assignment-production-facts>div{padding:13px;border-radius:11px;background:var(--surface-soft)}.assignment-production-facts span,.assignment-production-facts strong{display:block}.assignment-production-facts span{font-size:12px;color:var(--text-soft)}.assignment-production-facts strong{margin-top:3px;font-size:14px}.assignment-production-history{display:flex;align-items:center;gap:10px;margin-top:15px;padding:13px;border:1px solid var(--border);border-radius:11px}.assignment-production-history>svg{width:18px;color:var(--utiva-blue)}.assignment-production-history p{display:flex;flex-direction:column;margin:0}.assignment-production-history strong{font-size:13px}.assignment-production-history small{font-size:12px;color:var(--text-soft)}.assignment-link-field{display:flex;align-items:center;gap:8px;min-height:45px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.assignment-link-field svg{width:16px;color:var(--text-soft)}.assignment-link-field input{width:100%;border:0;outline:0;font:500 14px Poppins,Arial,sans-serif}.assignment-file-field{position:relative;display:flex;align-items:center;gap:11px;margin-top:14px;padding:15px;border:1px dashed #aebcda;border-radius:12px;background:#f8faff;cursor:pointer}.assignment-file-field>svg{color:var(--utiva-blue)}.assignment-file-field span{display:flex;flex-direction:column}.assignment-file-field strong{font-size:13px}.assignment-file-field small{font-size:12px;color:var(--text-soft)}.assignment-file-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.assignment-feedback-score{display:flex;align-items:center;gap:12px;margin:20px 0}.assignment-feedback-score>span{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;color:var(--utiva-blue);background:#eef1ff;font-size:22px;font-weight:800}.assignment-feedback-score p{display:flex;flex-direction:column;margin:0}.assignment-feedback-score small{font-size:12px;color:var(--text-soft)}.assignment-feedback-score strong{font-size:16px}.assignment-production-feedback h2{font-size:24px}.assignment-production-feedback blockquote,.assignment-grade-modal blockquote{margin:16px 0;padding:15px;border-left:4px solid var(--utiva-yellow);border-radius:0 10px 10px 0;background:#fff9e9;font-size:14px;line-height:1.6}.assignment-trainer-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(230px,1.3fr) 155px 75px 18px;align-items:center;gap:14px;width:100%;min-height:72px;padding:13px 18px;border:0;border-top:1px solid var(--border);color:var(--text);background:#fff;text-align:left;font:500 13px Poppins,Arial,sans-serif}.assignment-trainer-row:not(.assignment-trainer-row--head){cursor:pointer}.assignment-trainer-row:not(.assignment-trainer-row--head):hover{background:#f8faff}.assignment-trainer-row--head{min-height:42px;color:var(--text-soft);background:#f8faff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.assignment-trainer-row strong,.assignment-trainer-row small{display:block}.assignment-trainer-row strong{font-size:13px}.assignment-trainer-row small{margin-top:3px;color:var(--text-soft);font-size:12px}.assignment-grade-learner{margin:12px 0;padding:13px;border-radius:11px;background:#eef1ff}.assignment-grade-learner p{display:flex;flex-direction:column;margin:0}.assignment-grade-learner strong{font-size:14px}.assignment-grade-learner small{font-size:12px;color:var(--text-soft)}.assignment-grade-fields{display:grid;grid-template-columns:160px 1fr;gap:12px}.assignment-grade-fields .form-field--full{grid-column:2}.assignment-grade-fields textarea{min-height:110px}
@media(max-width:850px){.assignment-production-metrics{grid-template-columns:repeat(3,1fr)}.assignment-production-register{overflow-x:auto}.assignment-production-row{min-width:760px}.assignment-trainer-row{min-width:780px}.assignment-production-toolbar{align-items:stretch;flex-direction:column}.assignment-production-toolbar .mini-search{width:100%}}
@media(max-width:560px){.assignment-production-metrics{grid-template-columns:1fr}.assignment-production-page .page-heading{align-items:flex-start}.assignment-production-page .page-heading>.button{width:100%}.assignment-production-facts{grid-template-columns:1fr}.assignment-grade-fields{grid-template-columns:1fr}.assignment-grade-fields .form-field--full{grid-column:auto}.assignment-grade-modal .admin-modal__footer{display:grid}.assignment-grade-modal .admin-modal__footer .button{width:100%}}

/* Connected trainer operations dashboard */
.trainer-operations-dashboard{font-size:14px}.trainer-operations-dashboard h1{font-size:30px;line-height:1.15}.trainer-operations-next{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:16px;padding:18px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#050794,#03045f);box-shadow:0 13px 30px rgba(5,7,148,.16)}.trainer-operations-next>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--utiva-blue);background:var(--utiva-yellow)}.trainer-operations-next small{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#ffd776}.trainer-operations-next h2{margin:3px 0;font-size:19px}.trainer-operations-next p{margin:0;font-size:13px;opacity:.76}.trainer-operations-next .button svg{width:16px}.trainer-operations-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.trainer-operations-metrics>button{display:grid;grid-template-columns:40px minmax(0,1fr) 17px;align-items:center;gap:11px;min-height:105px;padding:16px;border:1px solid var(--border);border-radius:15px;color:var(--text);background:#fff;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.trainer-operations-metrics>button:hover{border-color:#b9c7e7;transform:translateY(-1px)}.trainer-operations-metrics>button>svg:first-child{box-sizing:content-box;width:19px;height:19px;padding:10px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}.trainer-operations-metrics>button>svg:last-child{color:var(--text-soft)}.trainer-operations-metrics p{display:flex;flex-direction:column;margin:0}.trainer-operations-metrics span{font-size:12px;font-weight:700;color:var(--text-soft)}.trainer-operations-metrics strong{margin:2px 0;font-size:24px;line-height:1.05;color:var(--utiva-blue-dark)}.trainer-operations-metrics small{font-size:11px;color:var(--text-soft)}.trainer-operations-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:16px}.trainer-operations-grid>.panel{margin:0;padding:19px}.trainer-operations-cohorts>.section-heading,.trainer-operations-priorities>.section-heading{margin-bottom:7px}.trainer-operations-cohorts>.section-heading svg{width:14px}.trainer-operations-cohorts>button{display:grid;grid-template-columns:42px minmax(190px,1fr) minmax(130px,.75fr) 90px 17px;align-items:center;gap:12px;width:100%;min-height:75px;padding:12px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}.trainer-operations-cohorts>button:hover{color:var(--utiva-blue)}.trainer-operations-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}.trainer-operations-avatar svg{width:18px}.trainer-operations-cohorts p{display:flex;flex-direction:column;margin:0}.trainer-operations-cohorts p strong{font-size:13px}.trainer-operations-cohorts p small{font-size:12px;color:var(--text-soft)}.trainer-operations-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.trainer-operations-progress i{height:7px;overflow:hidden;border-radius:999px;background:#e5eaf4}.trainer-operations-progress b{display:block;height:100%;border-radius:inherit;background:var(--utiva-blue)}.trainer-operations-progress strong{font-size:12px}.trainer-operations-cohorts em{justify-self:start;font-style:normal}.trainer-operations-cohorts>button>svg{width:16px;color:var(--text-soft)}.trainer-operations-priorities>button{display:grid;grid-template-columns:35px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:68px;padding:11px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}.trainer-operations-priorities>button:hover{color:var(--utiva-blue)}.trainer-operations-priorities>button>svg:first-child{box-sizing:content-box;width:16px;height:16px;padding:8px;border-radius:9px;color:var(--utiva-blue);background:#eef1ff}.trainer-operations-priorities p{display:flex;flex-direction:column;margin:0}.trainer-operations-priorities strong{font-size:13px}.trainer-operations-priorities small{font-size:12px;color:var(--text-soft)}.trainer-operations-priorities>button>svg:last-child{width:15px;color:var(--text-soft)}
.trainer-operations-empty{display:grid;grid-template-columns:62px minmax(0,1fr);gap:18px;align-items:start;max-width:820px;margin:12px auto 0;padding:28px}.trainer-operations-empty>span{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;color:var(--utiva-blue-dark);background:var(--utiva-yellow)}.trainer-operations-empty>span svg{width:25px;height:25px}.trainer-operations-empty h2{margin:4px 0 8px;font-size:22px;color:var(--utiva-blue-dark)}.trainer-operations-empty>div>p:last-child{max-width:590px;margin:0;color:var(--text-soft);font-size:14px;line-height:1.6}.trainer-operations-empty footer{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--border)}.trainer-operations-empty footer span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:999px;color:var(--utiva-blue-dark);background:#f2f5ff;font-size:12px;font-weight:700}.trainer-operations-empty footer svg{width:14px}
@media(max-width:1050px){.trainer-operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-operations-grid{grid-template-columns:1fr}.trainer-operations-cohorts>button{grid-template-columns:42px minmax(170px,1fr) minmax(120px,.75fr) 90px 17px}}
@media(max-width:650px){.trainer-operations-dashboard .page-heading{align-items:flex-start}.trainer-operations-dashboard .heading-actions{width:100%;display:grid}.trainer-operations-dashboard .heading-actions .button{width:100%}.trainer-operations-next{grid-template-columns:42px 1fr}.trainer-operations-next>.button{grid-column:1/-1;width:100%}.trainer-operations-metrics{grid-template-columns:1fr}.trainer-operations-cohorts{overflow-x:auto}.trainer-operations-cohorts>button{min-width:680px}.trainer-operations-empty{grid-template-columns:1fr;padding:22px}.trainer-operations-empty footer{grid-column:1}.trainer-operations-empty footer span{width:100%;justify-content:center}}

/* Role-based workspace guide */
.workspace-guide{font-size:15px}
.workspace-guide__hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:30px;margin-bottom:18px;padding:30px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--utiva-blue) 0%,var(--utiva-blue-dark) 100%);box-shadow:0 18px 38px rgba(3,4,95,.15)}
.workspace-guide__hero>.workspace-guide__score{justify-self:end}
.workspace-guide__hero .eyebrow{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#ffd77b}
.workspace-guide__hero h1{max-width:690px;margin:0;font-size:clamp(32px,4vw,44px);line-height:1.08;letter-spacing:-1.1px}
.workspace-guide__hero>div:first-child>p:not(.eyebrow){max-width:590px;margin:11px 0 20px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.55}
.workspace-guide__hero .button--primary{color:var(--utiva-blue);background:var(--utiva-yellow);box-shadow:none}
.workspace-guide__hero .button--primary:hover{background:#ffc148}
.workspace-guide__complete{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;font-size:14px;font-weight:800;background:rgba(255,255,255,.1)}
.workspace-guide__score{display:grid;justify-items:center;gap:9px}
.workspace-guide__score>span{position:relative;display:grid;place-items:center;width:126px;height:126px;border-radius:50%;background:conic-gradient(var(--utiva-yellow) var(--guide-progress),rgba(255,255,255,.15) 0)}
.workspace-guide__score>span::before{position:absolute;inset:10px;border-radius:50%;content:"";background:var(--utiva-blue-dark)}
.workspace-guide__score strong,.workspace-guide__score small{position:relative;z-index:1;display:block;text-align:center}
.workspace-guide__score strong{align-self:end;font-size:28px;line-height:1}
.workspace-guide__score small{align-self:start;margin-top:2px;color:rgba(255,255,255,.67);font-size:12px;font-weight:700}
.workspace-guide__score p{margin:0;color:rgba(255,255,255,.75);font-size:13px;font-weight:700}
.workspace-guide__layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.72fr);gap:16px;align-items:start}
.workspace-guide__layout>.panel{margin:0}
.workspace-guide__checklist{padding:20px 21px}
.workspace-guide__section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:7px}
.workspace-guide__section-heading h2,.workspace-guide__quick h2{margin:2px 0 0;font-size:20px;line-height:1.25}
.workspace-guide__section-heading .text-button{display:flex;align-items:center;gap:6px;min-height:38px}
.workspace-guide__steps>article{display:grid;grid-template-columns:34px 42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:13px 0;border-top:1px solid var(--border)}
.workspace-guide__steps>article.is-complete h3{text-decoration:line-through;text-decoration-thickness:1px;color:var(--text-soft)}
.workspace-guide__check{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #cbd5ea;border-radius:9px;color:var(--utiva-blue);background:#fff;font:800 13px Poppins,Arial,sans-serif;cursor:pointer}
.workspace-guide__check[aria-pressed="true"]{border-color:var(--utiva-blue);color:#fff;background:var(--utiva-blue)}
.workspace-guide__step-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}
.workspace-guide__steps h3,.workspace-guide__steps p{margin:0}
.workspace-guide__steps h3{font-size:15px;line-height:1.35}
.workspace-guide__steps p{margin-top:3px;color:var(--text-soft);font-size:13px;line-height:1.45}
.workspace-guide__open{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:40px;padding:0 9px;border:0;border-radius:9px;color:var(--utiva-blue);background:transparent;font:800 13px Poppins,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.workspace-guide__open:hover{background:#f1f3ff}
.workspace-guide__aside{display:grid;gap:13px}
.workspace-guide__quick{padding:20px}
.workspace-guide__quick>.eyebrow{margin-bottom:3px}
.workspace-guide__quick>button,.workspace-guide__shortcut{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:66px;padding:11px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;font-family:Poppins,Arial,sans-serif}
.workspace-guide__shortcut{grid-template-columns:38px minmax(0,1fr)}
.workspace-guide__quick>button{cursor:pointer}
.workspace-guide__quick>button:hover{color:var(--utiva-blue)}
.workspace-guide__quick>button>span,.workspace-guide__shortcut>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--utiva-blue);background:#eef1ff}
.workspace-guide__quick p{display:flex;flex-direction:column;gap:2px;margin:0}
.workspace-guide__quick strong{font-size:14px}
.workspace-guide__quick small{color:var(--text-soft);font-size:12px}
.workspace-guide__quick>button>svg{color:var(--text-soft)}
.workspace-guide__privacy{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:15px;border:1px solid #d8e6dd;border-radius:14px;color:#12623d;background:#eff9f3}
.workspace-guide__privacy>svg{margin-top:1px}
.workspace-guide__privacy p{display:flex;flex-direction:column;gap:2px;margin:0}
.workspace-guide__privacy strong{font-size:13px}
.workspace-guide__privacy span{color:#4c6e5d;font-size:12px;line-height:1.45}
@media(max-width:980px){.workspace-guide__layout{grid-template-columns:1fr}.workspace-guide__aside{grid-template-columns:minmax(0,1fr) minmax(250px,.72fr)}.workspace-guide__privacy{align-self:stretch;align-content:center}}
@media(max-width:680px){.workspace-guide__hero{grid-template-columns:1fr;padding:23px}.workspace-guide__hero>.workspace-guide__score{justify-self:start;grid-template-columns:88px auto;align-items:center}.workspace-guide__score>span{width:88px;height:88px}.workspace-guide__score>span::before{inset:8px}.workspace-guide__score strong{font-size:22px}.workspace-guide__score p{font-size:14px}.workspace-guide__aside{grid-template-columns:1fr}.workspace-guide__checklist{padding:16px}.workspace-guide__steps>article{grid-template-columns:31px 40px minmax(0,1fr);align-items:start;padding:15px 0}.workspace-guide__open{grid-column:2/-1;width:100%;justify-content:center;border:1px solid var(--border);background:#fff}.workspace-guide__section-heading{align-items:flex-start}.workspace-guide__hero h1{font-size:32px}}

/* Platform reliability centre */
.setup-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
.reliability-centre{font-size:14px}
.reliability-centre .role-heading h1{font-size:32px}
.reliability-overall{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:16px;padding:19px 21px;border:1px solid #c9e4d5;border-radius:16px;color:#115c3b;background:#eff9f3}
.reliability-overall--warning{border-color:#f1d99d;color:#765100;background:#fff8e6}
.reliability-overall--risk{border-color:#efc4ca;color:#9d2636;background:#fff1f3}
.reliability-overall>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#fff;background:#17845d}
.reliability-overall--warning>span{background:#c38200}
.reliability-overall--risk>span{background:#c63f50}
.reliability-overall .eyebrow{margin:0 0 2px;color:currentColor}
.reliability-overall h2{margin:0;font-size:21px;line-height:1.25}
.reliability-overall small{display:block;margin-top:3px;color:var(--text-soft);font-size:12px}
.reliability-overall>strong{padding:8px 11px;border-radius:999px;font-size:12px;background:rgba(255,255,255,.72)}
.reliability-error{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:15px;padding:14px;border:1px solid #efc4ca;border-radius:13px;color:#a22d3d;background:#fff1f3}
.reliability-error p{display:flex;flex-direction:column;margin:0}
.reliability-error strong{font-size:14px}.reliability-error span{font-size:12px}
.reliability-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.reliability-metrics article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:94px;padding:16px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}
.reliability-metrics article>svg{box-sizing:content-box;width:19px;height:19px;padding:10px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}
.reliability-metrics p{display:flex;flex-direction:column;margin:0}
.reliability-metrics span{font-size:12px;font-weight:700;color:var(--text-soft)}
.reliability-metrics strong{margin:1px 0;font-size:25px;line-height:1.05;color:var(--utiva-blue-dark)}
.reliability-metrics small{font-size:11px;color:var(--text-soft)}
.reliability-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.68fr);gap:16px;align-items:start}
.reliability-layout>main,.reliability-layout>aside{display:grid;gap:16px}
.reliability-layout .panel{margin:0}
.reliability-services,.reliability-incidents,.reliability-retries,.reliability-audit{padding:19px 20px}
.reliability-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.reliability-service-grid article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:105px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fbfcff}
.reliability-service-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:#13744e;background:#e8f7ef}
.reliability-service-icon--degraded{color:#8a5b00;background:#fff2cf}
.reliability-service-icon--unavailable{color:#aa3040;background:#ffeaed}
.reliability-service-grid h3,.reliability-service-grid p{margin:0}
.reliability-service-grid h3{font-size:14px;line-height:1.35}
.reliability-service-grid p{margin-top:3px;color:var(--text-soft);font-size:12px;line-height:1.45}
.reliability-service-grid small{display:block;margin-top:7px;color:var(--text-soft);font-size:11px;font-weight:700}
.reliability-service-grid .health-pill{align-self:start;white-space:nowrap}
.reliability-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}
.reliability-panel-heading h2{margin:2px 0 0;font-size:19px}
.reliability-tabs{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f1f4fa}
.reliability-tabs button{min-height:34px;padding:0 10px;border:0;border-radius:7px;color:var(--text-soft);background:transparent;font:700 12px Poppins,Arial,sans-serif;cursor:pointer}
.reliability-tabs button.is-active{color:var(--utiva-blue);background:#fff;box-shadow:0 3px 10px rgba(3,4,95,.08)}
.reliability-incident-list>button{display:grid;grid-template-columns:13px minmax(0,1fr) auto 16px;align-items:center;gap:10px;width:100%;min-height:67px;padding:11px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}
.reliability-incident-list>button:hover{color:var(--utiva-blue)}
.reliability-incident-list p{display:flex;flex-direction:column;margin:0}
.reliability-incident-list strong{font-size:13px}
.reliability-incident-list small{margin-top:3px;color:var(--text-soft);font-size:11px}
.reliability-incident-list>button>svg{color:var(--text-soft)}
.reliability-retries>article{padding:14px 0;border-top:1px solid var(--border)}
.reliability-retries>article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.reliability-retries>article>div>small{font-size:11px;color:var(--text-soft)}
.reliability-retries h3,.reliability-retries p{margin:0}
.reliability-retries h3{margin-top:9px;font-size:14px}
.reliability-retries p{margin-top:2px;font-size:12px;color:var(--text-soft)}
.reliability-retries>article>small{display:block;min-height:34px;margin:8px 0;color:#a22d3d;font-size:11px;line-height:1.45}
.reliability-retries .button{margin-top:10px}
.reliability-audit .section-heading{margin-bottom:7px}
.reliability-audit>.section-heading .text-button{font-size:12px}
.reliability-audit>div:not(.section-heading){display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;min-height:57px;padding:10px 0;border-top:1px solid var(--border)}
.reliability-audit>div:not(.section-heading)>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;color:var(--utiva-blue);background:#eef1ff}
.reliability-audit p{display:flex;flex-direction:column;margin:0}
.reliability-audit strong{font-size:12px;text-transform:capitalize}
.reliability-audit small{margin-top:2px;color:var(--text-soft);font-size:11px;line-height:1.4}
.reliability-empty{display:flex;align-items:center;gap:10px;min-height:70px;border-top:1px solid var(--border);color:var(--text-soft)}
.reliability-empty p{display:flex;flex-direction:column;margin:0}.reliability-empty strong{font-size:13px}.reliability-empty span{font-size:12px}
.reliability-incident-detail{width:min(660px,calc(100vw - 30px))}
@media(max-width:1120px){.setup-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.reliability-layout{grid-template-columns:1fr}.reliability-layout>aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.reliability-centre .role-heading{align-items:stretch}.reliability-centre .heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reliability-centre .heading-actions .button{width:100%;justify-content:center}.reliability-centre .heading-actions .button--primary{grid-column:1/-1}.reliability-overall{grid-template-columns:46px minmax(0,1fr)}.reliability-overall>strong{grid-column:2;justify-self:start}.reliability-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reliability-service-grid{grid-template-columns:1fr}.reliability-layout>aside{grid-template-columns:1fr}}
@media(max-width:520px){.reliability-metrics{grid-template-columns:1fr}.reliability-panel-heading{align-items:flex-start;flex-direction:column}.reliability-tabs{width:100%}.reliability-tabs button{flex:1}.reliability-service-grid article{grid-template-columns:36px minmax(0,1fr)}.reliability-service-grid .health-pill{grid-column:2;justify-self:start}.reliability-incident-list>button{grid-template-columns:12px minmax(0,1fr) 16px}.reliability-incident-list .health-pill{grid-column:2;justify-self:start}.reliability-incident-list>button>svg{grid-column:3;grid-row:1}.setup-shortcuts{grid-template-columns:1fr}}

/* Launch readiness centre */
.setup-launch-banner{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:15px;margin-bottom:16px;padding:17px 19px;border:1px solid #d8dcef;border-radius:16px;background:linear-gradient(105deg,#f7f8ff,#fffdf7);box-shadow:var(--shadow-sm)}
.setup-launch-banner>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--utiva-blue);background:var(--utiva-yellow)}
.setup-launch-banner h2,.setup-launch-banner p{margin:0}.setup-launch-banner h2{font-size:18px}.setup-launch-banner>div>p:last-child{margin-top:2px;color:var(--text-soft);font-size:13px}.setup-launch-banner>strong{padding:8px 11px;border-radius:999px;color:#a12c3d;background:#fff0f2;font-size:12px}.setup-launch-banner .button svg{width:15px}
.launch-readiness{font-size:14px}.launch-readiness .role-heading h1{font-size:32px}.launch-readiness .role-heading>div>p:last-child{font-size:14px}
.launch-readiness__hero{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:16px;padding:22px 23px;border:1px solid #efd29a;border-radius:18px;color:#684700;background:#fff8e8}
.launch-readiness__hero.has-blockers{border-color:#efc7ce;color:#922d3c;background:#fff2f4}.launch-readiness__hero.is-ready{border-color:#c9e5d6;color:#12613e;background:#eff9f3}
.launch-readiness__score{display:grid;place-items:center;width:94px;height:94px;border-radius:50%;background:conic-gradient(currentColor var(--launch-score),rgba(255,255,255,.7) 0)}
.launch-readiness__score>span{display:grid;place-items:center;align-content:center;width:76px;height:76px;border-radius:50%;background:#fff}.launch-readiness__score strong{font-size:24px;line-height:1}.launch-readiness__score small{margin-top:3px;color:var(--text-soft);font-size:12px;font-weight:700}
.launch-readiness__hero h2,.launch-readiness__hero p{margin:0}.launch-readiness__hero h2{font-size:23px;line-height:1.2}.launch-readiness__hero>div:nth-child(2)>p:last-child{margin-top:4px;color:var(--text-soft);font-size:13px}
.launch-readiness__date{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.74)}.launch-readiness__date>span{display:flex;flex-direction:column}.launch-readiness__date small{font-size:11px;color:var(--text-soft)}.launch-readiness__date strong{font-size:14px;color:var(--text)}
.launch-readiness__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.launch-readiness__metrics article{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:10px;min-height:88px;padding:15px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.launch-readiness__metrics article>svg{box-sizing:content-box;width:18px;height:18px;padding:10px;border-radius:11px;color:var(--utiva-blue);background:#eef1ff}.launch-readiness__metrics p{display:flex;flex-direction:column;margin:0}.launch-readiness__metrics span{color:var(--text-soft);font-size:12px;font-weight:700}.launch-readiness__metrics strong{font-size:24px;line-height:1.05;color:var(--utiva-blue-dark)}
.launch-readiness__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.68fr);gap:16px;align-items:start}.launch-readiness__layout>aside{display:grid;gap:16px}.launch-readiness__layout .panel{margin:0}
.launch-readiness__checklist{padding:19px 20px}.launch-readiness__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.launch-readiness__toolbar h2,.launch-readiness__toolbar p{margin:0}.launch-readiness__toolbar h2{font-size:20px}.launch-readiness__filters{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f1f4fa}.launch-readiness__filters button{min-height:34px;padding:0 11px;border:0;border-radius:7px;color:var(--text-soft);background:transparent;font:700 12px Poppins,Arial,sans-serif;cursor:pointer}.launch-readiness__filters button.is-active{color:var(--utiva-blue);background:#fff;box-shadow:0 3px 10px rgba(3,4,95,.08)}
.launch-readiness__areas{display:flex;gap:6px;margin:14px 0 5px;overflow-x:auto}.launch-readiness__areas button{min-height:36px;padding:0 11px;border:1px solid var(--border);border-radius:999px;white-space:nowrap;color:var(--text-soft);background:#fff;font:700 12px Poppins,Arial,sans-serif;cursor:pointer}.launch-readiness__areas button.is-active{border-color:var(--utiva-blue);color:#fff;background:var(--utiva-blue)}
.launch-readiness__items>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto 16px;align-items:center;gap:11px;width:100%;min-height:71px;padding:12px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}.launch-readiness__items>button:hover{color:var(--utiva-blue)}.launch-readiness__items p{display:flex;flex-direction:column;margin:0}.launch-readiness__items strong{font-size:14px;line-height:1.35}.launch-readiness__items small{margin-top:3px;color:var(--text-soft);font-size:12px}.launch-readiness__items>button>svg{color:var(--text-soft)}
.launch-readiness__item-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:#996000;background:#fff3d6}.launch-readiness__item-icon.is-ready{color:#14764a;background:#e8f7ef}.launch-readiness__item-icon.is-blocked{color:#ad3343;background:#ffebee}
.launch-readiness__empty{display:flex;align-items:center;gap:10px;min-height:86px;border-top:1px solid var(--border);color:var(--text-soft)}.launch-readiness__empty p{display:flex;flex-direction:column;margin:0}.launch-readiness__empty strong{font-size:14px}.launch-readiness__empty span{font-size:12px}
.launch-readiness__blockers,.launch-readiness__approval{padding:19px}.launch-readiness__blockers>button{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;min-height:66px;padding:11px 0;border:0;border-top:1px solid var(--border);color:var(--text);background:transparent;text-align:left;cursor:pointer}.launch-readiness__blockers>button>svg:first-child{box-sizing:content-box;padding:7px;border-radius:9px;color:#a82f40;background:#ffebee}.launch-readiness__blockers>button>svg:last-child{color:var(--text-soft)}.launch-readiness__blockers p{display:flex;flex-direction:column;margin:0}.launch-readiness__blockers strong{font-size:13px;line-height:1.35}.launch-readiness__blockers small{margin-top:3px;color:var(--text-soft);font-size:12px}.launch-readiness__clear{display:flex;align-items:center;gap:10px;min-height:75px;border-top:1px solid var(--border);color:#14764a}.launch-readiness__clear p{display:flex;flex-direction:column;margin:0}.launch-readiness__clear span{font-size:12px;color:var(--text-soft)}
.launch-readiness__approval>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:13px;border-radius:12px;color:var(--utiva-blue);background:var(--utiva-yellow)}.launch-readiness__approval h2,.launch-readiness__approval p{margin:0}.launch-readiness__approval h2{font-size:20px}.launch-readiness__approval>p:not(.eyebrow){margin:5px 0 15px;color:var(--text-soft);font-size:13px;line-height:1.5}.launch-readiness__approval>small{display:flex;align-items:center;gap:6px;margin-top:12px;color:var(--text-soft);font-size:11px}
.launch-readiness__error{position:fixed;right:20px;bottom:20px;z-index:20;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;max-width:560px;padding:14px;border:1px solid #efc4ca;border-radius:13px;color:#a22d3d;background:#fff1f3;box-shadow:var(--shadow-lg)}.launch-readiness__error p{display:flex;flex-direction:column;margin:0}.launch-readiness__error span{font-size:12px}
.launch-readiness__modal{width:min(650px,calc(100vw - 30px))}.launch-readiness__status-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.launch-readiness__status-options button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid var(--border);border-radius:10px;color:var(--text-soft);background:#fff;font:700 13px Poppins,Arial,sans-serif;cursor:pointer}.launch-readiness__status-options button.is-selected{border-color:var(--utiva-blue);color:var(--utiva-blue);background:#eef1ff}.launch-readiness__modal textarea{min-height:94px;resize:vertical}.launch-readiness__workspace-link{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:#fafbff;text-align:left;cursor:pointer}.launch-readiness__workspace-link>svg:first-child{color:var(--utiva-blue)}.launch-readiness__workspace-link>svg:last-child{color:var(--text-soft)}.launch-readiness__workspace-link span{display:flex;flex-direction:column}.launch-readiness__workspace-link strong{font-size:13px}.launch-readiness__workspace-link small{margin-top:2px;color:var(--text-soft);font-size:12px}
@media(max-width:1050px){.setup-launch-banner{grid-template-columns:48px minmax(0,1fr) auto}.setup-launch-banner>strong{display:none}.launch-readiness__layout{grid-template-columns:1fr}.launch-readiness__layout>aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.setup-launch-banner{grid-template-columns:44px minmax(0,1fr)}.setup-launch-banner .button{grid-column:1/-1;width:100%}.launch-readiness__hero{grid-template-columns:90px 1fr}.launch-readiness__date{grid-column:1/-1}.launch-readiness__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-readiness__toolbar{align-items:flex-start;flex-direction:column}.launch-readiness__filters{width:100%}.launch-readiness__filters button{flex:1}.launch-readiness__layout>aside{grid-template-columns:1fr}}
@media(max-width:520px){.launch-readiness__hero{grid-template-columns:1fr}.launch-readiness__score{width:84px;height:84px}.launch-readiness__score>span{width:68px;height:68px}.launch-readiness__metrics{grid-template-columns:1fr 1fr;gap:9px}.launch-readiness__metrics article{min-height:78px;padding:12px}.launch-readiness__checklist{padding:16px}.launch-readiness__items>button{grid-template-columns:36px minmax(0,1fr) 16px}.launch-readiness__items .health-pill{grid-column:2;justify-self:start}.launch-readiness__items>button>svg{grid-column:3;grid-row:1}.launch-readiness__status-options{grid-template-columns:1fr}.launch-readiness__modal .admin-modal__footer{display:grid}.launch-readiness__modal .admin-modal__footer .button{width:100%}}

/* First-time learner workspace */
.fresh-start-page{display:grid;gap:20px;max-width:1180px}
.fresh-start-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;min-height:330px;padding:42px 46px;overflow:hidden;border-radius:24px;color:#fff;background:linear-gradient(128deg,#050794 0%,#03045f 72%);box-shadow:0 22px 55px rgba(3,4,95,.2)}
.fresh-start-hero__copy{position:relative;z-index:2;max-width:700px}
.fresh-start-badge{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.01em;color:#050794;background:#fbaf1b}
.fresh-start-hero h1{max-width:660px;margin:18px 0 10px;font-size:clamp(34px,4.3vw,52px);line-height:1.08;letter-spacing:-.035em}
.fresh-start-hero p{margin:0;font-size:17px;line-height:1.55;color:rgba(255,255,255,.82)}
.fresh-start-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:27px}
.fresh-start-actions .button{min-height:48px;padding:0 19px;font-size:14px}
.fresh-start-plan-button{border:1px solid rgba(255,255,255,.42);color:#fff;background:rgba(255,255,255,.08)}
.fresh-start-plan-button:hover{background:rgba(255,255,255,.16)}
.fresh-start-hero__mark{position:relative;display:grid;place-items:center;justify-self:center;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.08)}
.fresh-start-hero__mark>span{display:grid;place-items:center;width:112px;height:112px;border-radius:30px;color:#050794;background:#fbaf1b;transform:rotate(-4deg)}
.fresh-start-hero__mark i{position:absolute;width:15px;height:15px;border-radius:5px;background:#fff;opacity:.65}
.fresh-start-hero__mark i:nth-child(2){top:19px;right:27px}.fresh-start-hero__mark i:nth-child(3){bottom:28px;left:18px}.fresh-start-hero__mark i:nth-child(4){right:6px;bottom:62px;background:#fbaf1b}
.fresh-start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fresh-start-steps article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;min-height:142px;padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}
.fresh-start-steps article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#050794;background:#f2f6ff;font-size:14px;font-weight:800}
.fresh-start-steps article>div>svg{margin-bottom:10px;color:#050794}
.fresh-start-steps h2,.fresh-start-steps p{margin:0}.fresh-start-steps h2{font-size:17px;line-height:1.3}.fresh-start-steps p{margin-top:5px;color:var(--text-soft);font-size:14px;line-height:1.5}
.fresh-start-empty{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:15px;padding:21px 23px}
.fresh-start-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#050794;background:#f2f6ff}.fresh-start-empty h2,.fresh-start-empty p{margin:0}.fresh-start-empty h2{font-size:18px}.fresh-start-empty p{margin-top:3px;color:var(--text-soft);font-size:14px}
.fresh-start-loading,.fresh-start-error{display:grid;place-items:center;align-content:center;min-height:420px;text-align:center}.fresh-start-loading h2,.fresh-start-error h2{margin:13px 0 0;font-size:22px}.fresh-start-error p{max-width:520px;color:var(--text-soft);font-size:14px}.fresh-start-error .button{margin-top:10px}
.fresh-start-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.fresh-start-heading h1{margin:4px 0 0;font-size:clamp(30px,3.5vw,42px);line-height:1.12;color:#03045f}
.fresh-start-continue{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:25px;min-height:300px;padding:38px 42px;border-radius:22px;color:#fff;background:linear-gradient(128deg,#050794,#03045f);box-shadow:0 20px 45px rgba(3,4,95,.18)}
.fresh-start-continue h2{margin:17px 0 3px;font-size:clamp(29px,4vw,44px);line-height:1.12}.fresh-start-continue p{margin:0;color:rgba(255,255,255,.72);font-size:15px}.fresh-start-progress{display:grid;grid-template-columns:minmax(0,440px) auto;align-items:center;gap:12px;margin:24px 0}.fresh-start-progress>span{height:8px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.2)}.fresh-start-progress i{display:block;height:100%;border-radius:inherit;background:#fbaf1b}.fresh-start-progress strong{font-size:14px}.fresh-start-continue__stat{display:grid;place-items:center;align-content:center;width:190px;height:190px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.08);text-align:center}.fresh-start-continue__stat strong{font-size:52px;line-height:1}.fresh-start-continue__stat span{max-width:130px;margin-top:8px;color:rgba(255,255,255,.75);font-size:14px}
.fresh-start-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px}.fresh-start-summary article,.fresh-start-summary>button{min-height:98px;padding:18px;border:1px solid var(--border);border-radius:15px;background:#fff}.fresh-start-summary article{display:flex;flex-direction:column;justify-content:center}.fresh-start-summary article span{font-size:14px;font-weight:600;color:var(--text-soft)}.fresh-start-summary article strong{margin-top:3px;font-size:27px;color:#03045f}.fresh-start-summary>button{display:flex;align-items:center;justify-content:center;gap:8px;color:#050794;font:700 14px Poppins,Arial,sans-serif;cursor:pointer}.fresh-start-summary>button:hover{border-color:#050794;background:#f2f6ff}
.learner-production-empty{min-height:260px}.learner-production-empty p{margin:3px 0 16px;color:var(--text-soft);font-size:14px}
@media(max-width:900px){.fresh-start-hero{grid-template-columns:1fr;padding:36px}.fresh-start-hero__mark{position:absolute;right:-55px;bottom:-65px;opacity:.42}.fresh-start-steps{grid-template-columns:1fr}.fresh-start-steps article{min-height:0}.fresh-start-summary{grid-template-columns:repeat(3,1fr)}.fresh-start-summary>button{grid-column:1/-1}.fresh-start-continue{grid-template-columns:1fr}.fresh-start-continue__stat{display:none}}
@media(max-width:620px){.fresh-start-page{gap:14px}.fresh-start-hero{min-height:360px;padding:28px 23px;border-radius:19px}.fresh-start-hero h1{font-size:35px}.fresh-start-hero p{font-size:16px}.fresh-start-actions{display:grid}.fresh-start-actions .button{width:100%;justify-content:center}.fresh-start-empty{grid-template-columns:46px 1fr;padding:17px}.fresh-start-empty .button{grid-column:1/-1;width:100%}.fresh-start-heading{align-items:stretch;flex-direction:column}.fresh-start-heading .button{width:100%}.fresh-start-continue{padding:28px 23px}.fresh-start-summary{grid-template-columns:1fr 1fr}.fresh-start-summary article:nth-child(3){grid-column:1/-1}}

/* Production admin workspace */
.production-workspace-state{min-height:360px;padding:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.production-workspace-state h1{margin:0;color:var(--utiva-blue-dark);font-size:30px;line-height:1.15}.production-workspace-state p{max-width:560px;margin:0;color:var(--text-soft);font-size:15px;line-height:1.55}.production-workspace-state>.button{margin-top:8px}.production-workspace-state .is-spinning{color:var(--utiva-blue);animation:spin 1s linear infinite}
.production-admin-dashboard .metric-card{min-height:132px}.production-admin-empty{min-height:190px;padding:28px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:20px}.production-admin-empty>span{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:var(--utiva-blue);background:#eef1ff}.production-admin-empty h2{margin:3px 0 5px;color:var(--utiva-blue-dark);font-size:24px;line-height:1.2}.production-admin-empty p{margin:0;color:var(--text-soft);font-size:14px;line-height:1.5}.production-admin-empty>div:last-child{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.production-admin-quick{display:flex;flex-direction:column}.production-admin-quick>button{width:100%;min-height:66px;padding:12px 4px;border:0;border-top:1px solid var(--border);display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;color:var(--text);text-align:left;background:transparent;cursor:pointer}.production-admin-quick>button:hover{color:var(--utiva-blue);background:#f8f9ff}.production-admin-quick>button>svg:first-child{width:34px;height:34px;padding:8px;border-radius:10px;color:var(--utiva-blue);background:#eef1ff}.production-admin-quick>button span{display:grid;gap:3px}.production-admin-quick>button strong{font-size:14px}.production-admin-quick>button small{color:var(--text-soft);font-size:12px}.production-admin-orgs .data-table__header,.production-admin-orgs .data-table__row{grid-template-columns:minmax(240px,1.8fr) .7fr .7fr .7fr}
@media(max-width:820px){.production-admin-empty{grid-template-columns:48px 1fr}.production-admin-empty>div:last-child{grid-column:1/-1;justify-content:flex-start}.production-admin-orgs .data-table__header{display:none}.production-admin-orgs .data-table__row{grid-template-columns:1fr 1fr}.production-admin-orgs .data-table__row>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.production-workspace-state{min-height:300px;padding:30px 20px}.production-workspace-state h1{font-size:25px}.production-admin-empty{padding:22px;grid-template-columns:1fr}.production-admin-empty>span{width:48px;height:48px}.production-admin-empty h2{font-size:21px}.production-admin-empty>div:last-child{grid-column:auto;display:grid}.production-admin-empty .button{width:100%}.production-admin-orgs .data-table__row{grid-template-columns:1fr}}
