@layer reset, base, components, modules, shell, identity, responsive, utilities;
@layer shell {
  [hidden] {
    display:none;
  }
  * {
    box-sizing:border-box;
  }
  body {
    margin:0;
    background:var(--uol-canvas);
    color:var(--uol-ink);
    font-family:var(--uol-font-sans);
  }
  .global-shell {
    position:sticky;
    top:0;
    z-index: var(--uol-z-nav);
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--uol-border);
    box-shadow:0 4px 18px rgba(39,20,53,.06);
    backdrop-filter:blur(14px);
  }
  .global-shell-inner {
    max-width:1720px;
    margin:auto;
    min-height:78px;
    padding: var(--uol-space-2) var(--uol-space-4);
    display:flex;
    align-items:center;
    gap: var(--uol-space-4);
  }
  .shell-brand {
    display:flex;
    align-items:center;
    gap: var(--uol-space-3);
    text-decoration:none;
    color:var(--uol-ink);
    min-width:225px;
  }
  .shell-logo-box {
    width:84px;
    height:48px;
    padding: var(--uol-space-1) var(--uol-space-2);
    background:linear-gradient(145deg,var(--uol-blue-purple),var(--uol-blue-purple));
    border-radius: var(--uol-radius-sm);
    display:flex;
    align-items:center;
  }
  .shell-logo-box img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .shell-brand-copy strong {
    display:block;
    color:var(--uol-purple);
    font-size: var(--uol-text-base);
  }
  .shell-brand-copy small {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    margin-top: var(--uol-space-1);
  }
  .primary-nav {
    display:flex;
    align-items:center;
    gap: var(--uol-space-1);
    flex:1;
    min-width:0;
    overflow:auto;
    scrollbar-width:none;
  }
  .primary-nav::-webkit-scrollbar {
    display:none;
  }
  .primary-nav a {
    min-height: var(--uol-control-h);
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 0 var(--uol-space-2);
    border-radius: var(--uol-radius-sm);
    text-decoration:none;
    color:#5b5360;
    font-size: var(--uol-text-xs);
    font-weight:800;
    white-space:nowrap;
  }
  .primary-nav a:hover {
    background:#f2edf6;
    color:var(--uol-purple);
  }
  .primary-nav a.active {
    background:var(--uol-purple);
    color:#fff;
    box-shadow:0 7px 17px rgba(84,36,119,.18);
  }
  .shell-utility {
    display:flex;
    align-items:center;
    gap: var(--uol-space-1);
  }
  .global-ay,.utility-link,.user-chip {
    min-height:38px;
    border:1px solid var(--uol-border);
    background:#fff;
    border-radius: var(--uol-radius-sm);
    padding: 0 var(--uol-space-2);
    font-size: var(--uol-text-xs);
    font-weight:800;
    color:var(--uol-purple);
  }
  .utility-link {
    display:flex;
    align-items:center;
    text-decoration:none;
  }
  .user-chip {
    display:flex;
    align-items:center;
    gap: var(--uol-space-2);
    cursor:pointer;
  }
  .user-chip>span:first-child {
    width:24px;
    height:24px;
    border-radius: var(--uol-radius-sm);
    background:var(--uol-purple);
    color:#fff;
    display:grid;
    place-items:center;
    font-size: var(--uol-text-xs);
  }
  .nav-badge {
    min-width:18px;
    height:18px;
    padding: 0 var(--uol-space-1);
    margin-left: var(--uol-space-1);
    border-radius: var(--uol-radius-pill);
    background:var(--uol-red);
    color:#fff;
    display:inline-grid;
    place-items:center;
    font-size: var(--uol-text-xs);
  }
  .nav-toggle {
    display:none;
    border:1px solid var(--uol-border);
    background:#fff;
    border-radius: var(--uol-radius-sm);
    width:42px;
    height:42px;
    font-size: var(--uol-text-lg);
  }
  .hero-logo {
    width:min(360px,33vw);
    position:relative;
    z-index: var(--uol-z-raised);
  }
  .hero-logo img {
    width:100%;
    display:block;
  }
  .platform-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap: var(--uol-space-4);
  }
  .platform-card {
    display:flex;
    flex-direction:column;
    min-height:235px;
    padding: var(--uol-space-5);
    border-radius: var(--uol-radius-md);
    background:#fff;
    border:1px solid var(--uol-border);
    box-shadow:var(--uol-shadow-md);
    text-decoration:none;
    color:var(--uol-ink);
    /* `transition:.2s` is `transition-property: all`, and the card is a link, so the shared
       focus ring was animated in from `outline-width: 0` — the ring arrived 200ms after the
       focus that asked for it. Naming the three properties the hover state actually changes
       keeps the lift and leaves the ring alone. */
    transition: transform .2s, border-color .2s, box-shadow .2s;
  }
  .platform-card:hover {
    transform:translateY(-4px);
    border-color:#cab8d6;
    box-shadow:0 18px 40px rgba(47,22,65,.13);
  }
  .platform-icon {
    width:46px;
    height:46px;
    border-radius: var(--uol-radius-sm);
    background:var(--uol-purple-15);
    color:var(--uol-purple);
    display:grid;
    place-items:center;
    font-weight:950;
    font-size: var(--uol-text-lg);
  }
  .platform-card h2 {
    margin: var(--uol-space-4) 0 var(--uol-space-2);
    color:var(--uol-purple);
    font-size: var(--uol-text-lg);
  }
  .platform-card p {
    margin:0;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    line-height:1.6;
  }
  .platform-card-foot {
    margin-top:auto;
    padding-top: var(--uol-space-4);
    display:flex;
    justify-content:space-between;
    gap: var(--uol-space-2);
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    font-weight:850;
  }
  .platform-kpis {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap: var(--uol-space-3);
    margin-bottom: var(--uol-space-4);
  }
  .platform-kpi {
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-4);
    box-shadow:var(--uol-shadow-md);
  }
  .platform-kpi span {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:850;
  }
  .platform-kpi strong {
    display:block;
    margin-top: var(--uol-space-2);
    color:var(--uol-purple);
    font-size: var(--uol-text-xl);
  }
  .platform-kpi small {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    margin-top: var(--uol-space-1);
  }
  .module-hero {
    max-width:1540px;
    margin:0 auto;
    padding: var(--uol-space-5) var(--uol-space-5) 0;
  }
  .module-hero-card {
    background:linear-gradient(135deg,var(--uol-purple),var(--uol-blue-purple));
    color:#fff;
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-5) var(--uol-space-5);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: var(--uol-space-5);
    box-shadow:0 16px 36px rgba(47,19,65,.18);
  }
  .module-eyebrow {
    font-size: var(--uol-text-xs);
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:#d8c6e6;
  }
  .module-hero h1 {
    margin: var(--uol-space-1) 0;
    font-size:clamp(24px,3vw,36px);
  }
  .module-hero p {
    margin:0;
    color:#e8dbef;
    font-size: var(--uol-text-xs);
    max-width:800px;
    line-height:1.55;
  }
  .module-actions {
    display:flex;
    gap: var(--uol-space-2);
    align-items:center;
    flex-wrap:wrap;
  }
  .module-workspace {
    display:grid;
    grid-template-columns:238px minmax(0,1fr);
    gap: var(--uol-space-4);
    align-items:start;
    margin-top: var(--uol-space-4);
  }
  /* The sticky offset lives with the rule that decides when the sidebar is sticky at all — the
     responsive layer, which is later and would otherwise silently win. Everything that has to sit
     clear of the global bar reads the bar's measured height rather than guessing it: seven places
     guessed — 96, 86, 84, 82, 72, 70 and 68 — and the bar is 92px from 769px up and 69px below that,
     so each one either tucked under the nav or left a gap. */
  .module-sidebar {
    position:sticky;
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-2);
    box-shadow:var(--uol-shadow-md);
    max-height:calc(100vh - 114px);
    overflow:auto;
  }
  .module-sidebar-title {
    padding: var(--uol-space-2) var(--uol-space-3) var(--uol-space-2);
    font-size: var(--uol-text-xs);
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:900;
    color:var(--uol-muted);
  }
  .module-sidebar .tabs {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
    margin:0;
    border:0;
    overflow:visible;
  }
  .module-sidebar .tab {
    width:100%;
    text-align:left;
    border:0;
    border-radius: var(--uol-radius-sm);
    padding: var(--uol-space-2) var(--uol-space-3);
    color:#615a65;
    font-size: var(--uol-text-xs);
  }
  .module-sidebar .tab.active {
    background:#ede5f3;
    color:var(--uol-purple);
    box-shadow:inset 3px 0 0 var(--uol-purple);
  }
  .module-content {
    min-width:0;
  }
  .page-anchor-nav {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
  }
  .page-anchor-nav a {
    padding: var(--uol-space-2) var(--uol-space-3);
    border-radius: var(--uol-radius-sm);
    color:#615a65;
    text-decoration:none;
    font-size: var(--uol-text-xs);
    font-weight:750;
  }
  .page-anchor-nav a:hover,.page-anchor-nav a.active {
    background:#ede5f3;
    color:var(--uol-purple);
    box-shadow:inset 3px 0 0 var(--uol-purple);
  }
  .page-footer {
    max-width:1540px;
    margin: var(--uol-space-5) auto 0;
    padding: var(--uol-space-4) var(--uol-space-5) var(--uol-space-6);
    text-align:center;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .login-field {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
    margin-top: var(--uol-space-3);
  }
  .login-field label {
    font-size: var(--uol-text-xs);
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--uol-muted);
  }
  .login-field input {
    padding: var(--uol-space-3);
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-sm);
    font:inherit;
  }
  .platform-btn {
    border:0;
    border-radius: var(--uol-radius-sm);
    padding: var(--uol-space-3) var(--uol-space-4);
    font-weight:850;
    cursor:pointer;
    background:var(--uol-purple);
    color:#fff;
  }
  .platform-btn.secondary {
    background:#fff;
    color:var(--uol-purple);
    border:1px solid var(--uol-border);
  }
  .auth-user-panel {
    position:fixed;
    z-index: var(--uol-z-overlay);
    right:18px;
    top:calc(var(--cortex-shell-height, 92px) + var(--uol-space-1));
    width:300px;
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-4);
    box-shadow:0 20px 45px rgba(31,17,40,.2);
    display:none;
  }
  .auth-user-panel.open {
    display:block;
  }
  .auth-user-panel strong {
    display:block;
    color:var(--uol-purple);
  }
  .role-chips {
    display:flex;
    gap: var(--uol-space-1);
    flex-wrap:wrap;
    margin: var(--uol-space-2) 0;
  }
  .role-chip {
    font-size: var(--uol-text-xs);
    padding: var(--uol-space-1) var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:var(--uol-purple-15);
    color:var(--uol-purple);
    font-weight:850;
  }
  /* Width, gutters and vertical rhythm come from the shared page column in
     cortex-responsive.css?v=d81b844b7fcd. Declaring them here as well is what produced 1520px on this
     wrapper, 1600px on the next and 1480px on the one after. */
  .simple-card {
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-5);
    box-shadow:var(--uol-shadow-md);
  }
  .simple-card h2,.simple-card h3 {
    color:var(--uol-purple);
  }
  .simple-table {
    width:100%;
    border-collapse:collapse;
    font-size: var(--uol-text-xs);
  }
  .simple-table th,.simple-table td {
    padding: var(--uol-space-2);
    border-bottom:1px solid var(--uol-border);
    text-align:left;
    vertical-align:top;
  }
  .simple-table th {
    background:#f5f0f8;
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  .status-pill {
    display:inline-block;
    padding: var(--uol-space-1) var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:var(--uol-purple-15);
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    font-weight:850;
  }
  .section-toolbar {
    display:flex;
    gap: var(--uol-space-2);
    align-items:center;
    flex-wrap:wrap;
    margin: 0 0 var(--uol-space-4);
  }
  .section-toolbar input,.section-toolbar select {
    padding: var(--uol-space-2);
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-sm);
    background:#fff;
  }
  .access-denied {
    min-height:70vh;
    display:grid;
    place-items:center;
    padding: var(--uol-space-6);
  }
  .access-denied-card {
    max-width:620px;
    text-align:center;
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-7);
    box-shadow:var(--uol-shadow-md);
  }
  .access-denied-card h1 {
    color:var(--uol-purple);
  }
  .budget-page .container {
    max-width:1540px;
  }
  .budget-page #budget.tab-panel {
    display:block;
  }
  .budget-page .budget-banner {
    scroll-margin-top:100px;
  }
  @media(max-width: 1024px) {
    .global-shell-inner {
      gap: var(--uol-space-3);
    }
    .primary-nav a {
      padding: 0 var(--uol-space-3);
      font-size: var(--uol-text-xs);
    }
    .module-workspace {
      grid-template-columns:205px minmax(0,1fr);
    }
  }
  /* The collapsed navigation belongs to the phone and tablet bands. `cortex-responsive.css?v=d81b844b7fcd` owns
     it — the sheet, the toggle and the compact utility cluster — and only the stacking direction of
     the open sheet is left here, because the sheet is the one place a column is wanted. Everything
     else that used to sit in a `max-width: 1024px` block here (display, order, width, the toggle,
     and `display:none` on the whole utility cluster) is superseded: the responsive layer is later,
     so from 769px up it restored the inline bar and hid the toggle, but it never reversed
     `flex-direction: column` or the hidden utility cluster. The laptop band was left with a visible
     five-row vertical nav — a 257px top bar on every route — and no reachable account menu,
     academic year or command trigger, with the toggle that would have revealed them hidden too. */
  @media(max-width: 768px) {
    .primary-nav {
      flex-direction:column;
      align-items:stretch;
    }
    .primary-nav a {
      justify-content:flex-start;
    }
  }
  @media(max-width: 1024px) {
    .module-hero-card {
      align-items:flex-start;
      flex-direction:column;
    }
    .module-actions {
      justify-content:flex-start;
    }
    .module-workspace {
      display:block;
    }
    .module-sidebar {
      position:static;
      margin-bottom: var(--uol-space-3);
      padding:0;
      border:0;
      box-shadow:none;
      background:transparent;
      max-height:none;
    }
    /* Below the sidebar breakpoint the section list becomes a horizontally scrollable
       row of tabs. It used to be hidden here in favour of a parallel `<select>`, which
       meant two controls for one job and a tab set that keyboard users could not reach. */
    .module-sidebar .tabs,.page-anchor-nav {
      flex-direction:row;
      overflow-x:auto;
      gap: var(--uol-space-2);
      padding-bottom: var(--uol-space-1);
      scrollbar-width:thin;
      -webkit-overflow-scrolling:touch;
    }
    .module-sidebar .tab,.page-anchor-nav .tab {
      width:auto;
      flex:0 0 auto;
      min-height:var(--uol-control-h);
      border:1px solid var(--uol-purple-30);
      white-space:nowrap;
    }
    .module-sidebar .tab.active,.page-anchor-nav .tab.active {
      box-shadow:none;
      border-color:var(--uol-purple);
    }
  }
  @media(max-width: 768px) {
    .global-shell-inner {
      padding: var(--uol-space-2) var(--uol-space-3);
    }
    .shell-brand small {
      display:none;
    }
    .module-hero {
      padding: var(--uol-space-4) var(--uol-space-3) 0;
    }
    .module-hero-card {
      padding: var(--uol-space-4) var(--uol-space-4);
      border-radius: var(--uol-radius-md);
    }
    .module-actions {
      width:100%;
    }
    .module-actions .btn {
      flex:1;
      justify-content:center;
    }
    .empty-state-page {
      padding: var(--uol-space-4) var(--uol-space-3) var(--uol-space-7);
    }
  }
  @media print {
    .global-shell,.module-hero,.module-sidebar,.page-footer {
      display:none;
    }
    .module-workspace {
      display:block;
    }
    .module-content {
      width:100%;
    }
  }
  @media(max-width: 1024px) {
    .primary-nav {
      gap: var(--uol-space-1);
    }
    .primary-nav a {
      padding: 0 var(--uol-space-2);
    }
  }
  /* UoL Cortex 2.0 application layer */
  @font-face {
    font-family: var(--uol-font-sans);
    src:url("/assets/fonts/Commissioner-Regular.ttf?v=7b7023beb284") format("truetype");
    font-style:normal;
    font-weight:400;
    font-display:swap;
  }
  @font-face {
    font-family: var(--uol-font-sans);
    src:url("/assets/fonts/Commissioner-SemiBold.ttf?v=e733e6dac5d1") format("truetype");
    font-style:normal;
    font-weight:600 800;
    font-display:swap;
  }
  @font-face {
    font-family: var(--uol-font-sans);
    src:url("/assets/fonts/Commissioner-Bold.ttf?v=0bfebd4384f7") format("truetype");
    font-style:normal;
    font-weight:900;
    font-display:swap;
  }
  html {
    scroll-padding-top:calc(var(--cortex-shell-height, 92px) + var(--uol-space-1));
  }
  body {
    font-family: var(--uol-font-sans);
    background:var(--uol-canvas);
  }
  button,input,select,textarea {
    font:inherit;
  }
  a,button,input,select,textarea {
    outline-offset:3px;
  }
  :focus-visible {
    outline:3px solid color-mix(in srgb,var(--uol-blue-purple) 70%,transparent);
  }
  .sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin: var(--uol-space-1);
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  /* The skip link had no styling at all, so it rendered as a plain visible sentence above the top
     bar on every route — 24px of stray text that also pushed the bar down the page. It behaves like
     every other skip link now: out of the way until it takes focus, then a real target. */
  .cx-skip {
    position:absolute;
    left: var(--uol-space-2);
    top: var(--uol-space-2);
    z-index: var(--uol-z-overlay);
    display:inline-flex;
    align-items:center;
    min-height: var(--uol-control-h);
    padding: 0 var(--uol-space-3);
    border-radius: var(--uol-radius-sm);
    background: var(--uol-purple);
    color:#fff;
    text-decoration:none;
    transform:translateY(calc(-100% - var(--uol-space-4)));
  }
  .cx-skip:focus-visible {
    transform:none;
  }
  .global-shell {
    height:auto;
    background:rgba(255,255,255,.985);
  }
  .global-shell-inner {
    max-width:none;
    min-height:72px;
    padding: var(--uol-space-2) var(--uol-space-4);
    gap: var(--uol-space-3);
  }
  .shell-brand {
    min-width:215px;
  }
  .shell-logo-box {
    width:76px;
    height:46px;
    border-radius: var(--uol-radius-sm);
  }
  .shell-brand-copy strong {
    font-size: var(--uol-text-base);
    letter-spacing:-.02em;
  }
  .shell-brand-copy small {
    max-width:125px;
    font-size: var(--uol-text-xs);
    line-height:1.2;
  }
  .primary-nav {
    gap: var(--uol-space-1);
  }
  .primary-nav a {
    min-height:44px;
    gap: var(--uol-space-2);
    padding: 0 var(--uol-space-2);
    font-size: var(--uol-text-xs);
  }
  .primary-nav .nav-icon {
    display:grid;
    place-items:center;
    width:23px;
    height:23px;
    border-radius: var(--uol-radius-sm);
    background:var(--uol-purple-15);
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    font-weight:900;
  }
  .primary-nav a.active .nav-icon {
    background:#ffffff22;
    color:#fff;
  }
  .shell-utility {
    gap: var(--uol-space-2);
  }
  .command-trigger {
    min-height:38px;
    display:flex;
    align-items:center;
    gap: var(--uol-space-2);
    border:1px solid var(--uol-border);
    background:#fff;
    color:var(--uol-purple);
    border-radius: var(--uol-radius-sm);
    padding: 0 var(--uol-space-2);
    cursor:pointer;
  }
  .command-trigger span {
    font-size: var(--uol-text-base);
  }
  .command-trigger strong {
    font-size: var(--uol-text-xs);
  }
  .command-trigger kbd {
    font-size: var(--uol-text-xs);
    padding: var(--uol-space-1) var(--uol-space-1);
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-sm);
    background:#faf9fb;
    color:var(--uol-muted);
  }
  .status-dot-link {
    display:grid;
    place-items:center;
    width:30px;
    height:38px;
  }
  .status-dot {
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--uol-ink-on-green);
    box-shadow:0 0 0 4px rgba(19,122,75,.11);
  }
  .status-dot.offline {
    background:var(--uol-ink-on-orange);
    box-shadow:0 0 0 4px rgba(155,91,0,.12);
  }
  .global-ay,.utility-link,.user-chip {
    border-color:var(--uol-border);
  }
  .user-chip {
    max-width:140px;
  }
  .user-chip #userLabel {
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .module-hero {
    padding-top: var(--uol-space-5);
  }
  .module-hero-card {
    background:linear-gradient(125deg,#68419d 0%,#42205f 68%,#2f1646 100%);
    border-radius: var(--uol-radius-md);
    box-shadow:0 16px 38px rgba(47,22,70,.18);
  }
  .module-hero-card:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 82% -30%,rgba(255,255,255,.16),transparent 32%);
    pointer-events:none;
  }
  .module-hero-card {
    position:relative;
    overflow:hidden;
  }
  .module-hero-card>* {
    position:relative;
    z-index: var(--uol-z-raised);
  }
  .favourite-btn {
    min-height:38px;
    display:inline-flex;
    align-items:center;
    gap: var(--uol-space-2);
    border:1px solid rgba(255,255,255,.35);
    background:rgba(255,255,255,.1);
    color:#fff;
    border-radius: var(--uol-radius-sm);
    padding: 0 var(--uol-space-3);
    font-size: var(--uol-text-xs);
    font-weight:800;
    cursor:pointer;
  }
  .favourite-btn:hover,.favourite-btn.saved {
    background:#fff;
    color:var(--uol-purple);
  }
  .cortex-breadcrumbs,.hub-breadcrumbs {
    display:flex;
    align-items:center;
    gap: var(--uol-space-2);
    margin: 0 0 var(--uol-space-4);
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .cortex-breadcrumbs a,.hub-breadcrumbs a {
    color:var(--uol-purple);
    font-weight:800;
    text-decoration:none;
  }
  .cortex-breadcrumbs strong {
    color:var(--uol-ink);
    font-weight:700;
  }
  .cortex-live {
    position:fixed;
    z-index: var(--uol-z-toast);
    left:50%;
    bottom:24px;
    transform:translate(-50%,130%);
    max-width:min(620px,calc(100vw - 30px));
    background:var(--uol-ink);
    color:#fff;
    border-radius: var(--uol-radius-sm);
    padding: var(--uol-space-3) var(--uol-space-4);
    box-shadow:0 14px 34px rgba(0,0,0,.24);
    font-size: var(--uol-text-xs);
    font-weight:700;
    transition:transform .18s;
  }
  .cortex-live.show {
    transform:translate(-50%,0);
  }
  .cortex-command[hidden] {
    display:none;
  }
  .cortex-command {
    position:fixed;
    inset:0;
    z-index: var(--uol-z-drawer);
    display:grid;
    place-items:start center;
    padding: 9vh var(--uol-space-4) var(--uol-space-4);
  }
  .cortex-command-backdrop {
    position:absolute;
    inset:0;
    border:0;
    background:rgba(28,16,35,.56);
    backdrop-filter:blur(6px);
  }
  .cortex-command-dialog {
    position:relative;
    width:min(720px,100%);
    max-height:min(720px,82vh);
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid rgba(255,255,255,.6);
    border-radius: var(--uol-radius-md);
    box-shadow:0 28px 90px rgba(18,9,24,.35);
    overflow:hidden;
  }
  .cortex-command-input-wrap {
    display:flex;
    align-items:center;
    gap: var(--uol-space-3);
    padding: var(--uol-space-3) var(--uol-space-4);
    border-bottom:1px solid var(--uol-border);
  }
  .cortex-command-input-wrap>span {
    font-size: var(--uol-text-xl);
    color:var(--uol-purple);
  }
  .cortex-command-input-wrap input {
    flex:1;
    min-width:0;
    border:0;
    outline:0;
    font-size: var(--uol-text-base);
    color:var(--uol-ink);
  }
  .cortex-command-input-wrap kbd {
    border:1px solid var(--uol-border);
    background:#faf9fb;
    color:var(--uol-muted);
    border-radius: var(--uol-radius-sm);
    padding: var(--uol-space-1) var(--uol-space-2);
    font-size: var(--uol-text-xs);
  }
  .cortex-command-meta {
    display:flex;
    justify-content:space-between;
    gap: var(--uol-space-3);
    padding: var(--uol-space-2) var(--uol-space-4);
    background:#faf9fb;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .cortex-command-meta strong {
    color:var(--uol-purple);
  }
  .cortex-command-results {
    padding: var(--uol-space-2);
    overflow:auto;
  }
  .cortex-command-results a {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap: var(--uol-space-3);
    padding: var(--uol-space-2);
    border-radius: var(--uol-radius-sm);
    text-decoration:none;
    color:var(--uol-ink);
  }
  .cortex-command-results a:hover,.cortex-command-results a.active {
    background:var(--uol-purple-15);
  }
  .command-mark {
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius: var(--uol-radius-sm);
    background:#fff;
    border:1px solid var(--uol-border);
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    font-weight:900;
  }
  .cortex-command-results a span:nth-child(2) {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
  }
  .cortex-command-results small {
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    text-transform:uppercase;
    letter-spacing:.07em;
    font-weight:800;
  }
  .cortex-command-results strong {
    font-size: var(--uol-text-xs);
  }
  .cortex-command-results em {
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    font-style:normal;
  }
  .command-empty {
    padding: var(--uol-space-7);
    text-align:center;
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
    color:var(--uol-muted);
  }
  .command-open {
    overflow:hidden;
  }
  .auth-user-panel {
    width:330px;
    border-radius: var(--uol-radius-md);
  }
  .user-panel-head {
    display:flex;
    align-items:center;
    gap: var(--uol-space-3);
    padding-bottom: var(--uol-space-3);
    border-bottom:1px solid var(--uol-border);
  }
  .user-panel-head>span {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius: var(--uol-radius-sm);
    background:var(--uol-purple);
    color:#fff;
    font-size: var(--uol-text-xs);
    font-weight:900;
  }
  .user-panel-head div {
    min-width:0;
  }
  .user-panel-head strong,.user-panel-head small {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .auth-user-panel small {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    margin-top: var(--uol-space-1);
  }
  .user-panel-links {
    display:flex;
    flex-direction:column;
    border-top:1px solid var(--uol-border);
    border-bottom:1px solid var(--uol-border);
    margin: var(--uol-space-3) 0;
    padding: var(--uol-space-2) 0;
  }
  .user-panel-links a {
    padding: var(--uol-space-2) var(--uol-space-1);
    border-radius: var(--uol-radius-sm);
    color:var(--uol-ink);
    text-decoration:none;
    font-size: var(--uol-text-xs);
    font-weight:700;
  }
  .user-panel-links a:hover {
    background:var(--uol-purple-15);
    color:var(--uol-purple);
  }
  /* .cortex-home resolves through the shared page column; see cortex-responsive.css?v=d81b844b7fcd. */
  .home-context-row {
    display:flex;
    gap: var(--uol-space-2);
    flex-wrap:wrap;
    margin-top: var(--uol-space-5);
  }
  .home-context-row span {
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding: 0 var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:rgba(255,255,255,.12);
    font-size: var(--uol-text-xs);
    font-weight:800;
  }
  .home-attention {
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-lg);
    padding: var(--uol-space-5);
    box-shadow:var(--uol-shadow-md);
  }
  .home-attention h2 {
    font-size: var(--uol-text-base);
    color:var(--uol-purple);
    margin: 0 0 var(--uol-space-1);
  }
  .home-attention>p {
    font-size: var(--uol-text-xs);
    color:var(--uol-muted);
    margin: 0 0 var(--uol-space-4);
  }
  .home-kpi-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap: var(--uol-space-2);
  }
  .home-mini-kpi {
    padding: var(--uol-space-3);
    border-radius: var(--uol-radius-sm);
    background:#faf8fb;
    border:1px solid var(--uol-border);
  }
  .home-mini-kpi span {
    display:block;
    font-size: var(--uol-text-xs);
    color:var(--uol-muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:800;
  }
  .home-mini-kpi strong {
    display:block;
    margin-top: var(--uol-space-1);
    color:var(--uol-purple);
    font-size: var(--uol-text-xl);
  }
  .home-mini-kpi small {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    margin-top: var(--uol-space-1);
  }
  .home-section {
    margin-top: var(--uol-space-4);
  }
  .home-section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap: var(--uol-space-4);
    margin: 0 0 var(--uol-space-2);
  }
  .home-section-head h2 {
    margin:0;
    color:var(--uol-purple);
    font-size: var(--uol-text-lg);
  }
  .home-section-head p {
    margin: var(--uol-space-1) 0 0;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .home-section-head a {
    font-size: var(--uol-text-xs);
    font-weight:800;
    color:var(--uol-purple);
    text-decoration:none;
  }
  .home-module-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap: var(--uol-space-3);
  }
  .home-module-card {
    min-height:126px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:start;
    gap: var(--uol-space-3);
    padding: var(--uol-space-4);
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    background:#fff;
    color:var(--uol-ink);
    text-decoration:none;
    box-shadow:var(--uol-shadow-md);
    transition: transform .16s, border-color .16s;
  }
  .home-module-card:hover {
    transform:translateY(-3px);
    border-color:#cab8d8;
  }
  .home-module-icon {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius: var(--uol-radius-sm);
    background:var(--uol-purple-15);
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
    font-weight:900;
  }
  .home-module-card strong {
    display:block;
    color:var(--uol-purple);
    font-size: var(--uol-text-xs);
  }
  .home-module-card small {
    display:block;
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    line-height:1.4;
    margin-top: var(--uol-space-1);
  }
  .home-two-column {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap: var(--uol-space-4);
  }
  .home-panel {
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-4);
    box-shadow:var(--uol-shadow-md);
  }
  .home-panel h3 {
    margin: 0 0 var(--uol-space-1);
    color:var(--uol-purple);
    font-size: var(--uol-text-sm);
  }
  .home-panel>p {
    margin: 0 0 var(--uol-space-3);
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .home-list {
    display:flex;
    flex-direction:column;
  }
  .home-list>a {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap: var(--uol-space-2);
    padding: var(--uol-space-2) 0;
    border-top:1px solid var(--uol-border);
    text-decoration:none;
    color:var(--uol-ink);
    font-size: var(--uol-text-xs);
  }
  .home-list>a:first-child {
    border-top:0;
  }
  .home-list>a span:first-child {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-1);
  }
  .home-list strong {
    font-size: var(--uol-text-xs);
  }
  .home-list small,.home-list time {
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
  }
  .home-personal-list a {
    grid-template-columns:24px minmax(0,1fr) auto;
  }
  .home-personal-list a>span:first-child {
    color:var(--uol-purple);
    font-size: var(--uol-text-sm);
  }
  .home-empty {
    padding: var(--uol-space-5) var(--uol-space-2);
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    text-align:center;
    background:#faf9fb;
    border-radius: var(--uol-radius-sm);
  }
  .settings-grid,.help-grid,.release-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap: var(--uol-space-3);
  }
  .settings-card,.help-card,.release-card {
    background:#fff;
    border:1px solid var(--uol-border);
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-4);
    box-shadow:var(--uol-shadow-md);
  }
  .settings-card h2,.help-card h2,.release-card h2 {
    margin: 0 0 var(--uol-space-1);
    color:var(--uol-purple);
    font-size: var(--uol-text-sm);
  }
  .settings-card p,.help-card p,.release-card p {
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    line-height:1.5;
  }
  .choice-row {
    display:flex;
    gap: var(--uol-space-2);
    flex-wrap:wrap;
  }
  .choice-row button {
    border:1px solid var(--uol-border);
    background:#fff;
    color:var(--uol-purple);
    border-radius: var(--uol-radius-sm);
    padding: var(--uol-space-2) var(--uol-space-3);
    font-size: var(--uol-text-xs);
    font-weight:800;
    cursor:pointer;
  }
  .choice-row button.active {
    background:var(--uol-purple);
    color:#fff;
  }
  .role-matrix-wrap {
    overflow:auto;
  }
  .role-matrix {
    min-width:0;
  }
  .role-matrix td:not(:first-child),.role-matrix th:not(:first-child) {
    text-align:center;
  }
  .matrix-yes {
    color:var(--uol-ink-on-green);
    font-weight:900;
  }
  .matrix-view {
    color:var(--uol-purple);
    font-weight:800;
  }
  .matrix-no {
    color:#aaa;
  }
  .release-timeline {
    display:flex;
    flex-direction:column;
    gap: var(--uol-space-3);
  }
  .release-item {
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    gap: var(--uol-space-3);
    padding: var(--uol-space-3) 0;
    border-top:1px solid var(--uol-border);
  }
  .release-item:first-child {
    border-top:0;
  }
  .release-version {
    font-size: var(--uol-text-xs);
    color:var(--uol-purple);
    font-weight:900;
  }
  .release-item ul {
    margin: var(--uol-space-2) 0 0;
    padding-left: var(--uol-space-4);
    color:var(--uol-muted);
    font-size: var(--uol-text-xs);
    line-height:1.5;
  }
  .qa-chip-row {
    display:flex;
    flex-wrap:wrap;
    gap: var(--uol-space-2);
  }
  .qa-chip {
    display:inline-flex;
    align-items:center;
    gap: var(--uol-space-1);
    padding: var(--uol-space-2) var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:#edf8f2;
    color:var(--uol-ink-on-green);
    font-size: var(--uol-text-xs);
    font-weight:800;
  }
  .qa-chip:before {
    content:"✓";
  }
  /* Studio stability contract: one scrolling document, independently contained stage */
  .cm-studio,.studio-pro-shell,.pf-studio {
    min-width:0;
    max-width:100%;
    contain:layout style;
  }
  .cm-panel {
    min-width:0;
    max-width:100%;
  }
  .cm-editor-layout,.cs-layout,.pf-workspace {
    min-width:0;
    align-items:start;
  }
  .cm-stage,.cs-stage,.pf-preview-shell {
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    isolation:isolate;
  }
  .cm-stage canvas,.cs-canvas-wrap,.pf-canvas-wrap {
    transform-origin:center center;
  }
  body.studio-focus {
    overflow:hidden;
  }
  .studio-focus .global-shell {
    position:fixed;
    inset:0 0 auto;
  }
  /* Focus mode exists to give the canvas the window. The `height: calc(100vh - 72px)` that used to
     sit here never governed anything — the studio is a `flex: 1 1 auto` child of a flex column, so
     shrink decides its used height and the declaration was inert whichever layer it won in — while
     the 64px top margin was live and spent that much of the focus viewport on empty space directly
     under the fixed bar. Dropping both returns the space to the canvas and leaves the height to the
     one rule that actually resolves it. The clip stays: the workspace scrolls internally. */
  .studio-focus .cm-studio {
    overflow:hidden;
  }
  html[data-density="compact"] .global-shell-inner {
    min-height:62px;
    padding-top: var(--uol-space-1);
    padding-bottom: var(--uol-space-1);
  }
  html[data-density="compact"] .primary-nav a {
    min-height: var(--uol-control-h-sm);
  }
  html[data-density="compact"] .platform-card,
  html[data-density="compact"] .simple-card,
  html[data-density="compact"] .home-panel {
    padding: var(--uol-space-3);
  }
  .reduce-motion *,.reduce-motion *:before,.reduce-motion *:after {
    animation-duration:.001ms;
    animation-iteration-count:1;
    scroll-behavior:auto;
    transition-duration:.001ms;
  }
  .is-offline .status-dot-link:after {
    content:"Offline";
    font-size:0;
  }
  @media(max-width: 1024px) {
    .command-trigger strong,.command-trigger kbd {
      display:none;
    }
    .home-module-grid {
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .shell-brand-copy small {
      display:none;
    }
    .shell-brand {
      min-width:160px;
    }
  }
  @media(max-width: 1024px) {
    .home-two-column {
      grid-template-columns:1fr;
    }
    .settings-grid,.help-grid,.release-grid {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }
  @media(max-width: 768px) {
    .cortex-home {
      padding: var(--uol-space-3) var(--uol-space-3) var(--uol-space-7);
    }
    .home-welcome-primary,.home-attention {
      border-radius: var(--uol-radius-md);
      padding: var(--uol-space-4);
    }
    .home-module-grid {
      grid-template-columns:1fr;
    }
    .home-two-column {
      gap: var(--uol-space-3);
    }
    .settings-grid,.help-grid,.release-grid {
      grid-template-columns:1fr;
    }
    .cortex-command {
      padding: 2vh var(--uol-space-2);
    }
    .cortex-command-dialog {
      max-height:96vh;
    }
    .cortex-command-meta span {
      display:none;
    }
    .shell-utility .global-ay,.shell-utility .utility-link,.status-dot-link {
      display:none;
    }
    .shell-brand {
      min-width:0;
    }
    .shell-brand-copy strong {
      font-size: var(--uol-text-sm);
    }
    .home-context-row span {
      font-size: var(--uol-text-xs);
    }
  }
  @media(max-width: 480px) {
    .shell-logo-box {
      width:62px;
    }
    .command-trigger {
      padding: 0 var(--uol-space-2);
    }
    .user-chip #userLabel {
      display:none;
    }
    .home-kpi-row {
      grid-template-columns:1fr 1fr;
    }
  }
  .control-room {
    background:#fff;
    border:1px solid #e4dde8;
    border-radius: var(--uol-radius-md);
    padding: var(--uol-space-4);
    box-shadow:0 12px 34px rgba(48,28,63,.06);
  }
  .control-room .hub-section-head {
    margin: 0 0 var(--uol-space-3);
  }
  .data-freshness {
    padding: var(--uol-space-2) var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:#edf8f2;
    color:#137a4b;
    font-size: var(--uol-text-xs);
    font-weight:800;
  }
  .operating-cycle {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap: var(--uol-space-2);
  }
  .operating-cycle a {
    position:relative;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap: var(--uol-space-2);
    align-items:center;
    padding: var(--uol-space-3);
    border:1px solid #e6dfeb;
    border-radius: var(--uol-radius-sm);
    text-decoration:none;
    color:#302338;
    background:#faf9fb;
  }
  .operating-cycle a:not(:last-child):after {
    content:"›";
    position:absolute;
    right:-8px;
    top:50%;
    transform:translateY(-50%);
    z-index: var(--uol-z-raised);
    color:#623f99;
    font-size: var(--uol-text-lg);
  }
  .operating-cycle b {
    width:30px;
    height:30px;
    border-radius: var(--uol-radius-sm);
    background:#623f99;
    color:#fff;
    display:grid;
    place-items:center;
    font-size: var(--uol-text-xs);
  }
  .operating-cycle strong,.operating-cycle small {
    display:block;
  }
  .operating-cycle strong {
    font-size: var(--uol-text-xs);
  }
  .operating-cycle small {
    margin-top: var(--uol-space-1);
    color:#766d7b;
    font-size: var(--uol-text-xs);
    line-height:1.3;
  }
  .control-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap: var(--uol-space-2);
    margin-top: var(--uol-space-3);
  }
  .control-grid article {
    padding: var(--uol-space-3);
    border-radius: var(--uol-radius-sm);
    background:#f5f0f8;
  }
  .control-label {
    font-size: var(--uol-text-xs);
    text-transform:uppercase;
    letter-spacing:.07em;
    color:#756d7b;
    font-weight:900;
  }
  .control-grid h3 {
    margin: var(--uol-space-1) 0 var(--uol-space-1);
    color:#412858;
    font-size: var(--uol-text-xs);
  }
  .control-grid p {
    margin: 0 0 var(--uol-space-2);
    color:#6c6471;
    font-size: var(--uol-text-xs);
    line-height:1.45;
  }
  .control-grid a {
    font-size: var(--uol-text-xs);
    color:#623f99;
    font-weight:800;
    text-decoration:none;
  }
  .data-contract {
    display:flex;
    justify-content:space-between;
    gap: var(--uol-space-4);
    align-items:center;
    margin-top: var(--uol-space-4);
    padding: var(--uol-space-4) var(--uol-space-4);
    border:1px solid #ded4e5;
    border-left:4px solid #623f99;
    border-radius: var(--uol-radius-sm) var(--uol-radius-md) var(--uol-radius-md) var(--uol-radius-sm);
    background:#f6f2f8;
  }
  .data-contract strong {
    color:#3e2850;
  }
  .data-contract p {
    margin: var(--uol-space-1) 0 0;
    color:#6e6674;
    font-size: var(--uol-text-xs);
  }
  .contract-tags {
    display:flex;
    gap: var(--uol-space-1);
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .contract-tags span {
    padding: var(--uol-space-1) var(--uol-space-2);
    border-radius: var(--uol-radius-pill);
    background:#fff;
    color:#623f99;
    font-size: var(--uol-text-xs);
    font-weight:800;
  }
  @media(max-width: 1024px) {
    .operating-cycle {
      grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .control-grid {
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }
  @media(max-width: 768px) {
    .operating-cycle,.control-grid {
      grid-template-columns:1fr;
    }
    .operating-cycle a:after {
      display:none;
    }
    .data-contract {
      display:block;
    }
    .contract-tags {
      justify-content:flex-start;
      margin-top: var(--uol-space-3);
    }
  }
  /* Cortex 2.1.3 — immersive authentication experience */
  html.is-anonymous .global-shell,html.is-anonymous .page-footer {
    display:none;
  }
  html.is-anonymous body {
    background:#241033;
  }
  .login-field {
    gap: var(--uol-space-2);
    margin-top: var(--uol-space-4);
  }
  .login-field label {
    color:#4e4453;
    font-size: var(--uol-text-xs);
    letter-spacing:.1em;
  }
  .login-field input::placeholder {
    color:#aaa2ad;
  }
  /* v5.5.0 viewport-safe utilities and minimum interactive target contract */
  .cortex-command {
    padding:clamp(12px,4vh,40px) 18px;
  }
  .cortex-command-dialog {
    height:min(720px,calc(100dvh - 32px));
    max-height:calc(100dvh - 32px);
    min-height:0;
  }
  .cortex-command-results {
    min-height:0;
    overflow:auto;
  }
  .command-trigger,.global-ay,.utility-link,.user-chip,.nav-toggle,.platform-btn {
    min-height:44px;
  }
  .status-dot-link {
    height:44px;
  }
  html[data-density="compact"] .primary-nav a {
    min-height:44px;
  }
  @media(min-width: 1025px) and (max-width: 1024px) {
    .command-trigger strong {
      display:inline;
    }
    .command-trigger kbd {
      display:none;
    }
  }
  @media(max-width: 768px) {
    .cortex-command {
      padding: var(--uol-space-2);
    }
    .cortex-command-dialog {
      height:calc(100dvh - 16px);
      max-height:calc(100dvh - 16px);
    }
    .command-trigger strong {
      display:none;
    }
  }
}
