:root {
      --mimir-bg: #f6f2ee;
      --mimir-bg-soft: #fbf8f5;
      --mimir-surface: #ffffff;
      --mimir-surface-muted: #fcfaf8;
      --mimir-border: #e7ddd5;
      --mimir-border-strong: #d8c6b8;
      --mimir-text: #151515;
      --mimir-text-soft: #5f5a56;
      --mimir-text-faint: #867f78;
      --mimir-orange: #ef5b2a;
      --mimir-orange-deep: #d54819;
      --mimir-orange-soft: #fff0e8;
      --mimir-blue: #0f5f79;
      --mimir-blue-deep: #0b4f64;
      --mimir-blue-soft: #e8f4f8;
      --mimir-green: #16794c;
      --mimir-green-deep: #0f633e;
      --mimir-green-soft: #eef7f0;
      --mimir-green-border: #a8cbb3;
      --mimir-danger: #b42318;
      --mimir-danger-soft: #fff2f1;
      --mimir-shadow-xs: 0 1px 2px rgba(21, 21, 21, 0.05);
      --mimir-shadow-sm: 0 12px 28px rgba(21, 21, 21, 0.06);
      --mimir-shadow-md: 0 20px 40px rgba(21, 21, 21, 0.08);
      --mimir-radius-sm: 12px;
      --mimir-radius-md: 18px;
      --mimir-radius-lg: 24px;
      --mimir-page-max-width: 2200px;
      --mimir-page-gutter: clamp(20px, 2.4vw, 36px);
      --mimir-font-bump: 2px;
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: auto; }
    body {
      margin: 0;
      background:
        radial-gradient(circle at top left, rgba(239, 91, 42, 0.06), transparent 24%),
        linear-gradient(180deg, #f8f5f1 0%, var(--mimir-bg) 220px);
      color: var(--mimir-text);
      font-size: calc(11px + var(--mimir-font-bump));
    }
    button, input, textarea, select { font: inherit; }
    body.modal-open { overflow: hidden; }
    a { color: inherit; }
    .count-tag {
      min-height: 18px !important;
      padding-inline: 6px !important;
      font-size: calc(8px + var(--mimir-font-bump)) !important;
      line-height: 1 !important;
    }
    .hypothesis-character-count {
      font-size: calc(8px + var(--mimir-font-bump)) !important;
      line-height: 1.1 !important;
    }
    .btn {
      min-height: 42px;
      padding: 0 16px;
      border-radius: 14px;
      border: 1px solid var(--mimir-orange);
      background: linear-gradient(180deg, var(--mimir-orange) 0%, var(--mimir-orange-deep) 100%);
      color: #fff;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 12px 24px rgba(239, 91, 42, 0.16);
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
    }
    .btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 28px rgba(239,91,42,.2);
    }
    .btn.ghost,
    .btn.btn-ghost {
      border-color: var(--mimir-border);
      background: rgba(255,255,255,.86);
      color: var(--mimir-text);
      box-shadow: none;
    }
    .btn.ghost:hover,
    .btn.btn-ghost:hover {
      border-color: rgba(15,95,121,.22);
      background: rgba(15,95,121,.05);
      box-shadow: none;
    }
    .btn.danger,
    .btn.btn-danger {
      border-color: #e3b7b1;
      background: #fff;
      color: var(--mimir-danger);
      box-shadow: none;
    }
    .btn.small,
    .btn.btn-small {
      min-height: 38px;
      padding: 0 14px;
      border-radius: 12px;
      font-size: calc(11px + var(--mimir-font-bump));
    }
    .btn[disabled], .btn.disabled {
      background: #ede8e3 !important;
      color: #a59a91 !important;
      border-color: #e0d5cc !important;
      box-shadow: none !important;
      cursor: not-allowed !important;
    }
    .app-topbar-shell {
      position: sticky;
      top: 0;
      z-index: 40;
      padding: 0 var(--mimir-page-gutter);
      overflow-x: clip;
      background: rgba(248, 245, 241, 0.94);
      backdrop-filter: blur(14px);
    }
    .app-topbar {
      width: min(var(--mimir-page-max-width), 100%);
      max-width: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr) max-content;
      align-items: center;
      gap: 18px;
      min-height: 58px;
      padding: 7px 0;
      border-bottom: 1px solid rgba(21, 21, 21, 0.08);
    }
    .app-topbar-left,
    .app-topbar-right {
      display: flex;
      align-items: center;
      min-width: 0;
    }
    .app-topbar-left {
      gap: 12px;
      flex-wrap: nowrap;
    }
    .app-topbar-center {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      flex-wrap: nowrap;
      min-width: 0;
    }
    .app-topbar-brand-lockup {
      display: flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      flex: 0 0 auto;
    }
    .app-topbar-module-menu {
      position: relative;
      min-width: 0;
    }
    .app-topbar-module-trigger {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-height: 32px;
      padding: 0 12px;
      border: 1px solid rgba(15, 95, 121, 0.14);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.82);
      color: var(--mimir-text-soft);
      font-size: calc(10px + var(--mimir-font-bump));
      font-weight: 700;
      white-space: nowrap;
      cursor: pointer;
      list-style: none;
      box-shadow: var(--mimir-shadow-xs);
    }
    .app-topbar-module-trigger::-webkit-details-marker { display: none; }
    .app-topbar-module-menu[open] .app-topbar-module-trigger {
      border-color: rgba(15, 95, 121, 0.18);
      box-shadow: var(--mimir-shadow-xs);
    }
    .app-topbar-module-menu-panel {
      left: 0;
    }
    .app-topbar-module-menu-panel form {
      margin: 0;
    }
    .app-topbar-innova-logo {
      display: block;
      height: 32px;
      width: auto;
      max-width: 120px;
      flex: 0 0 auto;
      border-radius: 6px;
    }
    .app-topbar-brand-copy {
      display: flex;
      align-items: baseline;
      gap: 6px;
      min-width: 0;
    }
    .app-topbar-brand {
      margin: 0;
      font-size: calc(18px + var(--mimir-font-bump));
      line-height: 1;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: var(--mimir-text);
    }
    .app-topbar-version {
      color: var(--mimir-text-faint);
      font-size: calc(7px + var(--mimir-font-bump));
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      white-space: nowrap;
    }
    .app-topbar-right {
      justify-content: flex-end;
      gap: 8px;
    }
    .app-topbar-desktop-navigation {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      min-width: 0;
    }
    .app-topbar-nav-menu,
    .app-topbar-settings-menu,
    .app-topbar-user-menu,
    .app-topbar-mobile-navigation {
      position: relative;
    }
    .app-topbar-nav-trigger,
    .app-topbar-mobile-navigation-trigger,
    .app-topbar-icon-button,
    .app-topbar-user {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-height: 32px;
      border: 1px solid rgba(15, 95, 121, 0.14);
      background: rgba(255, 255, 255, 0.82);
      color: var(--mimir-text-soft);
      cursor: pointer;
      list-style: none;
    }
    .app-topbar-user {
      padding: 0 12px;
      border-radius: 8px;
      font-size: calc(10px + var(--mimir-font-bump));
      white-space: nowrap;
    }
    .app-topbar-user-label {
      display: block;
      max-width: min(280px, 28vw);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .app-topbar-nav-trigger::-webkit-details-marker,
    .app-topbar-mobile-navigation-trigger::-webkit-details-marker,
    .app-topbar-icon-button::-webkit-details-marker,
    .app-topbar-user::-webkit-details-marker {
      display: none;
    }
    .app-topbar-nav-menu[open] .app-topbar-nav-trigger,
    .app-topbar-settings-menu[open] .app-topbar-icon-button,
    .app-topbar-user-menu[open] .app-topbar-user {
      border-color: rgba(15, 95, 121, 0.18);
      box-shadow: var(--mimir-shadow-xs);
    }
    .app-topbar-caret {
      font-size: calc(7px + var(--mimir-font-bump));
      color: var(--mimir-text-faint);
      line-height: 1;
    }
    .app-topbar-menu-panel {
      position: absolute;
      top: calc(100% + 8px);
      z-index: 10;
      min-width: 220px;
      padding: 6px;
      border: 1px solid rgba(21, 21, 21, 0.08);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.98);
      box-shadow: var(--mimir-shadow-sm);
      backdrop-filter: blur(12px);
    }
    .app-topbar-nav-menu-panel {
      left: 0;
    }
    .app-topbar-settings-menu-panel,
    .app-topbar-user-menu-panel {
      right: 0;
    }
    .app-topbar-user-menu-panel {
      min-width: 170px;
    }
    .app-topbar-menu-item,
    .app-topbar-menu-item:visited {
      display: flex;
      align-items: center;
      width: 100%;
      min-height: 34px;
      border: 0;
      border-radius: 6px;
      background: transparent;
      color: var(--mimir-text-soft);
      text-decoration: none;
      text-align: left;
      font-size: calc(10px + var(--mimir-font-bump));
      font-weight: 600;
      cursor: pointer;
      padding: 0 10px;
      transition: background-color 0.16s ease, color 0.16s ease;
    }
    .app-topbar-menu-item:hover,
    .app-topbar-menu-item:focus-visible {
      outline: none;
      background: rgba(15, 95, 121, 0.06);
      color: var(--mimir-text);
    }
    .app-topbar-menu-item.active,
    .app-topbar-menu-item.active:visited {
      background: rgba(15, 95, 121, 0.08);
      color: var(--mimir-blue-deep);
      font-weight: 700;
    }
    .app-topbar-menu-heading {
      padding: 7px 10px 5px;
      color: var(--mimir-text-faint);
      font-size: calc(8px + var(--mimir-font-bump));
      font-weight: 800;
      text-transform: uppercase;
    }
    .app-topbar-btn,
    .app-topbar-btn:visited {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 34px;
      padding: 0 12px;
      border: 1px solid transparent;
      border-radius: 8px;
      background: transparent;
      color: var(--mimir-text-soft);
      text-decoration: none;
      cursor: pointer;
      font-size: calc(10px + var(--mimir-font-bump));
      line-height: 1;
      font-weight: 600;
      transition:
        color 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        transform 0.16s ease,
        box-shadow 0.16s ease;
      white-space: nowrap;
    }
    .app-topbar-btn:hover,
    .app-topbar-btn:focus-visible {
      background: rgba(15, 95, 121, 0.06);
      border-color: rgba(15, 95, 121, 0.14);
      color: var(--mimir-text);
      outline: none;
    }
    .app-topbar-btn.active,
    .app-topbar-btn.active:visited {
      background: rgba(15, 95, 121, 0.08);
      color: var(--mimir-blue-deep);
      border-color: rgba(15, 95, 121, 0.14);
      box-shadow: none;
    }
    .app-topbar-btn.disabled,
    .app-topbar-btn[disabled] {
      background: rgba(255, 255, 255, 0.54) !important;
      color: #b1aaa4 !important;
      border-color: transparent !important;
      cursor: not-allowed !important;
      pointer-events: none;
      box-shadow: none !important;
    }
    .app-topbar-icon-button {
      width: 34px;
      height: 34px;
      justify-content: center;
      padding: 0;
      border-radius: 8px;
    }
    .app-topbar-icon-button:hover,
    .app-topbar-icon-button:focus-visible,
    .app-topbar-icon-button.active {
      outline: none;
      border-color: rgba(15, 95, 121, 0.2);
      background: rgba(15, 95, 121, 0.08);
      color: var(--mimir-blue-deep);
    }
    .app-topbar-icon {
      display: inline-block;
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      background: currentColor;
      -webkit-mask-position: center;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-size: contain;
      mask-position: center;
      mask-repeat: no-repeat;
      mask-size: contain;
    }
    .app-topbar-icon-settings {
      -webkit-mask-image: url('/static/img/icons/settings.svg');
      mask-image: url('/static/img/icons/settings.svg');
    }
    .app-topbar-icon-menu {
      -webkit-mask-image: url('/static/img/icons/menu.svg');
      mask-image: url('/static/img/icons/menu.svg');
    }
    .app-topbar-mobile-navigation {
      display: none;
      width: 100%;
    }
    .app-topbar-mobile-navigation-trigger {
      width: 100%;
      padding: 0 12px;
      border-radius: 8px;
      font-size: calc(10px + var(--mimir-font-bump));
      font-weight: 700;
    }
    .app-topbar-mobile-navigation-panel {
      left: 0;
      right: 0;
      min-width: 0;
    }
	    @media (max-width: 1050px) {
	      .app-topbar {
	        grid-template-columns: minmax(0, 1fr) max-content;
	        grid-template-areas:
	          "left right"
	          "center center";
	        gap: 8px 14px;
	        padding: 9px 0;
	      }
	      .app-topbar-left {
	        grid-area: left;
	      }
	      .app-topbar-right {
	        grid-area: right;
	      }
	      .app-topbar-center {
	        grid-area: center;
	        justify-content: flex-start;
	      }
	    }
	    @media (max-width: 720px) {
	      .app-topbar-shell { padding: 0 10px; }
	      .app-topbar {
	        grid-template-columns: minmax(0, 1fr);
	        grid-template-areas:
	          "left"
	          "center"
	          "right";
	        min-height: auto;
	        gap: 8px;
	        padding: 8px 0 10px;
	      }
	      .app-topbar-left {
	        flex-wrap: wrap;
	        justify-content: space-between;
	      }
	      .app-topbar-right {
	        justify-content: flex-end;
      }
      .app-topbar-module-menu {
        flex: 1 1 160px;
      }
      .app-topbar-module-trigger {
        width: 100%;
      }
      .app-topbar-module-menu-panel {
        left: 0;
        right: 0;
        min-width: 0;
      }
	      .app-topbar-center {
	        width: 100%;
	      }
      .app-topbar-desktop-navigation {
        display: none;
      }
      .app-topbar-mobile-navigation {
        display: block;
      }
      .app-topbar-user-label {
        max-width: calc(100vw - 120px);
      }
      .app-topbar-innova-logo {
        height: 28px;
        max-width: 104px;
      }
    }

    .mimir-global-tooltip {
      position: fixed;
      z-index: 10000;
      max-width: min(260px, calc(100vw - 24px));
      padding: 5px 7px;
      border: 1px solid rgba(21, 21, 21, 0.14);
      border-radius: 6px;
      background:
        linear-gradient(180deg, rgba(28, 31, 36, 0.94), rgba(12, 15, 20, 0.94));
      color: #fffdfb;
      box-shadow:
        0 10px 22px rgba(21, 21, 21, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
      font-size: calc(9.5px + var(--mimir-font-bump));
      font-weight: 650;
      line-height: 1.25;
      pointer-events: none;
      opacity: 0;
      transform: translate3d(0, 4px, 0) scale(0.98);
      transition:
        opacity 0.14s ease,
        transform 0.14s ease;
      white-space: normal;
      overflow-wrap: anywhere;
    }
    .mimir-global-tooltip[data-visible="true"] {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
    .mimir-global-tooltip::after {
      content: "";
      position: absolute;
      left: var(--mimir-tooltip-arrow-x, 50%);
      width: 7px;
      height: 7px;
      border-right: 1px solid rgba(21, 21, 21, 0.16);
      border-bottom: 1px solid rgba(21, 21, 21, 0.16);
      background: rgba(12, 15, 20, 0.98);
      transform: translateX(-50%) rotate(45deg);
    }
    .mimir-global-tooltip[data-placement="top"]::after {
      bottom: -4px;
    }
    .mimir-global-tooltip[data-placement="bottom"]::after {
      top: -5px;
      transform: translateX(-50%) rotate(225deg);
      background: rgba(28, 31, 36, 0.98);
    }
    @media (prefers-reduced-motion: reduce) {
      .mimir-global-tooltip {
        transition: none;
      }
    }
