    :root {
      color-scheme: light;
      --ink: #000828;
      --muted: #667085;
      --line: #dfe6ef;
      --surface: #f4f8fb;
      --panel: #ffffff;
      --brand-navy: #000828;
      --brand-teal: #08a8a0;
      --brand-teal-dark: #087f91;
      --brand-gold: #f8b229;
      --brand-coral: #f86060;
      --brand-plum: #702068;
      --brand-warm-soft: #fff6db;
      --shadow-soft: 0 20px 60px rgba(20, 33, 61, .12);
      --danger: #d83d4b;
      --success: #078a72;
    }

    * {
      box-sizing: border-box;
    }

    html,
    body {
      min-height: 100%;
      margin: 0;
    }

    body {
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      min-width: 1180px;
      color: var(--ink);
      background:
        radial-gradient(circle at 16% 0%, rgba(8, 168, 160, .18), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(248, 178, 41, .16), transparent 30%),
        linear-gradient(160deg, #f8fbfc 0%, var(--surface) 100%);
    }

    [hidden] {
      display: none !important;
    }

    .app-stage {
      display: grid;
      min-height: 100vh;
      place-items: center;
      padding: max(28px, env(safe-area-inset-top)) 28px max(28px, env(safe-area-inset-bottom));
    }

    .login-card {
      width: min(100%, 1080px);
      min-height: min(620px, calc(100vh - 56px));
      display: grid;
      grid-template-columns: minmax(360px, .9fr) minmax(380px, 1fr);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0;
      overflow: hidden;
      background: var(--panel);
      box-shadow: 0 22px 70px rgba(20, 33, 61, .14);
    }

    .brand-panel {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      min-height: 100%;
      padding: 54px 48px;
      overflow: hidden;
      border-right: 0;
      background:
        radial-gradient(circle at 16% 18%, rgba(8, 168, 160, .42), transparent 32%),
        radial-gradient(circle at 88% 84%, rgba(248, 178, 41, .18), transparent 27%),
        linear-gradient(145deg, #00162d 0%, #003b50 66%, #007579 100%);
    }

    .brand-panel::before,
    .brand-panel::after {
      content: "";
      position: absolute;
      border: 1px solid rgba(255, 255, 255, .09);
      border-radius: 50%;
      pointer-events: none;
    }

    .brand-panel::before {
      width: 260px;
      height: 260px;
      top: -110px;
      right: -90px;
    }

    .brand-panel::after {
      width: 210px;
      height: 210px;
      bottom: -105px;
      left: -75px;
    }

    .brand-row {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #fff;
      text-align: center;
    }

    .login-logo {
      display: block;
      width: 190px;
      height: 190px;
      object-fit: contain;
      filter: drop-shadow(0 14px 24px rgba(0, 0, 0, .2));
    }

    .brand-row .login-brand-name {
      margin-top: 8px;
      color: #fff;
      font-size: 3rem;
      font-weight: 950;
      letter-spacing: .09em;
      line-height: 1;
    }

    .brand-row .developer-credit {
      max-width: 430px;
      margin-top: 30px;
      color: rgba(255, 255, 255, .82);
      font-size: .82rem;
      font-weight: 400;
      line-height: 1.45;
      white-space: nowrap;
    }

    .brand-row .developer-credit strong {
      color: inherit;
      font-size: inherit;
      font-weight: 850;
      letter-spacing: 0;
    }

    .brand-row .login-movesa-logo {
      display: block;
      width: 128px;
      height: auto;
      margin-top: 12px;
      object-fit: contain;
    }

    .login-panel {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 64px 72px 118px;
    }

    .login-heading {
      margin-bottom: 24px;
    }

    .login-heading p {
      margin: 0 0 7px;
      color: var(--brand-teal-dark);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .login-heading h1 {
      margin: 0;
      font-size: 2.15rem;
      line-height: 1;
    }

    .login-form {
      display: grid;
      gap: 12px;
      margin-top: 0;
    }

    .login-step {
      display: grid;
      gap: 10px;
    }

    .login-user-preview {
      margin: -2px 0 8px;
      color: var(--muted);
      font-size: .92rem;
      font-weight: 800;
    }

    label {
      font-size: .9rem;
      font-weight: 850;
    }

    input {
      width: 100%;
      min-height: 44px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 0 15px;
      font: inherit;
      color: var(--ink);
      background: #fbfdff;
    }

    input:focus {
      outline: 3px solid rgba(8, 168, 160, .2);
      border-color: var(--brand-teal);
    }

    .password-field {
      position: relative;
    }

    .password-field input {
      padding-right: 52px;
    }

    button {
      min-height: 44px;
      margin-top: 10px;
      border: 0;
      border-radius: 8px;
      padding: 0 18px;
      color: #fff;
      background: linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-teal-dark) 100%);
      font: inherit;
      font-weight: 900;
      box-shadow: 0 10px 24px rgba(8, 168, 160, .22);
      cursor: pointer;
    }

    button:active {
      background: linear-gradient(135deg, var(--brand-teal-dark) 0%, var(--brand-navy) 100%);
    }

    button:disabled {
      cursor: not-allowed;
      opacity: .68;
    }

    .icon-button {
      display: inline-grid;
      width: 42px;
      min-height: 42px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 1px solid var(--line);
      color: var(--brand-navy);
      background: #ffffff;
      box-shadow: none;
    }

    .icon-button svg {
      width: 19px;
      height: 19px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .icon-button:active {
      background: #f2faf9;
    }

    .logout-button {
      color: #fff;
      border-color: transparent;
      background: linear-gradient(135deg, var(--brand-coral, #f86060) 0%, var(--brand-plum) 100%);
    }

    .logout-button:active {
      background: linear-gradient(135deg, var(--brand-plum) 0%, var(--brand-navy) 100%);
    }

    .secondary-button {
      color: var(--brand-navy);
      background: var(--brand-warm-soft);
      box-shadow: none;
    }

    .secondary-button:active {
      background: #ffe8a3;
    }

    .password-toggle {
      position: absolute;
      top: 50%;
      right: 6px;
      display: grid;
      width: 38px;
      min-height: 38px;
      margin: 0;
      padding: 0;
      place-items: center;
      transform: translateY(-50%);
      color: var(--brand-plum);
      background: transparent;
      box-shadow: none;
    }

    .password-toggle svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .message {
      min-height: 22px;
      margin: 2px 0 0;
      color: var(--muted);
      font-size: .9rem;
      font-weight: 700;
    }

    .message[data-state="error"] {
      color: var(--danger);
    }

    .message[data-state="success"] {
      color: var(--success);
    }

    .toast-stack {
      position: fixed;
      right: max(16px, env(safe-area-inset-right));
      bottom: max(16px, env(safe-area-inset-bottom));
      z-index: 20;
      display: grid;
      width: min(360px, calc(100vw - 32px));
      gap: 10px;
      pointer-events: none;
    }

    .toast {
      border: 1px solid var(--line);
      border-left: 5px solid var(--brand-teal);
      border-radius: 8px;
      padding: 13px 14px;
      background: #fff;
      box-shadow: 0 18px 50px rgba(20, 33, 61, .18);
    }

    .toast[data-state="error"] {
      border-left-color: var(--danger);
    }

    .toast[data-state="success"] {
      border-left-color: var(--success);
    }

    .toast strong {
      display: block;
      font-size: .92rem;
    }

    .toast span {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: .86rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .msi-footer {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin: 0;
      color: var(--muted);
      font-size: .82rem;
      font-weight: 850;
      text-align: center;
    }

    .msi-footer img {
      display: block;
      width: 84px;
      height: 84px;
      object-fit: contain;
    }

    .login-msi-footer {
      position: absolute;
      right: 72px;
      bottom: 42px;
      left: 72px;
      justify-content: center;
      margin: 0;
    }

    .login-msi-footer img {
      width: 76px;
      height: 38px;
    }

    .main-index {
      min-height: 100vh;
      background:
        radial-gradient(circle at 2% 2%, rgba(8, 168, 160, .12), transparent 30%),
        linear-gradient(160deg, #f7fafc 0%, #eef5f7 100%);
    }

    .desktop-shell {
      display: grid;
      grid-template-columns: 292px minmax(0, 1fr);
      min-height: 100vh;
      background: transparent;
      transition: grid-template-columns .2s ease;
    }

    .desktop-shell.is-sidebar-collapsed {
      grid-template-columns: 84px minmax(0, 1fr);
    }

    .workspace {
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 18px 22px 22px;
      background: transparent;
    }

    .topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 58px;
      border: 1px solid rgba(223, 230, 239, .9);
      border-radius: 8px;
      padding: 10px 12px 10px 18px;
      background: rgba(255, 255, 255, .88);
      box-shadow: 0 10px 28px rgba(20, 33, 61, .07);
      backdrop-filter: blur(16px);
    }

    .topbar-title p {
      margin: 0 0 4px;
      color: var(--muted);
      font-size: .74rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .topbar-title h1 {
      margin: 0;
      font-size: 1.25rem;
      line-height: 1;
    }

    .user-actions {
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .profile-button {
      display: inline-grid;
      width: 42px;
      min-height: 42px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 0;
      border-radius: 8px;
      color: #fff;
      background:
        radial-gradient(circle at 28% 22%, rgba(255, 255, 255, .38), transparent 28%),
        linear-gradient(135deg, var(--brand-plum) 0%, var(--brand-navy) 100%);
      box-shadow: 0 12px 24px rgba(112, 32, 104, .18);
      font-size: .8rem;
      font-weight: 950;
    }

    .workspace-canvas {
      flex: 1;
      min-height: calc(100vh - 104px);
      overflow: hidden;
      border: 1px solid rgba(223, 230, 239, .88);
      border-radius: 8px;
      background: rgba(255, 255, 255, .94);
      box-shadow: 0 14px 36px rgba(20, 33, 61, .08);
    }

    .module-sidebar {
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-width: 0;
      border-right: 1px solid rgba(223, 230, 239, .92);
      padding: 18px 14px;
      background:
        linear-gradient(180deg, #ffffff 0%, #f8fbfc 46%, #f3f8fa 100%);
      box-shadow: 10px 0 28px rgba(20, 33, 61, .045);
      transition: padding .2s ease;
    }

    .sidebar-brand {
      display: grid;
      grid-template-columns: 84px minmax(0, 1fr) 38px;
      align-items: center;
      gap: 10px;
      min-height: 90px;
      padding-bottom: 8px;
    }

    .sidebar-mark {
      display: grid;
      width: 84px;
      height: 84px;
      place-items: center;
      overflow: hidden;
    }

    .sidebar-mark img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }

    .sidebar-brand-text {
      display: grid;
      gap: 3px;
      min-width: 0;
    }

    .sidebar-brand-text strong {
      color: var(--brand-navy);
      font-size: .88rem;
      line-height: 1;
    }

    .sidebar-brand-text span {
      color: var(--muted);
      font-size: .72rem;
      font-weight: 800;
    }

    .sidebar-collapse-button {
      display: inline-grid;
      width: 38px;
      min-height: 38px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 1px solid var(--line);
      color: var(--brand-navy);
      background: #ffffff;
      box-shadow: 0 8px 18px rgba(20, 33, 61, .06);
    }

    .sidebar-collapse-button svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
      transition: transform .2s ease;
    }

    .sidebar-title {
      margin: 8px 0 0;
      color: var(--muted);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .module-card {
      display: grid;
      gap: 4px;
      border: 0;
      border-radius: 8px;
      padding: 6px;
      background: #ffffff;
      box-shadow: 0 12px 28px rgba(20, 33, 61, .055);
    }

    .module-title {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 44px;
      margin: 0;
      border: 0;
      border-radius: 8px;
      padding: 0 9px;
      color: var(--brand-navy);
      background: transparent;
      box-shadow: none;
      font-size: 1rem;
      font-weight: 950;
      text-align: left;
      cursor: pointer;
    }

    .module-title:active {
      background: transparent;
    }

    .module-title-icon {
      display: grid;
      flex: 0 0 34px;
      width: 34px;
      height: 34px;
      place-items: center;
      border-radius: 8px;
      color: #fff;
      background:
        radial-gradient(circle at 28% 22%, rgba(255, 255, 255, .4), transparent 28%),
        linear-gradient(145deg, #45c7c2 0%, var(--brand-teal-dark) 100%);
    }

    .module-title-text {
      flex: 1;
    }

    .module-chevron {
      width: 18px;
      height: 18px;
      color: var(--muted);
      transform: rotate(0deg);
      transition: transform .16s ease;
    }

    .module-card.is-open .module-chevron {
      transform: rotate(180deg);
    }

    .module-title-icon svg,
    .module-chevron,
    .nested-chevron,
    .child-module svg {
      width: 18px;
      height: 18px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .child-module-list {
      display: grid;
      gap: 2px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .nested-module {
      display: grid;
      gap: 2px;
      list-style: none;
    }

    .nested-module-title {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 44px;
      margin: 0;
      border: 0;
      border-radius: 8px;
      padding: 0 12px;
      color: var(--ink);
      background: transparent;
      box-shadow: none;
      font-size: .92rem;
      font-weight: 900;
      text-align: left;
    }

    .nested-module-title .module-title-icon {
      flex-basis: 28px;
      width: 28px;
      height: 28px;
    }

    .nested-chevron {
      margin-left: auto;
      color: var(--muted);
      transition: transform .16s ease;
    }

    .nested-module.is-open .nested-chevron {
      transform: rotate(180deg);
    }

    .nested-child-module-list {
      margin-left: 14px;
      padding-left: 10px;
      border-left: 1px solid rgba(223, 230, 239, .92);
    }

    .child-module {
      display: flex;
      align-items: center;
      gap: 10px;
      border: 0;
      border-radius: 8px;
      min-height: 44px;
      padding: 0 12px;
      color: var(--ink);
      background: transparent;
      box-shadow: none;
      font-size: .92rem;
      font-weight: 850;
      cursor: pointer;
    }

    .child-module.is-active {
      color: var(--brand-navy);
      background: #edf9f8;
      box-shadow: inset 3px 0 0 var(--brand-teal);
    }

    .child-module svg {
      color: var(--brand-teal-dark);
      flex: 0 0 auto;
    }

    .nav-label {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .desktop-shell.is-sidebar-collapsed .module-sidebar {
      padding: 18px 12px;
      align-items: center;
    }

    .desktop-shell.is-sidebar-collapsed .sidebar-brand {
      grid-template-columns: 84px;
      justify-content: center;
      width: 100%;
    }

    .desktop-shell.is-sidebar-collapsed .sidebar-brand-text,
    .desktop-shell.is-sidebar-collapsed .sidebar-title,
    .desktop-shell.is-sidebar-collapsed .nav-label,
    .desktop-shell.is-sidebar-collapsed .module-title-text,
    .desktop-shell.is-sidebar-collapsed .module-chevron,
    .desktop-shell.is-sidebar-collapsed .nested-chevron {
      display: none;
    }

    .desktop-shell.is-sidebar-collapsed .sidebar-collapse-button {
      grid-row: 2;
      width: 42px;
      min-height: 38px;
    }

    .desktop-shell.is-sidebar-collapsed .sidebar-collapse-button svg {
      transform: rotate(180deg);
    }

    .desktop-shell.is-sidebar-collapsed .child-module-list,
    .desktop-shell.is-sidebar-collapsed .nested-child-module-list,
    .desktop-shell.is-sidebar-collapsed .module-card {
      width: 100%;
    }

    .desktop-shell.is-sidebar-collapsed .nested-child-module-list {
      margin-left: 0;
      padding-left: 0;
      border-left: 0;
    }

    .desktop-shell.is-sidebar-collapsed .module-card {
      border-color: transparent;
      padding: 6px 0;
      background: #ffffff;
      box-shadow: 0 10px 24px rgba(20, 33, 61, .045);
    }

    .desktop-shell.is-sidebar-collapsed .module-title,
    .desktop-shell.is-sidebar-collapsed .nested-module-title,
    .desktop-shell.is-sidebar-collapsed .child-module {
      justify-content: center;
      width: 48px;
      min-height: 48px;
      padding: 0;
    }

    .desktop-shell.is-sidebar-collapsed .module-title-icon {
      flex-basis: 38px;
      width: 38px;
      height: 38px;
    }

    .home-view {
      display: grid;
      align-content: start;
      gap: 12px;
      min-height: 100%;
      padding: 14px;
    }

    .home-hero {
      display: none;
      gap: 10px;
      border-bottom: 1px solid var(--line);
      padding-bottom: 18px;
    }

    .home-hero p {
      margin: 0;
      color: var(--muted);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .home-hero h2 {
      margin: 0;
      font-size: 1.65rem;
      line-height: 1.05;
    }

    .home-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }

    .home-tile {
      display: grid;
      gap: 8px;
      min-height: 126px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 15px;
      background: #fff;
    }

    .home-tile strong {
      font-size: 1rem;
    }

    .home-tile span {
      color: var(--muted);
      font-size: .88rem;
      font-weight: 750;
      line-height: 1.38;
    }

    .summary-view,
    .repairs-view,
    .query-view {
      display: grid;
      align-content: start;
      gap: 10px;
      min-height: 100%;
      padding: 14px;
    }

    .summary-header,
    .repairs-header,
    .query-header {
      display: flex;
      align-items: flex-start;
      justify-content: flex-end;
      gap: 8px;
      min-height: 0;
      border-bottom: 0;
      padding: 0;
    }

    .repairs-header,
    .summary-heading,
    .repairs-heading,
    .query-heading {
      display: none;
    }

    .summary-heading,
    .repairs-heading,
    .query-heading {
      display: grid;
      gap: 5px;
    }

    .summary-heading p,
    .repairs-heading p,
    .query-heading p,
    .metric-card span {
      margin: 0;
      color: var(--muted);
      font-size: .76rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .summary-heading h2,
    .repairs-heading h2,
    .query-heading h2 {
      margin: 0;
      font-size: 1.45rem;
      line-height: 1.05;
    }

    .query-panel {
      display: block;
    }

    .query-card {
      border: 1px solid rgba(223, 230, 239, .9);
      border-radius: 8px;
      padding: 14px;
      background: #fff;
      box-shadow: 0 12px 28px rgba(20, 33, 61, .055);
    }

    .query-form {
      display: grid;
      grid-template-columns: auto minmax(320px, 1fr) auto;
      gap: 12px;
      align-items: end;
    }

    .query-form label {
      align-self: center;
      color: var(--muted);
      font-size: .76rem;
      font-weight: 950;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .query-form button {
      justify-self: start;
      min-width: 150px;
      margin: 0;
    }

    .ticket-result {
      display: grid;
      gap: 12px;
      min-height: 420px;
    }

    .ticket-result-empty {
      display: grid;
      min-height: 300px;
      margin: 0;
      place-items: center;
      border: 1px dashed rgba(148, 163, 184, .72);
      border-radius: 8px;
      color: var(--muted);
      background: rgba(255, 255, 255, .58);
      font-weight: 850;
    }

    .ticket-detail-backdrop {
      position: fixed;
      inset: 0;
      z-index: 40;
      display: grid;
      place-items: center;
      padding: 28px;
      background: rgba(0, 8, 40, .46);
      backdrop-filter: blur(7px);
    }

    .ticket-detail-modal {
      position: relative;
      width: min(620px, calc(100vw - 64px));
      max-height: calc(100vh - 64px);
      overflow: auto;
      border-radius: 8px;
      background: transparent;
    }

    .ticket-detail-close {
      position: absolute;
      top: 12px;
      right: 12px;
      z-index: 2;
      width: 36px;
      min-height: 36px;
      margin: 0;
      padding: 0;
      border: 1px solid rgba(223, 230, 239, .9);
      color: var(--brand-navy);
      background: rgba(255, 255, 255, .94);
      box-shadow: 0 10px 28px rgba(20, 33, 61, .14);
    }

    .ticket-detail-close svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .ticket-card {
      --ticket-bg-soft: color-mix(in srgb, var(--status-color, var(--brand-teal)) 8%, #fff);
      overflow: hidden;
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr);
      border: 1px solid rgba(226, 232, 240, .92);
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 18px 44px rgba(8, 15, 35, .12);
    }

    .ticket-card.is-modal-detail {
      grid-template-columns: 48px minmax(0, 1fr);
      min-height: 0;
      box-shadow: 0 22px 64px rgba(8, 15, 35, .22);
    }

    .ticket-status-rail {
      display: grid;
      place-items: center;
      padding: 14px 8px;
      color: #fff;
      background:
        linear-gradient(180deg, color-mix(in srgb, var(--status-color, var(--brand-teal)) 88%, #111827) 0%, var(--status-color, var(--brand-teal)) 100%);
    }

    .ticket-status-rail span {
      display: block;
      max-height: 270px;
      font-size: .76rem;
      font-weight: 1000;
      letter-spacing: .12em;
      line-height: 1.2;
      text-align: center;
      text-transform: uppercase;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
    }

    .ticket-card-main {
      min-width: 0;
      background:
        radial-gradient(circle at 72% 10%, var(--ticket-bg-soft), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    }

    .ticket-card-header {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      gap: 8px;
      align-items: start;
      min-height: 96px;
      padding: 22px 26px 12px 22px;
    }

    .is-modal-detail .ticket-card-header {
      min-height: 86px;
      padding: 20px 56px 10px 18px;
    }

    .ticket-card-header h3 {
      margin: 0 0 5px;
      color: var(--ink);
      font-size: 2.25rem;
      letter-spacing: 0;
      line-height: .94;
    }

    .ticket-card-header p {
      margin: 0;
      color: var(--muted);
      font-size: .86rem;
      font-weight: 950;
    }

    .ticket-number-label {
      max-width: 520px;
      color: #7a8497;
      font-size: .82rem;
      line-height: 1.2;
      word-break: break-word;
    }

    .ticket-status-chip {
      display: inline-flex;
      width: fit-content;
      min-height: 24px;
      align-items: center;
      gap: 7px;
      margin-top: 10px;
      border-radius: 999px;
      padding: 0 10px;
      color: color-mix(in srgb, var(--status-color, var(--brand-teal)) 72%, #05331f);
      background: color-mix(in srgb, var(--status-color, var(--brand-teal)) 15%, #fff);
      font-size: .72rem;
      font-weight: 950;
    }

    .ticket-status-chip::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--status-color, var(--brand-teal));
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--status-color, var(--brand-teal)) 16%, transparent);
    }

    .ticket-time {
      min-width: 0;
      border: 1px solid rgba(214, 226, 237, .9);
      border-radius: 8px;
      padding: 12px;
      background: rgba(255, 255, 255, .72);
      text-align: right;
    }

    .ticket-time span {
      display: block;
      color: var(--muted);
      font-size: .68rem;
      font-weight: 950;
      text-transform: uppercase;
    }

    .ticket-time strong {
      display: block;
      margin-top: 6px;
      color: var(--ink);
      font-size: 1.35rem;
      line-height: 1;
    }

    .ticket-quick-specs {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin: 0 16px 12px;
      border: 1px solid rgba(226, 232, 240, .9);
      border-radius: 8px;
      background: rgba(255, 255, 255, .94);
      box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
    }

    .is-modal-detail .ticket-quick-specs {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin: 0 12px 12px;
    }

    .ticket-detail-block {
      display: grid;
      padding: 0 12px 8px;
    }

    .ticket-spec {
      min-width: 0;
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr);
      gap: 8px;
      align-items: center;
      padding: 10px 12px;
    }

    .ticket-spec + .ticket-spec {
      border-left: 1px solid rgba(226, 232, 240, .9);
    }

    .ticket-spec-icon,
    .ticket-section-icon,
    .ticket-assembler-avatar,
    .ticket-event-icon {
      display: inline-grid;
      place-items: center;
      border-radius: 999px;
      color: var(--brand-teal-dark);
      background: #e8fbf8;
    }

    .ticket-section-icon {
      color: var(--brand-coral);
      background: #fff1f2;
    }

    .ticket-assembler-avatar {
      color: #16a34a;
      background: #ecfdf3;
    }

    .ticket-event-icon {
      color: var(--brand-coral);
      background: #fff1f2;
    }

    .ticket-spec-icon {
      width: 28px;
      height: 28px;
    }

    .ticket-spec-icon svg,
    .ticket-section-icon svg,
    .ticket-assembler-avatar svg,
    .ticket-event-icon svg,
      .ticket-view-all svg {
      width: 15px;
      height: 15px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .ticket-spec span,
    .ticket-data-item span,
    .ticket-assembler-role,
    .ticket-event-meta {
      display: block;
      color: var(--muted);
      font-size: .62rem;
      font-weight: 950;
      letter-spacing: .03em;
      line-height: 1.35;
      text-transform: uppercase;
    }

    .ticket-spec strong {
      display: block;
      margin-top: 2px;
      color: var(--ink);
      font-size: .8rem;
      line-height: 1.16;
      word-break: break-word;
    }

    .ticket-content-grid {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(360px, 1fr);
      gap: 12px;
      padding: 0 16px 16px;
    }

    .is-modal-detail .ticket-content-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 14px;
      padding: 0 12px 14px;
    }

    .ticket-section {
      min-width: 0;
      display: grid;
      align-content: start;
      gap: 8px;
    }

    .ticket-section-wide {
      grid-column: 1 / -1;
    }

    .is-modal-detail .ticket-section-wide {
      grid-column: auto;
    }

    .ticket-section-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }

    .ticket-section-title {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 9px;
    }

    .ticket-section-icon {
      width: 24px;
      height: 24px;
    }

    .ticket-section h4 {
      margin: 0;
      color: var(--ink);
      font-size: .78rem;
      font-weight: 1000;
      letter-spacing: .02em;
      text-transform: uppercase;
    }

    .ticket-view-all {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      min-height: 24px;
      margin: 0;
      border: 0;
      padding: 0;
      color: var(--brand-coral);
      background: transparent;
      box-shadow: none;
      font-size: .68rem;
      font-weight: 950;
      white-space: nowrap;
    }

    .ticket-data-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }

    .is-modal-detail .ticket-data-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ticket-data-item {
      min-width: 0;
      border: 1px solid rgba(214, 226, 237, .86);
      border-radius: 8px;
      padding: 8px;
      background: rgba(255, 255, 255, .72);
    }

    .ticket-data-item strong {
      display: block;
      margin-top: 3px;
      color: var(--ink);
      font-size: .76rem;
      line-height: 1.18;
      word-break: break-word;
    }

    .ticket-assembler-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .is-modal-detail .ticket-assembler-grid {
      grid-template-columns: minmax(0, 1fr);
    }

    .ticket-assembler-card {
      min-width: 0;
      border: 1px solid rgba(214, 226, 237, .86);
      border-radius: 8px;
      padding: 9px;
      background: #fff;
      box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
    }

    .ticket-assembler-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 6px;
    }

    .ticket-assembler-avatar {
      width: 30px;
      height: 30px;
    }

    .ticket-assembler-card strong {
      display: block;
      color: var(--ink);
      font-size: .78rem;
      line-height: 1.18;
    }

    .ticket-assembler-role {
      margin-top: 5px;
      text-transform: none;
      letter-spacing: 0;
    }

    .ticket-assembler-card small {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: .66rem;
      font-weight: 800;
      line-height: 1.35;
    }

    .ticket-quality-badge {
      display: inline-flex;
      width: fit-content;
      min-height: 24px;
      align-items: center;
      border-radius: 999px;
      padding: 0 7px;
      color: #475467;
      background: #f2f4f7;
      font-size: .62rem;
      font-weight: 950;
      white-space: nowrap;
    }

    .ticket-quality-badge.is-approved {
      color: #067647;
      background: #dcfae6;
    }

    .ticket-quality-badge.is-rejected {
      color: #b42318;
      background: #fee4e2;
    }

    .ticket-quality-badge.is-corrected {
      color: #b54708;
      background: #fef0c7;
    }

    .ticket-quality-badge.is-pending {
      color: #344054;
      background: #f2f4f7;
    }

    .ticket-event-list {
      display: grid;
      gap: 7px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .ticket-event-item {
      min-width: 0;
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 8px;
      align-items: center;
      border: 1px solid rgba(214, 226, 237, .86);
      border-radius: 8px;
      padding: 8px;
      background: #fff;
    }

    .ticket-event-icon {
      width: 30px;
      height: 30px;
    }

    .ticket-event-item strong {
      display: block;
      color: var(--ink);
      font-size: .78rem;
      line-height: 1.18;
    }

    .ticket-event-message {
      display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: .68rem;
      font-weight: 760;
      line-height: 1.3;
    }

    .ticket-photo-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 9px;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .ticket-photo-card {
      min-width: 0;
      overflow: hidden;
      border: 1px solid rgba(214, 226, 237, .86);
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
    }

    .ticket-photo-card a {
      display: block;
      aspect-ratio: 4 / 3;
      background: #eef4f8;
    }

    .ticket-photo-card img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
    }

    .ticket-photo-card div {
      display: grid;
      gap: 3px;
      padding: 8px;
    }

    .ticket-photo-card span {
      width: fit-content;
      border-radius: 999px;
      padding: 3px 7px;
      color: var(--brand-teal-dark);
      background: #e8fbf8;
      font-size: .6rem;
      font-weight: 950;
    }

    .ticket-photo-card strong,
    .ticket-photo-card small {
      min-width: 0;
      overflow-wrap: anywhere;
    }

    .ticket-photo-card strong {
      color: var(--ink);
      font-size: .76rem;
      line-height: 1.2;
    }

    .ticket-photo-card small {
      color: var(--muted);
      font-size: .66rem;
      font-weight: 800;
      line-height: 1.3;
    }

    .is-hidden {
      display: none !important;
    }

    .table-icon-action {
      display: inline-grid;
      width: 34px;
      min-height: 34px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 1px solid rgba(8, 168, 160, .24);
      color: var(--brand-teal-dark);
      background: #f3fbfa;
      box-shadow: none;
    }

    .table-icon-action svg {
      width: 17px;
      height: 17px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .ticket-empty {
      min-height: 68px;
      display: grid;
      place-items: center;
      margin: 0;
      border: 1px dashed rgba(148, 163, 184, .7);
      border-radius: 8px;
      color: var(--muted);
      font-weight: 850;
    }

    .premium-icon-button {
      display: inline-grid;
      width: 34px;
      min-height: 34px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 1px solid rgba(8, 168, 160, .24);
      border-radius: 6px;
      color: #fff;
      background:
        radial-gradient(circle at 28% 22%, rgba(255, 255, 255, .35), transparent 32%),
        linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-navy) 100%);
      box-shadow: 0 8px 18px rgba(8, 168, 160, .16);
    }

    .premium-icon-button svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .summary-filters {
      display: grid;
      grid-template-columns: minmax(170px, 1.15fr) repeat(2, minmax(138px, .8fr)) minmax(170px, 1fr) minmax(150px, .85fr) auto;
      gap: 8px;
      align-items: end;
      border: 1px solid rgba(223, 230, 239, .92);
      border-radius: 8px;
      padding: 10px;
      background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
    }

    .filter-field {
      display: grid;
      gap: 7px;
    }

    .filter-field label {
      color: var(--muted);
      font-size: .68rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    select {
      width: 100%;
      min-height: 34px;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 0 28px 0 10px;
      color: var(--ink);
      background: #fbfdff;
      font: inherit;
      font-size: .82rem;
      font-weight: 760;
    }

    select:focus {
      outline: 3px solid rgba(8, 168, 160, .2);
      border-color: var(--brand-teal);
    }

    .filter-action {
      min-width: 88px;
      min-height: 34px;
      margin: 0;
      border-radius: 6px;
      padding: 0 12px;
      font-size: .8rem;
      box-shadow: 0 8px 18px rgba(8, 168, 160, .14);
    }

    .summary-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }

    .metric-card {
      display: grid;
      align-content: center;
      gap: 4px;
      min-height: 62px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 9px 10px;
      background: #fff;
    }

    .metric-card strong {
      font-size: 1.06rem;
      line-height: 1;
    }

    .summary-table-wrap,
    .repairs-table-wrap {
      min-height: 0;
      max-height: calc(100vh - 310px);
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .summary-table,
    .repairs-table {
      width: 100%;
      min-width: 980px;
      border-collapse: collapse;
      font-size: .78rem;
    }

    .summary-table th,
    .summary-table td,
    .repairs-table th,
    .repairs-table td {
      border-bottom: 1px solid #edf1f5;
      border-right: 1px solid #edf1f5;
      padding: 7px 10px;
      text-align: left;
      vertical-align: top;
    }

    .summary-table th:last-child,
    .summary-table td:last-child,
    .repairs-table th:last-child,
    .repairs-table td:last-child {
      border-right: 0;
    }

    .summary-table th,
    .repairs-table th {
      position: sticky;
      top: 0;
      z-index: 1;
      color: var(--muted);
      background: #f8fbfc;
      font-size: .66rem;
      font-weight: 950;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .summary-table tbody tr:hover,
    .repairs-table tbody tr:hover {
      background: #f8fcfc;
    }

    .status-pill {
      display: inline-flex;
      align-items: center;
      min-height: 22px;
      border-radius: 999px;
      padding: 0 8px;
      color: var(--brand-navy);
      background: #eef5f7;
      font-size: .68rem;
      font-weight: 900;
      white-space: nowrap;
    }

    .muted-text {
      color: var(--muted);
      font-weight: 760;
    }

    .empty-summary,
    .empty-repairs {
      display: grid;
      min-height: 180px;
      place-items: center;
      color: var(--muted);
      font-weight: 850;
    }

    .catalogs-view {
      display: grid;
      align-content: start;
      gap: 10px;
      min-height: 100%;
      padding: 14px;
    }

    .catalogs-header,
    .repairs-header,
    .summary-header {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      min-height: 0;
    }

    .catalogs-heading {
      display: none;
    }

    .primary-action-button {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 32px;
      margin: 0;
      border-radius: 6px;
      padding: 0 10px;
      font-size: .78rem;
      font-weight: 900;
      box-shadow: 0 8px 18px rgba(8, 168, 160, .16);
    }

    .primary-action-button svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .catalog-table-wrap {
      min-height: 0;
      max-height: calc(100vh - 190px);
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #fff;
    }

    .catalog-table {
      width: 100%;
      min-width: 760px;
      border-collapse: collapse;
      font-size: .78rem;
    }

    .catalog-table th,
    .catalog-table td {
      border-bottom: 1px solid #edf1f5;
      border-right: 1px solid #edf1f5;
      padding: 7px 10px;
      text-align: left;
      vertical-align: middle;
    }

    .catalog-table th:last-child,
    .catalog-table td:last-child {
      border-right: 0;
    }

    .catalog-table th {
      position: sticky;
      top: 0;
      z-index: 1;
      color: var(--muted);
      background: #f8fbfc;
      font-size: .65rem;
      font-weight: 950;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .catalog-table tbody tr:hover {
      background: #f8fcfc;
    }

    .catalog-table strong {
      color: var(--ink);
      font-size: .78rem;
      line-height: 1.2;
    }

    .catalog-actions-cell {
      width: 82px;
      text-align: right;
      white-space: nowrap;
    }

    .catalog-row-action {
      display: inline-grid;
      width: 30px;
      min-height: 30px;
      margin: 0;
      padding: 0;
      place-items: center;
      border: 1px solid rgba(8, 168, 160, .26);
      border-radius: 6px;
      color: var(--brand-teal-dark);
      background: #f3fbfa;
      box-shadow: none;
    }

    .catalog-row-action + .catalog-row-action {
      margin-left: 5px;
    }

    .catalog-row-action.is-danger {
      border-color: rgba(216, 61, 75, .28);
      color: #b4232f;
      background: #fff5f5;
    }

    .catalog-row-action.is-success {
      border-color: rgba(7, 138, 114, .28);
      color: #087a65;
      background: #effbf7;
    }

    .catalog-row-action svg {
      width: 15px;
      height: 15px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .catalog-status-pill {
      display: inline-flex;
      align-items: center;
      min-height: 22px;
      border-radius: 999px;
      padding: 0 8px;
      color: #067365;
      background: #e9fbf6;
      font-size: .72rem;
      font-weight: 900;
    }

    .catalog-status-pill[data-active="0"] {
      color: #8a3940;
      background: #fff0f0;
    }

    .status-swatch-row {
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .status-swatch {
      display: inline-block;
      width: 12px;
      height: 12px;
      flex: 0 0 auto;
      border: 1px solid rgba(20, 33, 61, .14);
      border-radius: 5px;
      background: var(--status-color, var(--brand-teal));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34);
    }

    .loading-text {
      display: grid;
      min-height: 260px;
      place-items: center;
      margin: 0;
      color: var(--muted);
      font-weight: 850;
    }

    .modal-backdrop {
      position: fixed;
      inset: 0;
      z-index: 50;
      display: grid;
      place-items: center;
      padding: 24px;
      background: rgba(0, 8, 40, .42);
    }

    .modal-card {
      width: min(100%, 480px);
      max-height: calc(100vh - 48px);
      overflow: auto;
      border: 1px solid rgba(223, 230, 239, .9);
      border-radius: 8px;
      padding: 14px;
      background: #fff;
      box-shadow: 0 24px 72px rgba(20, 33, 61, .22);
    }

    .modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin-bottom: 12px;
    }

    .modal-header h2 {
      margin: 0;
      font-size: 1rem;
      line-height: 1.15;
    }

    .catalog-edit-form,
    .form-section {
      display: grid;
      gap: 9px;
      margin: 0;
      padding: 0;
      border: 0;
    }

    .form-section {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-section label,
    .form-section .field-caption {
      grid-column: 1 / -1;
    }

    .form-section input,
    .form-section select,
    .form-section .option-grid {
      grid-column: 1 / -1;
    }

    .catalog-edit-form label {
      color: var(--muted);
      font-size: .74rem;
      font-weight: 900;
    }

    .catalog-edit-form input[type="color"] {
      width: 100%;
      min-height: 34px;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 4px;
      background: #fbfdff;
    }

    .catalog-edit-form input,
    .catalog-edit-form select {
      min-height: 36px;
      border-radius: 6px;
      font-size: .86rem;
    }

    .check-row,
    .option-check {
      display: flex;
      align-items: center;
      gap: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 10px 12px;
      background: #fbfdff;
      font-weight: 850;
    }

    .check-row input,
    .option-check input {
      width: 15px;
      min-height: 15px;
      flex: 0 0 auto;
    }

    .field-caption {
      color: var(--muted);
      font-size: .78rem;
      font-weight: 950;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .option-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      max-height: 210px;
      overflow: auto;
      padding-right: 2px;
    }

    .modal-actions {
      display: flex;
      justify-content: flex-end;
      margin-top: 2px;
    }

    .small-primary-button {
      min-height: 34px;
      margin: 0;
      border-radius: 6px;
      padding: 0 16px;
      font-size: .82rem;
      box-shadow: 0 8px 18px rgba(8, 168, 160, .16);
    }

    .summary-filters input {
      min-height: 34px;
      border-radius: 6px;
      padding: 0 10px;
      font-size: .82rem;
    }

    .query-card {
      box-shadow: none;
    }

    .query-form input {
      min-height: 36px;
      border-radius: 6px;
      font-size: .86rem;
    }

    .query-form button {
      min-width: 108px;
      min-height: 36px;
      border-radius: 6px;
      font-size: .84rem;
      box-shadow: 0 8px 18px rgba(8, 168, 160, .14);
    }

    .summary-heading,
    .repairs-header,
    .repairs-heading,
    .catalogs-heading,
    .home-hero {
      display: none;
    }

    .workspace-canvas > section:not([hidden]) {
      border: 0;
      background: transparent;
    }
