/* [next]/internal/font/google/inter_e506fb7e.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_e506fb7e-module__JGYAZG__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_e506fb7e-module__JGYAZG__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [project]/apps/web/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue",
      "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
      "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: .25rem;
    --shadow-sm: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;
    --shadow-md: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .static {
    position: static;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .hidden {
    display: none;
  }

  .table {
    display: table;
  }

  .rounded {
    border-radius: .25rem;
  }

  .p-1 {
    padding: var(--spacing);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
}

:root {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --tg-navy-950: #010a37;
  --tg-navy-900: #011646;
  --tg-navy-800: #061b4f;
  --tg-blue-600: #015afc;
  --tg-blue-500: #0b69fb;
  --tg-cyan-500: #00cde8;
  --tg-cyan-400: #2ba6f0;
  --tg-red-500: #f8202b;
  --tg-text-primary: #101a3a;
  --tg-text-secondary: #5c6882;
  --tg-text-muted: #7d879e;
  --tg-surface: #fff;
  --tg-canvas: #f7f9fc;
  --tg-selected: #eef4ff;
  --tg-agent-surface: #eefbff;
  --tg-border: #dce3ef;
  --tg-border-strong: #c5d0e3;
  --tg-focus: #0b69fb;
  --tg-text-display: 1.8125rem;
  --tg-text-display-lh: 2.125rem;
  --tg-text-title: 1.25rem;
  --tg-text-title-lh: 1.75rem;
  --tg-text-subtitle: .875rem;
  --tg-text-body: .875rem;
  --tg-text-body-lh: 1.25rem;
  --tg-text-dense: .8125rem;
  --tg-text-dense-lh: 1.125rem;
  --tg-text-meta: .75rem;
  --tg-text-meta-lh: 1rem;
  --tg-text-badge: .6875rem;
  --tg-text-badge-lh: .875rem;
  --tg-text-overline: .6875rem;
  --tg-text-overline-lh: .875rem;
  --brand-navy: var(--tg-navy-900);
  --brand-blue: var(--tg-blue-600);
  --brand-cyan: var(--tg-cyan-500);
  --brand-red: var(--tg-red-500);
  --brand: var(--tg-blue-600);
  --brand-hover: var(--tg-blue-500);
  --brand-active: var(--tg-navy-900);
  --brand-subtle: var(--tg-selected);
  --brand-subtle-hover: var(--tg-agent-surface);
  --canvas: var(--tg-canvas);
  --surface: var(--tg-surface);
  --surface-subtle: var(--tg-selected);
  --text-strong: var(--tg-navy-900);
  --text: var(--tg-text-primary);
  --text-muted: var(--tg-text-secondary);
  --text-disabled: var(--tg-text-muted);
  --border: var(--tg-border);
  --border-strong: var(--tg-border-strong);
  --danger: var(--tg-red-500);
  --danger-hover: #d31723;
  --danger-bg: #fdecee;
  --success: #18794e;
  --warning: #8a4b08;
  --info: var(--tg-blue-600);
  --status-neutral-bg: #eef1f6;
  --status-neutral-text: #344054;
  --status-success-bg: #e5f6ed;
  --status-success-text: #12643f;
  --status-progress-bg: #fff4d6;
  --status-progress-text: #76500b;
  --disabled-bg: #e8edf5;
  --radius-control: .5rem;
  --radius-card: .75rem;
  --shadow-sm: 0 1px 2px #00164714;
  --shadow-md: 0 8px 24px #0016471a;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --content-max: 1320px;
  background: var(--canvas);
  color: var(--text);
  font-family: var(--font-inter), Inter, ui-sans-serif, system-ui, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--canvas);
  min-height: 100vh;
  margin: 0;
}

::selection {
  background: var(--brand-subtle-hover);
  color: var(--text-strong);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

.brand-logo {
  flex: none;
  width: 136px;
  height: 40px;
  display: inline-block;
}

.brand-logo-crop {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}

.brand-logo-crop img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.skip-link {
  background: var(--text);
  color: #fff;
  z-index: 100;
  padding: .75rem 1rem;
  position: fixed;
  top: 0;
  left: 1rem;
  transform: translateY(-120%);
}

.skip-link:focus {
  transform: translateY(.5rem);
}

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

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

button {
  background: var(--brand);
  color: #fff;
  cursor: pointer;
  border: 0;
  border-radius: .65rem;
  min-height: 44px;
  padding: .75rem 1rem;
  font-size: .875rem;
  font-weight: 600;
}

button.secondary {
  color: var(--text-strong);
  border: 1px solid var(--border);
  background: #fff;
}

.secondary-link {
  border: 1px solid var(--border);
  color: var(--text-strong);
  background: #fff;
  border-radius: .65rem;
  padding: .7rem 1rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.secondary-link.compact {
  padding: .45rem .7rem;
}

.header-actions {
  align-items: center;
  gap: .65rem;
  display: flex;
}

.page-heading {
  flex: 1;
}

.auth-logo {
  width: 204px;
  height: 60px;
  margin-bottom: 1.5rem;
}

.app-navigation {
  border-bottom: 1px solid var(--border);
  align-items: center;
  gap: var(--space-1);
  margin: 0 0 var(--space-6);
  overscroll-behavior-inline: contain;
  min-width: 0;
  max-width: 100%;
  padding: var(--space-2) 0;
  width: 100%;
  scroll-padding-inline: .25rem;
  display: flex;
  overflow-x: auto;
}

.app-navigation a {
  color: var(--text-muted);
  border-radius: 999px;
  flex: none;
  padding: .5rem .75rem;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
}

.app-navigation a:hover, .app-navigation a:focus-visible {
  background: var(--brand-subtle-hover);
  color: var(--brand-hover);
}

.app-navigation a[aria-current="page"] {
  background: var(--brand-subtle);
  color: var(--brand-active);
  box-shadow: inset 0 -2px 0 var(--brand);
}

.context-label {
  color: var(--text-muted);
  font-size: .75rem;
  font-weight: 700;
}

.context-switcher {
  position: relative;
}

.context-trigger {
  border: 1px solid var(--border);
  color: var(--text-strong);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border-radius: .65rem;
  align-items: center;
  gap: .35rem;
  min-height: 44px;
  padding: .65rem .8rem;
  font-size: .875rem;
  font-weight: 700;
  display: flex;
}

.context-icon, .context-chevron {
  flex: none;
  width: 16px;
  height: 16px;
}

.context-icon {
  color: var(--brand);
}

.context-chevron {
  color: var(--text-muted);
}

.context-role {
  color: var(--text-muted);
  text-transform: capitalize;
}

.context-menu {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  z-index: 10;
  border-radius: .75rem;
  gap: .45rem;
  width: min(20rem, 100vw - 2rem);
  padding: 1rem;
  display: grid;
  position: absolute;
  top: calc(100% + .4rem);
  right: 0;
}

.context-menu .secondary-link {
  text-align: center;
  margin-top: .5rem;
}

.context-create-link {
  color: var(--brand);
  text-align: center;
  padding: .35rem;
  font-size: .875rem;
  font-weight: 700;
}

.navigation-tree-label {
  color: var(--text-muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .25rem .6rem .1rem;
  font-size: .6875rem;
  font-weight: 700;
  display: block;
}

.home-intro {
  margin: 0 0 var(--space-4);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.attention-strip {
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  margin-bottom: var(--space-6);
  align-items: center;
  gap: 1rem;
  min-width: 0;
  padding: .75rem 1rem;
  display: flex;
}

.attention-strip-heading {
  border-right: 1px solid var(--border);
  flex: 0 0 9rem;
  padding-right: 1rem;
}

.attention-strip h2 {
  margin: 0;
  font-size: 1rem;
}

.attention-items {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.focus-list.compact {
  gap: .75rem;
  min-width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.focus-list.compact li {
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: .55rem;
  align-items: center;
  gap: .65rem;
  padding: .45rem .65rem;
  display: flex;
}

.focus-list.compact .focus-copy > span, .focus-list.compact .task-signals {
  display: none;
}

input, select, textarea {
  border: 1px solid var(--border-strong);
  color: var(--text);
  background: #fff;
  border-radius: .65rem;
  min-width: 0;
  min-height: 44px;
  padding: .7rem .8rem;
}

a, button, input, select, textarea {
  transition: background-color .12s, border-color .12s, box-shadow .12s, color .12s;
}

button:hover:not(:disabled), .secondary-link:hover, .context-trigger:hover {
  border-color: var(--brand-blue);
}

button:disabled, input:disabled, select:disabled, textarea:disabled {
  background: var(--disabled-bg);
  color: var(--text-disabled);
  cursor: not-allowed;
  opacity: 1;
}

.app-shell {
  max-width: var(--content-max);
  min-width: 0;
  margin: auto;
  padding: 2rem 2rem 5rem;
  overflow-x: clip;
}

header {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.app-header {
  min-height: 3rem;
  margin-bottom: var(--space-4);
  min-width: 0;
}

.app-header > *, .app-header .page-heading, .app-header .header-actions {
  min-width: 0;
}

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

h1 {
  color: var(--text-strong);
  font-size: var(--tg-text-display);
  line-height: var(--tg-text-display-lh);
  letter-spacing: -.025em;
  margin-bottom: .2rem;
}

h2 {
  color: var(--text-strong);
  font-size: var(--tg-text-title);
  font-weight: 600;
  line-height: var(--tg-text-title-lh);
  margin-bottom: .25rem;
}

h3 {
  color: var(--text-strong);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.375rem;
}

.eyebrow {
  color: var(--brand);
  font-size: var(--tg-text-overline);
  letter-spacing: .04em;
  font-weight: 700;
  line-height: var(--tg-text-overline-lh);
  text-transform: uppercase;
  margin-bottom: .3rem;
}

.muted, .empty p {
  color: var(--text-muted);
}

.form-error {
  color: var(--danger);
  margin: 0;
  font-weight: 700;
}

.error-summary {
  border-left: 4px solid;
  padding-left: .75rem;
}

.error-summary p {
  margin-bottom: .25rem;
}

.error-summary a, .field-error {
  color: var(--danger);
}

.field-error, .field-hint {
  margin: -.65rem 0 0;
  font-size: .85rem;
}

.field-hint {
  color: var(--text-muted);
}

.account-action {
  border-top: 1px solid var(--border);
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}

.card {
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  background: #fffffff0;
  border-radius: 1rem;
}

@media (max-width: 1023px) {
  .app-shell {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (max-width: 639px) {
  .app-shell {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .brand-logo {
    width: 109px;
    height: 32px;
  }
}

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

.my-work-intro {
  justify-content: space-between;
  align-items: end;
  margin: 1rem 0 1.25rem;
  display: flex;
}

.my-work-intro p {
  margin-bottom: 0;
}

.my-work-intro strong {
  color: #176b48;
  font-size: 2.5rem;
}

.attention-list {
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.attention-card {
  grid-template-columns: minmax(0, 1.5fr) minmax(13rem, .7fr);
  gap: 1rem;
  padding: 1.25rem;
  display: grid;
}

.attention-summary {
  min-width: 0;
}

.attention-context {
  color: #66736c;
  overflow-wrap: anywhere;
  margin: .6rem 0 .35rem;
  font-size: .82rem;
}

.attention-consequence {
  color: #46564d;
  margin-bottom: 1rem;
}

.reason-badge {
  color: #75410d;
  background: #fff0df;
  border: 1px solid #efc58e;
  border-radius: 999px;
  padding: .35rem .6rem;
  font-size: .75rem;
  font-weight: 700;
  display: inline-block;
}

.reason-badge.blocked {
  color: #59316f;
  background: #f5eefa;
  border-color: #ceb8df;
}

.reason-badge.reply_requested {
  color: #235677;
  background: #e9f3fb;
  border-color: #a9cde7;
}

.reason-badge.decision_required {
  color: #772f27;
  background: #f7edeb;
  border-color: #ddb9b3;
}

.attention-primary {
  align-items: stretch;
  gap: .65rem;
  max-width: 38rem;
  display: flex;
}

.attention-primary label, .attention-primary textarea {
  flex: 1;
}

.attention-primary button, .primary-link {
  color: #fff;
  background: #176b48;
  border-radius: .65rem;
  justify-content: center;
  align-items: center;
  min-height: 2.75rem;
  padding: .7rem 1rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.attention-detail {
  border-left: 1px solid #e1e7e3;
  gap: .75rem;
  margin: 0;
  padding-left: 1rem;
  display: grid;
}

.attention-detail div {
  min-width: 0;
}

.attention-detail dt {
  color: #66736c;
  font-size: .72rem;
  font-weight: 700;
}

.attention-detail dd {
  overflow-wrap: anywhere;
  text-transform: capitalize;
  margin: .15rem 0 0;
}

.attention-secondary {
  color: #176b48;
  grid-column: 1 / -1;
  justify-self: start;
  font-size: .82rem;
  font-weight: 700;
}

.my-work-notice {
  background: #e7f5ed;
  border: 1px solid #8bc4aa;
  border-radius: .75rem;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  display: flex;
}

.my-work-notice.error, .my-work-notice.stale {
  background: #fff1ef;
  border-color: #dfaaa3;
}

.my-work-empty {
  text-align: center;
  padding: 3rem 1.25rem;
}

.my-work-empty > span {
  color: #176b48;
  font-size: 2rem;
}

.my-work-loading {
  opacity: .6;
  height: 14rem;
  margin-top: 1rem;
}

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-offset: 2px;
  outline: 3px solid #efb34c;
}

@media (max-width: 720px) {
  .attention-card {
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem;
  }

  .attention-detail {
    border-top: 1px solid #e1e7e3;
    border-left: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1rem 0 0;
  }

  .attention-primary {
    flex-direction: column;
    align-items: stretch;
  }

  .attention-primary button, .primary-link {
    width: 100%;
  }
}

@media (max-width: 360px) {
  .my-work-intro {
    align-items: start;
  }

  .attention-detail {
    grid-template-columns: minmax(0, 1fr);
  }
}

.calendar-toolbar {
  text-align: center;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  padding: 1rem;
  display: flex;
}

.calendar-toolbar p {
  margin: 0;
}

.calendar-filters {
  margin-bottom: 1rem;
  padding: 1rem;
}

.calendar-filters > summary {
  cursor: pointer;
  font-weight: 700;
}

.calendar-filters form {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
  gap: .75rem;
  margin-top: .75rem;
  display: grid;
}

.calendar-filters label {
  gap: .35rem;
  font-weight: 600;
  display: grid;
}

.calendar-filters select {
  max-width: 100%;
}

.calendar-active-filters {
  margin-bottom: 1rem;
  padding: .75rem 1rem;
}

.calendar-filter-chips {
  flex-wrap: wrap;
  gap: .5rem;
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.calendar-active-filters .calendar-filter-chips {
  margin: 0;
}

.calendar {
  scrollbar-gutter: stable;
  overflow: auto hidden;
}

.calendar-weekdays, .calendar-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-width: 700px;
  display: grid;
}

.calendar-weekdays {
  border-bottom: 1px solid var(--border);
  color: #52645a;
  text-align: center;
  background: #eef3f0;
  font-size: .78rem;
  font-weight: 700;
}

.calendar-weekdays span {
  padding: .65rem .25rem;
}

.calendar-grid {
  margin: 0;
  padding: 0;
  list-style: none;
}

.calendar-day {
  border-bottom: 1px solid #edf0ee;
  border-right: 1px solid #edf0ee;
  min-height: 8.5rem;
  padding: .55rem;
  position: relative;
}

.calendar-day.outside {
  color: #9aa49e;
  background: #fafbfa;
}

.calendar-day.range-selected {
  box-shadow: inset 0 0 0 2px var(--brand);
  background: #dff3e8;
}

.calendar-day > time {
  margin-bottom: .4rem;
  font-size: .8rem;
  font-weight: 700;
  display: inline-block;
}

.calendar-range-day {
  float: right;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
}

.calendar-date-actions {
  float: right;
  position: relative;
}

.calendar-date-menu-trigger {
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
}

.calendar-context-menu {
  background: var(--surface, white);
  border: 1px solid var(--border);
  z-index: 20;
  border-radius: .5rem;
  min-width: min(18rem, 100vw - 2rem);
  max-height: calc(100dvh - 1rem);
  padding: .35rem;
  display: grid;
  position: fixed;
  overflow-y: auto;
  box-shadow: 0 .75rem 2rem #0000002e;
}

.calendar-context-menu [role="menuitem"]:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: -2px;
}

.calendar-context-menu-header {
  justify-content: space-between;
  align-items: center;
  padding: .25rem .4rem .5rem;
  display: none;
}

.calendar-context-menu-header button {
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.calendar-context-menu button {
  color: inherit;
  text-align: left;
  background: none;
  justify-content: flex-start;
}

.calendar-task-actions {
  justify-self: end;
  position: relative;
}

.calendar-context-menu a[role="menuitem"] {
  color: inherit;
  border-radius: .35rem;
  padding: .65rem .8rem;
  text-decoration: none;
}

.calendar-range-bar {
  z-index: 2;
  align-self: start;
  min-width: 0;
  margin: 2.45rem .15rem 0;
  list-style: none;
  position: relative;
  overflow: hidden;
}

.calendar-range-create form, .calendar-schedule-controls ol {
  gap: .75rem;
  display: grid;
}

.calendar-range-create {
  margin-bottom: 1rem;
}

.calendar-range-create form {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.calendar-range-create button, .calendar-range-create input, .calendar-range-create select {
  max-width: 100%;
  min-height: 2.75rem;
}

.calendar-schedule-controls {
  border-top: 1px solid var(--border);
  padding: 1rem;
}

.calendar-day ul {
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.calendar-event {
  border-left: 3px solid var(--brand);
  background: #e8f5ee;
  border-radius: .35rem;
  padding: .4rem;
  font-size: .72rem;
  display: grid;
}

.calendar-event.multi-day {
  background: #d8f3e5;
  border-left-width: 5px;
  border-radius: .2rem;
}

.calendar-event.project-start {
  background: #edf2ff;
  border-color: #4969b2;
}

.calendar-event.project-target {
  background: #fff3df;
  border-color: #ae6b15;
}

.calendar-event span {
  color: #5f6c65;
  margin-top: .15rem;
}

.calendar-loading {
  opacity: .65;
  height: 32rem;
  margin-top: 1rem;
}

.unscheduled-control {
  margin-bottom: 1rem;
}

.unscheduled-control > button {
  width: 100%;
}

.unscheduled-drawer-backdrop {
  z-index: 30;
  background: #01164687;
  border: 0;
  position: fixed;
  inset: 0;
}

.unscheduled-drawer {
  background: var(--surface);
  border-left: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  z-index: 31;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: min(26.25rem, 100vw);
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0 0 0 auto;
  overflow-y: auto;
}

.unscheduled-drawer-header {
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.unscheduled-drawer-header h2 {
  margin: 0;
  font-size: 1.05rem;
}

.unscheduled-drawer-header button {
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.unscheduled-drawer-note {
  background: var(--surface-subtle);
  border-radius: var(--radius-control);
  color: var(--text-muted);
  margin: 0;
  padding: .65rem .8rem;
}

.unscheduled-search, .unscheduled-drawer nav {
  gap: .75rem;
  margin-bottom: 1rem;
  display: flex;
}

.unscheduled-search input:not([type="hidden"]) {
  flex: 1;
}

.toolbar {
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.toolbar form {
  gap: .65rem;
  display: flex;
}

.audit-list {
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.audit-list li {
  border-top: 1px solid #e4e9e6;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding-top: .75rem;
  display: flex;
}

.audit-list p {
  margin: .2rem 0;
}

.approval-actions {
  gap: .5rem;
  display: flex;
}

.toolbar {
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  display: grid;
}

.toolbar input {
  flex: 1;
}

.dashboard {
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
  margin-bottom: 1.25rem;
  display: grid;
}

.dashboard-intro, .section-heading, .project-toolbar {
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin: 1.5rem 0 1rem;
  display: flex;
}

.dashboard-intro h2, .section-heading h2, .project-toolbar h2 {
  margin: .15rem 0;
}

.create-disclosure {
  position: relative;
}

.create-disclosure summary {
  list-style: none;
}

.create-disclosure summary::-webkit-details-marker {
  display: none;
}

.inline-create {
  background: var(--surface);
  border: 1px solid var(--border);
  z-index: 3;
  border-radius: .75rem;
  gap: .75rem;
  width: min(22rem, 90vw);
  padding: 1rem;
  display: grid;
  position: absolute;
  right: 0;
  box-shadow: 0 12px 30px #113e2826;
}

.inline-create label, .project-filters label, .project-toolbar label, .labelled-task-form label, .description-form label, .status-action label {
  gap: .35rem;
  font-size: .8rem;
  font-weight: 700;
  display: grid;
}

.dashboard-columns {
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  min-width: 0;
  margin-bottom: 2rem;
  display: grid;
}

.dashboard-panel {
  min-width: 0;
  padding: 1.25rem;
}

.dashboard-panel .activity-list {
  max-height: 14rem;
  overflow: auto;
}

.focus-list, .activity-list {
  gap: 0;
  min-width: 0;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.focus-list li, .activity-list li {
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
  padding: .8rem 0;
  display: flex;
}

.focus-copy, .activity-list li > span {
  flex: auto;
  gap: .35rem;
  min-width: 0;
  display: grid;
}

.focus-copy > a, .activity-list li > span a {
  color: var(--text-strong);
  overflow-wrap: anywhere;
  min-width: 0;
  font-weight: 700;
  line-height: 1.4;
}

.focus-copy > span, .activity-list small {
  color: var(--text-muted);
  overflow-wrap: anywhere;
  font-size: .875rem;
}

.task-signals {
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  display: flex;
}

.task-signals time {
  color: var(--text-muted);
  font-size: .8rem;
}

.task-signals time.overdue {
  color: var(--danger);
  font-weight: 700;
}

@media (max-width: 600px) {
  .focus-list li {
    flex-direction: column;
    align-items: stretch;
  }

  .focus-list .secondary-link {
    align-self: flex-start;
  }
}

.activity-list time {
  color: var(--text-muted);
  flex: none;
  font-size: .8rem;
}

.activity-feed {
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.activity-feed li {
  border-bottom: 1px solid var(--border);
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: start;
  gap: .75rem;
  padding: .75rem 0;
  display: grid;
}

.activity-avatar {
  background: var(--surface-muted);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.activity-content {
  overflow-wrap: anywhere;
  min-width: 0;
}

.activity-content small {
  color: var(--text-muted);
  display: block;
}

.activity-content p {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: .25rem 0 0;
  display: -webkit-box;
  overflow: hidden;
}

.activity-feed time {
  color: var(--text-muted);
  white-space: nowrap;
  font-size: .8rem;
}

.activity-filters {
  flex-wrap: wrap;
  align-items: end;
  gap: 1rem;
  margin-block: 1rem;
  display: flex;
}

.activity-pagination {
  justify-content: center;
  gap: 1rem;
  margin-block: 1.5rem;
  display: flex;
}

@media (max-width: 600px) {
  .activity-feed li {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .activity-feed time {
    overflow-wrap: anywhere;
    white-space: normal;
    grid-column: 2;
    min-width: 0;
  }

  .activity-filters > * {
    width: 100%;
  }

  .activity-filters label {
    gap: .35rem;
    width: 100%;
    display: grid;
  }

  .activity-filters select, .activity-filters button, .activity-filters a {
    width: 100%;
    max-width: 100%;
  }

  .activity-filters a {
    text-align: center;
  }
}

.project-filters {
  flex-wrap: wrap;
  align-items: end;
  gap: .5rem;
  display: flex;
}

.compact-project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-card {
  flex-direction: column;
  min-height: 0;
  padding: 1.15rem;
  display: flex;
}

.project-card-title {
  min-width: 0;
}

.project-card h3 {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 1.2rem;
}

.project-title-link {
  color: inherit;
  text-decoration: none;
}

.project-title-link:hover {
  color: var(--brand);
  text-decoration: underline;
}

.project-key {
  color: var(--text-muted);
  letter-spacing: .06em;
  margin-top: .25rem;
  font-size: .75rem;
  font-weight: 700;
  display: block;
}

.project-description {
  color: var(--text-muted);
  line-clamp: 2;
  -webkit-line-clamp: 2;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  min-height: 2.8em;
  margin-bottom: 0;
  display: -webkit-box;
  overflow: hidden;
}

.project-card dl, .workspace-task dl {
  grid-template-columns: repeat(2, 1fr);
  gap: .65rem;
  margin: 1rem 0;
  display: grid;
}

.view-all-projects {
  text-align: center;
  width: fit-content;
  margin: 1rem auto 0;
  display: block;
}

.project-card dl div, .workspace-task dl div {
  gap: .15rem;
  display: grid;
}

.project-card dt, .workspace-task dt {
  color: var(--text-muted);
  font-size: .75rem;
}

.project-card dd, .workspace-task dd {
  margin: 0;
  font-weight: 700;
}

.project-link {
  color: var(--brand);
  width: fit-content;
  margin-top: auto;
  font-weight: 700;
}

.project-hero {
  margin-top: 1.25rem;
  padding: 1.5rem;
}

.project-title {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.project-full-description {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  max-width: 75ch;
  margin: .45rem 0;
}

.project-header {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: .75rem;
  padding: 1rem 1.5rem;
}

.project-header-grid {
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  gap: 1.5rem;
  display: grid;
}

.project-description-label {
  margin: 1rem 0 .25rem;
  font-size: .8rem;
}

.project-full-description {
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  max-width: 65ch;
  display: -webkit-box;
  overflow: hidden;
}

.project-full-description.overview-description {
  -webkit-line-clamp: 8;
}

.project-full-description.expanded {
  -webkit-line-clamp: unset;
  display: block;
}

.description-toggle {
  color: var(--primary);
  cursor: pointer;
  font: inherit;
  background: none;
  border: 0;
  padding: .2rem 0;
  font-weight: 700;
}

.project-essentials h2, .overview-card h2 {
  margin-top: 0;
  font-size: 1.1rem;
}

.project-essentials {
  min-width: 0;
}

.essentials-list, .people-summary {
  gap: .75rem;
  margin: 0;
  display: grid;
}

.essentials-list > div, .people-summary > div {
  min-width: 0;
}

.essentials-list dt, .people-summary dt {
  color: var(--text-muted);
  font-size: .75rem;
  font-weight: 700;
}

.essentials-list dd, .people-summary dd {
  overflow-wrap: anywhere;
  margin: .2rem 0 0;
}

.people-summary {
  margin-top: .75rem;
}

.people-summary summary {
  cursor: pointer;
  min-height: 2.75rem;
  padding-block: .65rem;
}

.progress-summary {
  gap: .3rem;
  display: grid;
}

.progress-summary progress {
  accent-color: var(--brand);
  width: min(14rem, 100%);
  max-width: 100%;
}

.overview-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: .75rem;
  min-width: 0;
  padding: 1rem;
}

.project-header > .overview-card {
  margin-top: 1rem;
}

.section-heading {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.key-resource-list {
  gap: .5rem;
  padding: 0;
  list-style: none;
  display: grid;
}

.key-resource-list li {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  display: flex;
}

.key-resource-list li > div {
  overflow-wrap: anywhere;
  min-width: 0;
  display: grid;
}

.key-resource-list small {
  color: var(--text-muted);
}

.project-overview {
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  gap: 1.5rem;
  display: grid;
}

.overview-main, .overview-side {
  align-content: start;
  gap: 1rem;
  min-width: 0;
  display: grid;
}

.overview-card .summary-list {
  padding-left: 1.1rem;
}

@media (max-width: 960px) {
  .project-header-grid, .project-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .essentials-list {
    grid-template-columns: repeat(2, minmax(15rem, 1fr));
  }
}

@media (max-width: 600px) {
  .project-header {
    padding: 1rem;
  }

  .project-header-grid {
    gap: 1rem;
  }

  .essentials-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-navigation a {
    min-height: 2.75rem;
  }

  .key-resource-list li {
    align-items: flex-start;
  }
}

.task-title-link {
  color: inherit;
  text-underline-offset: .2em;
  text-decoration-color: #0000;
}

.task-title-link:hover {
  color: var(--brand);
  text-decoration-color: currentColor;
}

.task-title-link:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
  border-radius: .2rem;
}

.task-detail-page {
  background: var(--surface);
  min-height: 100dvh;
}

.task-detail-background {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.task-detail-scrim {
  background: #14201a73;
  position: fixed;
  inset: 0;
}

.task-detail {
  background: var(--surface);
  width: 40rem;
  max-width: 44vw;
  height: 100dvh;
  margin-left: auto;
  padding: 1.5rem;
  position: fixed;
  top: 0;
  right: 0;
  overflow: auto;
  box-shadow: -1rem 0 3rem #14201a33;
}

.task-detail-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.task-detail-header h2 {
  font-size: 1.5rem;
}

.task-detail-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
}

.task-edit-form {
  margin-top: 1rem;
}

.form-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.task-detail > section {
  border-top: 1px solid var(--border);
  margin-top: 1.5rem;
  padding-top: 1rem;
}

.task-detail-description {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.task-metadata {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.task-metadata div {
  min-width: 0;
}

.task-metadata dt {
  color: var(--text-muted);
  font-size: .8rem;
  font-weight: 700;
}

.task-metadata dd {
  overflow-wrap: anywhere;
  margin: .2rem 0 0;
}

.detail-list {
  gap: .75rem;
  padding: 0;
  list-style: none;
  display: grid;
}

.detail-list li {
  border: 1px solid var(--border);
  border-radius: .5rem;
  padding: .75rem;
}

.detail-list time {
  color: var(--text-muted);
  font-size: .8rem;
  display: block;
}

@media (max-width: 900px) {
  .task-detail {
    width: calc(100% - 2rem);
    max-width: none;
    max-height: calc(100dvh - 2rem);
    margin: 1rem;
  }
}

@media (max-width: 480px) {
  .task-detail {
    height: 100dvh;
    max-height: none;
    padding: max(1rem, env(safe-area-inset-top)) 1rem
      max(1rem, env(safe-area-inset-bottom));
    width: 100%;
    margin: 0;
  }

  .task-metadata {
    grid-template-columns: 1fr;
  }
}

.project-app-header .page-heading {
  min-width: 0;
}

.project-app-header .project-key {
  margin: 0;
  display: inline;
}

.description-editor {
  max-width: 40rem;
  margin-top: .5rem;
}

.description-editor summary {
  cursor: pointer;
  width: fit-content;
}

.description-editor .description-form {
  margin-top: .75rem;
  padding: 1rem;
}

.read-only-note {
  color: var(--text-muted);
  background: #f3f5f4;
  border-radius: .5rem;
  width: fit-content;
  padding: .6rem .75rem;
}

.project-navigation {
  border-bottom: 1px solid var(--border);
  gap: .25rem;
  margin: 1rem 0 1.5rem;
  display: flex;
  overflow-x: auto;
}

.project-navigation a {
  color: var(--text-muted);
  flex: none;
  padding: .75rem;
  font-weight: 700;
  text-decoration: none;
}

.project-navigation a[aria-current="page"] {
  border-bottom: 3px solid var(--brand);
  color: var(--brand);
}

.project-toolbar form {
  align-items: end;
  gap: .5rem;
  display: flex;
}

.project-info-link {
  border: 1px solid var(--border);
  color: var(--text-strong);
  white-space: nowrap;
  border-radius: .65rem;
  align-items: center;
  min-height: 44px;
  padding: .65rem .8rem;
  font-size: .85rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
}

.project-info-link:hover {
  background: var(--brand-subtle);
  border-color: var(--brand-blue);
}

.add-task {
  margin-bottom: 1rem;
  padding: 1rem;
}

.add-task summary {
  color: var(--brand);
  cursor: pointer;
  width: fit-content;
  font-weight: 700;
}

.labelled-task-form {
  grid-template-columns: 2fr repeat(3, 1fr) auto;
  align-items: end;
  gap: .75rem;
  margin-top: 1rem;
  display: grid;
}

.task-dialog {
  border: 1px solid var(--border);
  background: var(--surface);
  width: min(760px, 100vw - 64px);
  max-width: calc(100vw - 64px);
  max-height: calc(100dvh - 64px);
  color: var(--foreground);
  border-radius: 16px;
  margin: auto;
  padding: 0;
}

.task-dialog::backdrop {
  background: #0f172a8c;
}

.task-dialog-form {
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-columns: minmax(0, 1fr);
  max-height: calc(100dvh - 64px);
  display: grid;
}

.task-dialog header, .task-dialog footer {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  display: flex;
}

.task-dialog footer {
  border-top: 1px solid var(--border);
  border-bottom: 0;
  justify-content: flex-end;
}

.tg-content > button[type="button"], .task-dialog footer button[type="submit"] {
  color: #fff;
}

.task-dialog header h2, .task-dialog header p {
  margin: 0;
}

.close-dialog {
  min-width: 44px;
  font-size: 1.5rem;
}

.task-dialog-body {
  padding: 24px;
  overflow-y: auto;
}

.task-dialog-body label {
  gap: 8px;
  font-weight: 700;
  display: grid;
}

.full-field + .full-field {
  margin-top: 16px;
}

.task-field-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.more-options {
  margin-top: 24px;
}

.more-options summary {
  cursor: pointer;
  min-height: 44px;
  font-weight: 700;
}

.more-options label {
  margin-top: 12px;
}

.selected-file {
  overflow-wrap: anywhere;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  display: flex;
}

.file-actions {
  flex: none;
  gap: 8px;
  display: flex;
}

.selected-file button, .creation-result a {
  min-height: 44px;
}

.creation-result {
  margin-top: 8px;
}

.error-summary {
  border: 1px solid;
  padding: 12px;
}

.upload-field {
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.field-label {
  font-weight: 700;
}

.file-drop-zone-wrapper {
  display: grid;
}

.file-drop-zone {
  text-align: center;
  min-height: 86px;
  color: var(--text);
  cursor: pointer;
  border: 1px dashed var(--border-strong);
  background: #fbfdff;
  border-radius: .6rem;
  place-items: center;
  gap: 2px;
  padding: 12px;
  display: grid;
}

.file-drop-zone strong {
  display: block;
}

.file-drop-zone.drag-active {
  border-color: var(--brand);
  background: var(--brand-subtle);
}

.file-drop-zone:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

.file-drop-zone[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .6;
}

.browse-link {
  color: var(--brand);
  text-underline-offset: 2px;
  font-weight: 700;
  text-decoration: underline;
}

.resource-actions {
  flex: none;
  align-items: center;
  gap: 12px;
  display: flex;
}

@media (max-width: 768px) {
  .task-dialog {
    width: min(680px, 100vw - 48px);
    max-width: calc(100vw - 48px);
    max-height: calc(100dvh - 48px);
  }
}

@media (max-width: 480px) {
  .task-dialog {
    border: 0;
    border-radius: 0;
    width: 100%;
    max-width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
  }

  .task-dialog-form {
    height: 100dvh;
    max-height: 100dvh;
  }

  .task-dialog header {
    padding: max(16px, env(safe-area-inset-top)) 16px 16px;
  }

  .task-dialog-body {
    padding: 16px;
  }

  .task-dialog footer {
    padding: 16px 16px max(16px, env(safe-area-inset-bottom));
  }

  .task-dialog footer button {
    flex: 1;
  }

  .task-field-grid {
    grid-template-columns: 1fr;
  }
}

.workspace-task-list, .board-cards {
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.task-list-table-wrap {
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--surface);
  max-width: 100%;
  box-shadow: var(--shadow-sm);
  overflow-x: auto;
}

.task-list-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 50rem;
}

.task-list-table th, .task-list-table td {
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  padding: .85rem 1rem;
}

.task-list-table thead th {
  background: var(--surface-subtle);
  color: var(--text-muted);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .75rem;
}

.task-list-table tbody tr:last-child th, .task-list-table tbody tr:last-child td {
  border-bottom: 0;
}

.task-list-table tbody th {
  white-space: normal;
  min-width: 15rem;
}

.task-list-table tbody th .eyebrow, .task-list-table tbody th .task-title-link {
  display: block;
}

.task-list-table tbody th .task-title-link {
  margin-top: .25rem;
}

.task-list-table .status-action {
  flex-wrap: nowrap;
  align-items: center;
}

.task-list-table .status-action select {
  min-width: 8.5rem;
}

.task-list-table .task-indicators {
  gap: .5rem;
}

.home-board-section {
  inline-size: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 1.5rem 0 2rem;
  overflow: clip;
}

.home-board-header {
  align-items: flex-end;
  margin-bottom: .8rem;
}

.home-board-header .breadcrumb {
  align-items: center;
  gap: .5rem;
  margin: 0 0 .4rem;
  display: flex;
}

.home-board-header .breadcrumb a {
  color: var(--brand);
}

.home-board-header h2 {
  margin: 0;
}

.board-actions .control, .board-actions .segment-button {
  min-height: 38px;
}

.attention-strip-reference {
  border-color: #bfd3ff;
  border-left: 4px solid var(--brand-blue);
  background: #f7faff;
  min-height: 58px;
  margin: 0 0 .85rem;
}

.attention-strip-reference strong {
  margin-right: .35rem;
}

.attention-chip {
  border-radius: .55rem;
  padding: .45rem .7rem;
}

.legacy-attention-strip {
  margin-top: 1rem;
}

.add-card {
  border: 1px dashed var(--border-strong);
  color: var(--text-muted);
  text-align: center;
  background: none;
  border-radius: .55rem;
  margin-top: .65rem;
  padding: .55rem;
  font-size: .8rem;
  text-decoration: none;
  display: block;
}

.add-card:hover {
  background: var(--surface);
  color: var(--brand);
}

.task-card {
  box-shadow: var(--shadow-sm);
  border-radius: .55rem;
}

.task-controls {
  flex-wrap: wrap;
  align-items: end;
  gap: .65rem;
  margin: .75rem 0 1rem;
  display: flex;
}

.project-attention {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 1rem 0 0;
  padding: .7rem 1rem;
  display: flex;
}

.project-attention span {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 999px;
  padding: .25rem .6rem;
  font-size: .8rem;
}

.project-attention a {
  margin-left: auto;
  font-weight: 700;
}

.project-breadcrumbs {
  align-items: center;
  gap: .35rem;
  display: flex;
}

.project-breadcrumbs a {
  color: var(--brand);
}

.board-scroll-hint {
  color: var(--text-muted);
  margin: 0 0 .45rem;
  font-size: .78rem;
}

.task-indicators {
  color: var(--text-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  font-size: .75rem;
  display: flex;
}

.task-indicators span {
  white-space: nowrap;
}

.task-indicators svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5px;
  vertical-align: -2px;
  width: 13px;
  height: 13px;
}

.task-controls label {
  color: var(--text-muted);
  gap: .25rem;
  font-size: .8rem;
  display: grid;
}

.task-controls select {
  min-width: 9rem;
}

.workspace-task {
  grid-template-columns: minmax(12rem, 2fr) minmax(20rem, 3fr) auto;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  display: grid;
}

.workspace-task > div, .workspace-task dl, .workspace-task dl div, .workspace-task .status-action, .workspace-task .status-action label {
  min-width: 0;
}

.workspace-task h3 {
  overflow-wrap: anywhere;
  margin: .25rem 0 0;
  font-size: 1rem;
}

.workspace-task dl {
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
}

.status-action {
  flex-wrap: wrap;
  align-items: end;
  gap: .5rem;
  display: flex;
}

.status-action label {
  flex: 8rem;
}

.status-action select {
  width: 100%;
  max-width: 100%;
}

.task-board {
  grid-template-columns: repeat(6, 17rem);
  gap: .75rem;
  width: max-content;
  min-width: max-content;
  max-width: none;
  padding: .25rem .25rem 1rem;
  display: grid;
}

.task-board-viewport {
  contain: inline-size layout paint;
  inline-size: 100%;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: auto hidden;
}

.task-board-viewport:after {
  color: var(--brand);
  content: "Swipe to explore board →";
  text-align: right;
  margin: .15rem .25rem;
  font-size: .75rem;
  font-weight: 700;
  display: block;
}

@media (min-width: 1024px) {
  .task-board {
    grid-template-columns: repeat(6, minmax(17rem, 1fr));
    width: 100%;
    max-width: 100%;
  }
}

.ui-icon {
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.ui-icon svg, .header-icon-link svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  width: 1rem;
  height: 1rem;
}

.board-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.board-actions .control, .board-actions .segment-button {
  white-space: nowrap;
  align-items: center;
  gap: .4rem;
  min-height: 38px;
  display: inline-flex;
}

.board-actions .control {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-control);
  color: var(--text-strong);
  padding: .5rem .7rem;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.board-actions .control.primary {
  background: var(--brand-blue);
  border-color: var(--brand-blue);
  color: #fff;
}

.header-icon-link {
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  display: inline-flex;
}

.attention-strip-reference {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.attention-strip-reference strong {
  align-items: center;
  gap: .35rem;
  display: inline-flex;
}

.attention-strip-reference .attention-chip {
  border: 1px solid var(--border);
  color: var(--text-strong);
  font-size: .75rem;
  font-weight: 700;
}

.attention-strip-reference .blocked {
  background: var(--danger-bg);
  color: var(--danger);
  border-color: #f3b8bb;
}

.attention-strip-reference .approval {
  background: #fff7df;
  border-color: #f0d28a;
}

.attention-strip-reference .agent {
  background: #e8f8fb;
  border-color: #a9e3eb;
}

.attention-dismiss {
  color: var(--text-muted);
  background: none;
  border: 0;
  min-height: 32px;
  margin-left: auto;
  padding: .3rem;
  font-size: .75rem;
}

.task-board {
  grid-template-columns: repeat(6, 238px);
  gap: .625rem;
}

.task-board-viewport {
  overflow-x: auto;
}

.board-column {
  border: 1px solid var(--border);
  background: #f4f7fb;
  border-radius: .5rem;
  padding: .625rem;
}

.board-cards {
  gap: .5rem;
}

.board-column .task-card-heading h4 {
  font-size: .84rem;
  line-height: 1.25;
}

.task-card-assignee {
  color: var(--text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0;
  font-size: .72rem;
  overflow: hidden;
}

.board-column .task-card-meta {
  font-size: .7rem;
}

.board-column .task-indicators {
  margin-top: auto;
}

.board-column .workspace-task dl {
  display: none;
}

.board-column .workspace-task .status-action {
  border: 0;
  padding: 0;
}

.status-action summary {
  color: var(--brand);
  cursor: pointer;
  font-size: .7rem;
  font-weight: 700;
  list-style: none;
}

.status-action summary::-webkit-details-marker {
  display: none;
}

.status-action form {
  align-items: center;
  gap: .35rem;
  margin-top: .3rem;
  display: flex;
}

.status-action form select {
  min-width: 0;
  min-height: 32px;
}

.status-action form button {
  min-height: 32px;
}

@media (min-width: 621px) and (max-width: 1023px) {
  .navigation-trigger {
    width: fit-content;
    margin-bottom: .5rem;
    display: block;
  }

  .app-navigation {
    display: none;
  }

  .app-navigation.open {
    display: grid;
  }

  .board-actions {
    justify-content: flex-start;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
  }
}

@media (min-width: 1024px) {
  .app-shell {
    width: calc(100vw - 21rem);
    max-width: none;
    margin-left: 17rem;
    padding: 0 2rem 5rem;
  }

  .app-shell > header {
    border-bottom: 1px solid var(--border);
    align-items: center;
    min-height: 4rem;
    margin: 0 -2rem 1.25rem;
    padding: 0 2rem;
  }

  .app-header .page-heading, .app-header > .brand-logo {
    display: none;
  }

  .app-header .header-actions {
    flex: 1;
    justify-content: flex-end;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
  }

  .task-board-viewport {
    max-height: calc(100dvh - 16rem);
    overflow: auto;
  }
}

@media (max-width: 1023px) {
  .app-shell {
    overflow-x: clip;
  }

  .app-shell > header {
    align-items: center;
    gap: .5rem;
    min-height: 3.5rem;
    margin-bottom: .75rem;
  }

  .app-header .page-heading {
    display: none;
  }

  .app-header .header-actions {
    flex-wrap: nowrap;
    flex: 1;
    align-items: center;
    gap: .4rem;
    width: auto;
    display: flex;
  }

  .app-header .context-switcher {
    flex: auto;
    min-width: 0;
  }

  .app-header .context-trigger {
    width: 100%;
    max-width: none;
    min-height: 44px;
    overflow: hidden;
  }

  .app-header .header-actions form, .app-header .header-actions form button {
    width: auto;
  }

  .header-icon-link {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
  }

  .navigation-trigger {
    width: auto;
    min-height: 44px;
    margin: 0 0 .5rem;
    display: block;
  }

  .app-navigation, .app-navigation.open {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    z-index: 30;
    border-radius: .65rem;
    width: auto;
    max-height: calc(100dvh - 7rem);
    padding: .75rem;
    display: none;
    position: fixed;
    top: 6.6rem;
    left: .75rem;
    right: .75rem;
    overflow-y: auto;
  }

  .app-navigation.open {
    display: grid;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
    width: max-content;
    min-width: max-content;
  }

  .task-board-viewport {
    overscroll-behavior: contain;
    max-height: min(58dvh, 32rem);
    overflow: auto;
  }
}

@media (max-width: 620px) {
  .app-shell {
    padding: .5rem .75rem 3rem;
  }

  .app-header .header-actions form button {
    width: 44px;
    min-height: 44px;
    padding: .5rem;
    font-size: 0;
  }

  .app-header .header-actions form button:after {
    content: "↪";
    font-size: 1rem;
  }

  .home-board-section {
    margin-top: .75rem;
  }

  .home-board-header {
    align-items: stretch;
  }

  .board-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .board-actions .segments {
    grid-column: 1 / -1;
  }

  .board-actions .control, .board-actions .segment-button {
    min-width: 0;
    min-height: 44px;
  }

  .task-board-viewport {
    max-height: min(55dvh, 28rem);
  }
}

.app-shell {
  background: var(--locked-canvas);
  font-size: 14px;
}

.app-header.topbar {
  height: 64px;
  min-height: 64px;
}

.sidebar-logo .brand-logo-crop, .sidebar-logo .brand-logo-crop img {
  width: 150px;
  height: 44px;
}

.sidebar-logo .brand-logo-crop img {
  object-fit: initial;
  width: 180px;
  max-width: none;
  height: 120px;
  top: -38px;
  left: -20px;
}

.global-search {
  position: relative;
}

.global-search input {
  padding-right: 62px;
}

.search-shortcut {
  border-left: 1px solid var(--locked-border);
  color: var(--text-muted);
  padding-left: 10px;
  font-size: 12px;
  position: absolute;
  top: 10px;
  right: 10px;
}

.navigation-project {
  gap: 2px;
  display: grid;
}

.navigation-project-chevron {
  color: #8a95aa;
  margin-left: auto;
}

.task-board-viewport {
  overflow: auto hidden;
}

.task-board {
  grid-template-columns: repeat(5, minmax(238px, 1fr));
  gap: 10px;
  min-width: 1215px;
  display: grid;
}

.board-column {
  border: 1px solid var(--locked-border);
  background: #f9fbfd;
  border-radius: 11px;
  min-height: 565px;
  padding: 10px;
}

.board-column .workspace-task.task-card {
  background: var(--surface);
  border: 1px solid var(--locked-border);
  border-radius: 9px;
  gap: 8px;
  min-height: 116px;
  padding: 10px;
  box-shadow: 0 2px 8px #0116460a;
}

.board-column .task-card-heading {
  grid-template-columns: 8px 1fr 20px;
  gap: 7px;
  display: grid;
}

.board-column .task-card-title h4 {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.board-column .task-card-title .eyebrow {
  color: var(--text-muted);
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  display: block;
}

.board-column .task-card-labels {
  gap: 5px;
  padding: 5px 0 3px 15px;
  display: flex;
}

.board-column .task-card-labels .status, .board-column .task-card-labels .priority {
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
}

.board-column .task-card-footer {
  border-top: 1px solid #eef1f6;
  gap: 10px;
  padding-top: 7px;
  display: flex;
}

.board-column .task-card-assignee {
  margin-right: auto;
}

.board-column .task-card-footer time, .board-column .task-indicators {
  color: var(--text-muted);
  font-size: 11px;
}

@media (max-width: 820px) {
  .task-board {
    grid-template-columns: repeat(5, 238px);
    width: max-content;
    min-width: max-content;
  }
}

.brand-logo-crop img {
  object-fit: contain;
  object-position: left center;
}

.board-column .workspace-task {
  gap: .45rem;
  min-height: 0;
  padding: .65rem;
}

.board-column .workspace-task .status-action {
  display: none;
}

.task-card-heading {
  align-items: flex-start;
  gap: .45rem;
}

.task-card-heading .drag-handle {
  flex: 0 0 1.25rem;
  width: 1.25rem;
  min-height: 1.25rem;
  padding: 0;
}

.task-card-title {
  min-width: 0;
}

.task-card-title h4 {
  margin: .15rem 0 0;
  font-size: .75rem;
  line-height: 1.45;
}

.task-status-dot {
  background: var(--border-strong);
  border-radius: 50%;
  flex: 0 0 .45rem;
  width: .45rem;
  height: .45rem;
  margin-top: .3rem;
}

.task-status-dot.backlog {
  background: #94a3b8;
}

.task-status-dot.todo {
  background: var(--brand);
}

.task-status-dot.in_progress {
  background: #d97706;
}

.task-status-dot.in_review {
  background: #8b5cf6;
}

.task-status-dot.done {
  background: #16a34a;
}

.task-card-labels {
  align-items: center;
  gap: .3rem;
  min-height: 1.1rem;
  display: flex;
}

.task-card-labels .status, .task-card-labels .priority {
  border-radius: 999px;
  padding: .18rem .4rem;
  font-size: .6875rem;
  font-weight: 700;
  line-height: 1.2;
}

.task-card-footer {
  color: var(--text-muted);
  align-items: center;
  gap: .5rem;
  min-height: 1.35rem;
  font-size: .6875rem;
  display: flex;
}

.task-card-footer .task-card-assignee {
  margin-right: auto;
}

.task-card-footer .task-assignee-avatar {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
}

.task-card-footer .task-indicators {
  gap: .45rem;
  display: flex;
}

.task-card-menu {
  position: relative;
}

.task-card-menu summary {
  color: var(--text-muted);
  cursor: pointer;
  border-radius: .35rem;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  font-size: .7rem;
  list-style: none;
  display: inline-flex;
}

.task-card-menu summary::-webkit-details-marker {
  display: none;
}

.task-card-menu summary:hover, .task-card-menu summary:focus-visible {
  background: var(--brand-subtle);
  color: var(--brand);
}

.task-card-menu form {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  z-index: 5;
  border-radius: .5rem;
  align-items: center;
  gap: .35rem;
  padding: .45rem;
  display: flex;
  position: absolute;
  top: calc(100% + .25rem);
  right: 0;
}

.task-card-menu select {
  max-width: 8rem;
  min-height: 32px;
}

.task-card-menu button {
  min-height: 32px;
  padding: .35rem .55rem;
}

@media (min-width: 1024px) {
  .app-shell {
    width: calc(100% - 252px);
    margin-left: 252px;
    padding: 0 24px 48px;
  }

  .app-shell > header {
    margin: 0 -24px 22px;
    padding: 0 24px;
  }

  .app-navigation {
    width: 252px;
    padding: 0 10px 18px;
  }

  .sidebar-brand {
    padding: 0 8px;
  }

  .sidebar-logo {
    width: 150px;
    height: 44px;
    margin: 0;
  }

  .navigation-primary-links, .navigation-projects-group {
    margin-top: 8px;
  }

  .navigation-footer-links {
    margin-top: auto;
  }

  .task-board-viewport {
    overflow: auto hidden;
  }
}

@media (max-width: 1023px) {
  .app-shell {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .task-board-viewport {
    max-width: 100%;
  }
}

@media (min-width: 1024px) {
  .app-header {
    align-items: center;
    margin-bottom: 1rem;
    display: flex;
  }

  .app-header .header-actions {
    box-shadow: none;
    background: none;
    border: 0;
    align-items: center;
    gap: .75rem;
    width: 100%;
    max-height: none;
    padding: 0;
    display: flex;
    position: static;
    overflow: visible;
  }

  .app-header .context-switcher {
    margin-right: .25rem;
  }

  .context-trigger {
    background: var(--surface);
  }

  .global-search {
    flex: 28rem;
    align-items: center;
    max-width: 34rem;
    display: flex;
    position: relative;
  }

  .global-search svg {
    color: var(--text-muted);
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: .8rem;
  }

  .global-search input {
    width: 100%;
    padding-left: 2.35rem;
  }

  .app-header .header-icon-link {
    margin-left: auto;
  }

  .user-menu {
    white-space: nowrap;
    align-items: center;
    gap: .45rem;
    display: inline-flex;
  }

  .user-avatar {
    background: var(--brand-subtle);
    color: var(--brand-navy);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 1.7rem;
    height: 1.7rem;
    font-size: .75rem;
    display: inline-flex;
  }

  .home-board-section {
    margin-top: .5rem;
  }

  .home-board-header {
    justify-content: space-between;
    align-items: end;
    gap: 1.25rem;
    margin-bottom: .65rem;
    display: flex;
  }

  .home-board-header > :first-child {
    min-width: 14rem;
  }

  .home-board-header .board-actions {
    flex: auto;
    justify-content: flex-end;
  }

  .app-navigation > .app-navigation-project {
    display: none;
  }

  .app-navigation > .navigation-group[aria-label="Workspace navigation"] {
    order: 2;
  }

  .app-navigation > .navigation-projects-group {
    order: 3;
  }

  .app-navigation > .navigation-group[aria-label="More navigation"] {
    order: 4;
    margin-top: auto;
  }

  .navigation-heading-row {
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .navigation-heading-row .navigation-label {
    margin-bottom: 0;
  }

  .navigation-add {
    padding: .2rem .55rem !important;
    font-size: 1.25rem !important;
  }

  .navigation-project-link {
    gap: .1rem;
    display: grid;
  }

  .navigation-project-link span {
    color: var(--text-muted);
    font-size: .72rem;
  }

  .navigation-project-link strong {
    font-size: .88rem;
  }

  .navigation-project-child {
    margin-left: .75rem;
    padding-top: .35rem !important;
    font-size: .8rem !important;
  }
}

.task-assignee-avatar {
  background: var(--brand-subtle);
  border: 1px solid var(--border);
  color: var(--brand-navy);
  border-radius: 50%;
  flex: 0 0 1.35rem;
  justify-content: center;
  align-items: center;
  width: 1.35rem;
  height: 1.35rem;
  margin-right: .35rem;
  font-size: .6875rem;
  font-weight: 700;
  display: inline-flex;
}

.task-card-assignee {
  align-items: center;
  display: flex;
}

@media (min-width: 1024px) {
  .app-shell {
    width: calc(100vw - 21rem);
    max-width: none;
    margin-left: 17rem;
    padding: 0 2rem 5rem;
  }

  .app-shell > header {
    border-bottom: 1px solid var(--border);
    align-items: center;
    min-height: 4rem;
    margin: 0 -2rem 1.25rem;
    padding: 0 2rem;
  }

  .app-header .page-heading, .app-header > .brand-logo {
    display: none;
  }

  .app-header .header-actions {
    flex: 1;
    justify-content: flex-end;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
  }

  .task-board-viewport {
    max-height: calc(100dvh - 16rem);
    overflow: auto;
  }
}

@media (max-width: 1023px) {
  .app-shell {
    overflow-x: clip;
  }

  .app-shell > header {
    align-items: center;
    gap: .5rem;
    min-height: 3.5rem;
    margin-bottom: .75rem;
  }

  .app-header .page-heading {
    display: none;
  }

  .app-header .header-actions {
    flex-wrap: nowrap;
    flex: 1;
    align-items: center;
    gap: .4rem;
    width: auto;
    display: flex;
  }

  .app-header .context-switcher {
    flex: auto;
    min-width: 0;
  }

  .app-header .context-trigger {
    width: 100%;
    max-width: none;
    min-height: 44px;
    overflow: hidden;
  }

  .app-header .header-actions form, .app-header .header-actions form button {
    width: auto;
  }

  .header-icon-link {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .navigation-trigger {
    width: auto;
    min-height: 44px;
    margin: 0 0 .5rem;
    display: block;
  }

  .app-navigation, .app-navigation.open {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    z-index: 30;
    border-radius: .65rem;
    width: auto;
    max-height: calc(100dvh - 7rem);
    padding: .75rem;
    display: none;
    position: fixed;
    top: 6.6rem;
    left: .75rem;
    right: .75rem;
    overflow-y: auto;
  }

  .app-navigation.open {
    display: grid;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
    width: max-content;
    min-width: max-content;
  }

  .task-board-viewport {
    overscroll-behavior: contain;
    max-height: min(58dvh, 32rem);
    overflow: auto;
  }
}

@media (max-width: 620px) {
  .app-shell {
    padding: .5rem .75rem 3rem;
  }

  .app-header .header-actions form button {
    width: 44px;
    min-height: 44px;
    padding: .5rem;
    font-size: 0;
  }

  .app-header .header-actions form button:after {
    content: "↪";
    font-size: 1rem;
  }

  .home-board-section {
    margin-top: .75rem;
  }

  .home-board-header {
    align-items: stretch;
  }

  .board-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .board-actions .control, .board-actions .segment-button {
    min-width: 0;
    min-height: 44px;
  }

  .task-board-viewport {
    max-height: min(55dvh, 28rem);
  }

  .header-icon-link {
    display: none;
  }

  .board-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    display: grid;
  }

  .board-actions .segments {
    grid-column: 1 / -1;
  }

  .board-actions .control {
    justify-content: center;
    min-width: 0;
    overflow: hidden;
  }

  .board-actions .control.primary {
    grid-column: 1 / -1;
  }

  .attention-strip-reference {
    align-items: flex-start;
  }

  .attention-dismiss {
    margin-left: 0;
  }

  .task-board {
    grid-template-columns: 238px;
  }

  .task-board-viewport {
    width: calc(100% + .5rem);
    margin-inline: -.25rem;
  }
}

.board-column {
  background: #eef2ef;
  border: 2px solid #0000;
  border-radius: .75rem;
  padding: .75rem;
}

.task-board.is-dragging .board-column {
  border-color: var(--brand);
}

.board-empty {
  border: 2px dashed var(--border);
  color: var(--text-muted);
  text-align: center;
  border-radius: .6rem;
  min-height: 5rem;
  padding: 1.25rem .75rem;
}

.task-card-heading {
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.task-card-heading h4 {
  overflow-wrap: anywhere;
  margin: .25rem 0 0;
  font-size: 1rem;
}

.drag-handle {
  color: var(--text-muted);
  cursor: grab;
  touch-action: pan-y;
  background: none;
  flex: 0 0 2.75rem;
  min-height: 2.75rem;
  padding: .5rem;
}

.drag-handle:active {
  cursor: grabbing;
}

.workspace-task[aria-busy="true"] {
  opacity: .7;
}

.board-column > h3 {
  justify-content: space-between;
  align-items: center;
  margin: 0 0 .75rem;
  font-size: .9rem;
  display: flex;
}

.board-column-menu {
  color: var(--text-muted);
  background: none;
  border: 0;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  padding: 5px;
  display: inline-flex;
}

.board-column-menu:hover, .board-column-menu:focus-visible {
  background: var(--surface);
  color: var(--brand);
}

.board-column-menu svg {
  fill: currentColor;
  width: 16px;
  height: 16px;
}

.board-column .workspace-task {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.board-column .workspace-task dl {
  grid-template-columns: 1fr 1fr;
}

.board-column .workspace-task {
  gap: .6rem;
  padding: .8rem;
}

.task-card-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  display: flex;
}

.task-card-meta .status, .task-card-meta .priority {
  border-radius: 999px;
  padding: .25rem .5rem;
  font-size: .7rem;
  font-weight: 700;
}

.task-card-meta time {
  color: var(--text-muted);
  margin-left: auto;
  font-size: .72rem;
}

.board-column .workspace-task dl, .board-column .workspace-task .status-action {
  border-top: 1px solid var(--border);
  padding-top: .55rem;
}

.board-column .workspace-task .status-action select, .board-column .workspace-task .status-action button {
  min-height: 38px;
  padding: .45rem .7rem;
}

.project-section > h2 {
  margin-top: .15rem;
}

.project-section {
  min-width: 0;
  max-width: 100%;
}

:root {
  --locked-navy: #010a37;
  --locked-blue: #015afc;
  --locked-canvas: #f7f9fc;
  --locked-border: #dce3ef;
}

body {
  background: var(--locked-canvas);
}

.app-shell {
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0 24px 48px 276px;
  overflow-x: hidden;
}

.app-header {
  border-bottom: 1px solid var(--locked-border);
  z-index: 20;
  background: #fffffff2;
  grid-template-columns: minmax(170px, auto) minmax(260px, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 64px;
  margin: 0 -24px 0 -276px;
  padding: 0 22px 0 276px;
  display: grid;
  position: sticky;
  top: 0;
}

.app-header .header-actions {
  display: contents;
}

.app-header .context-switcher {
  grid-column: 1;
}

.app-header .global-search {
  grid-column: 2;
  width: 100%;
}

.app-header .header-icon-link, .app-header form {
  grid-row: 1;
}

.app-header .header-icon-link {
  grid-column: 3;
  margin-left: auto;
}

.app-header form {
  grid-column: 3;
  margin-left: 44px;
}

.app-navigation {
  border-bottom: 0;
  border-right: 1px solid var(--locked-border);
  z-index: 30;
  background: #fff;
  flex-direction: column;
  gap: 4px;
  width: 252px;
  height: 100vh;
  margin: 0;
  padding: 0 10px 18px;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden auto;
}

.sidebar-brand {
  flex: 0 0 64px;
  align-items: center;
  height: 64px;
  padding: 0 8px;
  display: flex;
}

.sidebar-logo {
  width: 150px;
  height: 44px;
}

.navigation-group {
  gap: 2px;
  display: grid;
}

.navigation-primary-links {
  margin-top: 8px;
}

.navigation-group > a, .navigation-project-link, .navigation-project-child {
  color: #5c6882;
  border-radius: 7px;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 7px 10px;
  text-decoration: none;
  display: flex;
}

.navigation-group > a[aria-current="page"], .navigation-project-child[aria-current="page"] {
  box-shadow: inset 3px 0 var(--locked-blue);
  color: var(--locked-blue);
  background: #eef4ff;
  font-weight: 700;
}

.navigation-icon {
  justify-content: center;
  align-items: center;
  min-width: 20px;
  font-size: 17px;
  display: inline-flex;
}

.navigation-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6px;
  width: 17px;
  height: 17px;
}

.navigation-label {
  color: #5c6882;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.navigation-heading-row {
  justify-content: space-between;
  align-items: center;
  padding: 14px 10px 4px;
  display: flex;
}

.navigation-add {
  color: var(--locked-blue);
  font-size: 20px;
  text-decoration: none;
}

.navigation-project-child-list {
  border-left: 1px solid var(--locked-border);
  margin-left: 20px;
  padding-left: 8px;
  display: grid;
}

.navigation-project-child {
  min-height: 34px;
  font-size: 12px;
}

.navigation-footer-links {
  border-top: 1px solid var(--locked-border);
  margin-top: auto;
  padding-top: 10px;
}

.navigation-trigger, .navigation-backdrop {
  display: none;
}

.home-board-section {
  margin: 22px 0 32px;
}

.home-board-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 17px;
  display: flex;
}

.home-board-header h1 {
  color: var(--locked-navy);
  margin: 0;
  font-size: 29px;
  line-height: 1.15;
}

.board-actions {
  justify-content: flex-end;
}

.task-board-viewport {
  overscroll-behavior-inline: contain;
  padding-bottom: 4px;
}

.task-board {
  grid-template-columns: repeat(5, minmax(238px, 1fr));
  min-width: 1215px;
}

.board-column {
  border: 1px solid var(--locked-border);
  background: #f9fbfd;
  min-height: 565px;
  padding: 10px;
}

.board-column > h3 {
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
}

.board-column .workspace-task {
  min-height: 116px;
}

@media (min-width: 821px) and (max-width: 1120px) {
  .app-shell {
    padding-left: 106px;
  }

  .app-header {
    grid-template-columns: 150px minmax(240px, 1fr) auto;
    margin-left: -106px;
    padding-left: 106px;
  }

  .app-navigation {
    width: 82px;
  }

  .app-navigation .navigation-link-label, .app-navigation .navigation-label, .app-navigation .navigation-add, .app-navigation .navigation-project-child-list, .app-navigation .navigation-project-link .navigation-link-label {
    display: none;
  }

  .app-navigation > .navigation-group > a, .app-navigation .navigation-project-link {
    justify-content: center;
    padding-inline: 4px;
  }

  .sidebar-brand {
    padding-inline: 2px;
  }

  .sidebar-logo {
    object-fit: cover;
    object-position: left;
    width: 58px;
  }
}

@media (max-width: 820px) {
  .app-shell {
    padding: 0 14px 40px;
  }

  .app-header {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 8px;
    margin: 0 -14px;
    padding: 0 14px;
    display: grid;
  }

  .app-header .context-switcher {
    display: none;
  }

  .app-header .global-search {
    grid-column: 2;
  }

  .app-header .header-icon-link {
    grid-column: 3;
  }

  .app-header form {
    display: none;
  }

  .navigation-trigger {
    z-index: 50;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    display: inline-flex;
    position: absolute;
    top: 11px;
    left: 14px;
  }

  .app-navigation {
    z-index: 45;
    transition: transform .18s;
    transform: translateX(-105%);
    box-shadow: 10px 0 30px #010a3726;
  }

  .app-navigation.open {
    transform: translateX(0);
  }

  .navigation-backdrop {
    z-index: 40;
    background: #010a3759;
    border: 0;
    display: block;
    position: fixed;
    inset: 0;
  }

  .home-board-header {
    flex-direction: column;
    align-items: stretch;
  }

  .board-actions {
    justify-content: flex-start;
  }

  .attention-strip-reference {
    align-items: flex-start;
  }
}

@media (max-width: 520px) {
  .app-header {
    min-height: 64px;
  }

  .global-search input {
    width: 100%;
    min-width: 0;
  }

  .home-board-section {
    margin-top: 17px;
  }

  .home-board-header h1 {
    font-size: 24px;
  }

  .board-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    display: grid;
  }

  .board-actions .segments, .board-actions .control.primary {
    grid-column: 1 / -1;
  }

  .board-actions .control {
    text-overflow: ellipsis;
    justify-content: center;
    min-height: 44px;
    padding-inline: 6px;
    overflow: hidden;
  }

  .board-actions .segment-button {
    justify-content: center;
    min-height: 44px;
  }

  .attention-strip-reference {
    gap: 7px;
  }

  .attention-strip-reference strong {
    flex-basis: 100%;
  }

  .attention-strip-reference .attention-chip {
    white-space: nowrap;
  }

  .attention-dismiss {
    margin-left: auto;
  }

  .task-board {
    grid-template-columns: calc(100vw - 42px);
    min-width: max-content;
  }

  .task-board-viewport {
    width: calc(100% + 4px);
    margin-inline: -2px;
  }
}

.summary-list {
  gap: .75rem;
  display: grid;
}

.summary-row {
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  display: flex;
}

.action-card {
  max-width: 50rem;
  padding: 1.25rem;
}

.description-form {
  gap: 1rem;
  display: grid;
}

.description-form textarea {
  resize: vertical;
}

.description-form button {
  justify-self: start;
}

.project-empty {
  margin: 1rem auto;
}

.team {
  grid-template-columns: minmax(180px, .65fr) 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  display: grid;
}

.notification-heading, .notification-list li {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.notifications {
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.notification-list {
  gap: .75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.notification-list li {
  border: 1px solid var(--border);
  border-radius: .75rem;
  padding: 1rem;
}

.notification-list li.unread {
  background: #eef8f3;
  border-color: #8bc4aa;
}

.notification-list p {
  margin: .35rem 0;
}

.notification-list time {
  color: var(--text-muted);
  font-size: .8rem;
}

.notification-empty {
  text-align: center;
  padding: 1.5rem 0 .5rem;
}

@media (min-width: 1024px) {
  .app-shell {
    width: 100%;
    padding-left: 276px;
    padding-right: 24px;
  }

  .app-header {
    grid-template-columns: 170px minmax(260px, 1fr) 38px 90px;
    gap: 20px;
    margin-left: -276px;
    margin-right: -24px;
    padding-left: 276px;
    padding-right: 24px;
  }

  .app-header .header-icon-link {
    grid-column: 3;
    margin-left: 0;
  }

  .app-header form {
    grid-column: 4;
    margin-left: 0;
  }

  .app-header .user-menu {
    white-space: nowrap;
    background: none;
    border: 0;
    gap: 8px;
    min-height: 36px;
    padding: 4px 0;
  }

  .sidebar-brand {
    height: 64px;
    padding: 0;
  }

  .sidebar-logo {
    width: 104px;
    height: 31px;
  }

  .brand-logo-crop img {
    object-fit: fill;
    width: 132px;
    max-width: none;
    height: 88px;
    top: -28px;
    left: 0;
  }

  .home-board-section {
    margin-top: 22px;
  }

  .home-board-header {
    margin-bottom: 14px;
  }

  .home-board-header h1 {
    font-size: 29px;
    font-weight: 700;
    line-height: 30px;
  }

  .attention-strip-reference {
    border-radius: 8px;
    min-height: 41px;
    margin-bottom: 14px;
    padding: 6px 14px;
  }

  .task-board {
    grid-template-columns: repeat(5, 238px);
    gap: 10px;
    width: max-content;
    min-width: max-content;
  }

  .board-column {
    border: 1px solid var(--locked-border);
    border-radius: 10px;
    min-height: 565px;
    padding: 10px;
  }

  .board-column .workspace-task {
    border-radius: 10px;
    gap: 6px;
    min-height: 0;
    padding: 10px;
  }

  .task-card-heading {
    grid-template-columns: 7px minmax(0, 1fr) auto;
    gap: 6px;
    display: grid;
  }

  .task-card-heading .drag-handle {
    opacity: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    position: absolute;
  }

  .task-card-title h4, .board-column .task-card-heading h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px;
  }

  .task-status-dot {
    margin-top: 5px;
  }

  .task-card-labels {
    border-bottom: 1px solid #e6ebf3;
    padding-bottom: 6px;
  }

  .task-card-labels .status {
    display: none;
  }

  .task-card-labels .priority {
    color: var(--locked-blue);
    background: #eef4ff;
    padding: 3px 7px;
    font-size: 11px;
  }

  .task-card-footer {
    gap: 6px;
    min-height: 22px;
    font-size: 11px;
  }

  .task-card-menu {
    z-index: 2;
  }

  .task-card-menu summary {
    width: 24px;
    height: 24px;
  }
}

.team ul {
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.team li, .team form {
  align-items: center;
  gap: .65rem;
  display: flex;
}

.team li {
  border-bottom: 1px solid #edf0ee;
  padding-bottom: .5rem;
}

.member-avatar {
  color: #14623f;
  background: #d8f3e5;
  border-radius: 50%;
  flex: 0 0 2rem;
  justify-content: center;
  align-items: center;
  height: 2rem;
  font-weight: 700;
  display: flex;
}

.member-identity {
  flex: 1;
  display: grid;
}

.member-identity small, .member-role {
  color: var(--text-muted);
}

.member-role {
  text-transform: capitalize;
}

.agents {
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  display: grid;
}

.agent-list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.agent-list li, .agent-empty {
  border: 1px solid #edf0ee;
  border-radius: .75rem;
  padding: .75rem;
}

.agent-list li div {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.agent-list p {
  margin: .45rem 0;
}

.agent-list small {
  color: var(--text-muted);
}

.agent-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  display: grid;
}

.agent-form button {
  justify-self: start;
}

.agent-assignment summary {
  color: var(--text-muted);
  cursor: pointer;
  font-size: .85rem;
}

.agent-assignment ul {
  flex-wrap: wrap;
  gap: .4rem;
  margin: .6rem 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.agent-assignment li {
  background: #e7ece9;
  border: 0;
  border-radius: 999px;
  padding: .3rem .55rem;
  font-size: .8rem;
  display: block;
}

.agent-assignment form {
  gap: .5rem;
  display: flex;
}

.metric {
  gap: .25rem;
  padding: 1rem;
  display: grid;
}

.metric span, .search-summary {
  color: var(--text-muted);
}

.metric strong {
  font-size: 1.75rem;
}

.clear-search {
  color: var(--brand);
  align-self: center;
  padding: .5rem;
  font-weight: 700;
}

.search-summary {
  margin-bottom: 1rem;
}

.view-switcher {
  justify-content: flex-end;
  gap: .35rem;
  margin: 0 0 1rem;
  display: flex;
}

.view-switcher a {
  color: #445149;
  border: 1px solid #d8dfda;
  border-radius: .5rem;
  padding: .45rem .75rem;
  font-weight: 700;
  text-decoration: none;
}

.view-switcher a[aria-current="page"] {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.project-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
  display: grid;
}

.project {
  padding: 1.15rem;
}

.task-form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .5rem;
  margin: 1rem 0;
  display: grid;
}

.task-form input[name="title"] {
  grid-column: 1 / -1;
}

.task-form button {
  width: 100%;
}

.task-list {
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.task-list.board {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.task-list.board .task-item {
  background: #f8faf8;
  border: 1px solid #e1e7e3;
  border-radius: .65rem;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: .75rem;
}

.task-list.board .task-summary {
  flex-wrap: wrap;
  align-items: flex-start;
  min-width: 0;
}

.task-list.board .task-summary strong {
  overflow-wrap: anywhere;
  flex-basis: 100%;
  order: -1;
}

.task-list.board .task-summary form {
  flex-wrap: wrap;
}

.task-list.board details {
  min-width: 0;
}

.task-list > .task-item {
  border-top: 1px solid #edf0ee;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: .65rem;
  min-width: 0;
  padding-top: .65rem;
  display: grid;
}

.task-item {
  overflow-wrap: anywhere;
}

.task-summary, .task-summary form {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  display: flex;
}

.task-summary strong {
  overflow-wrap: anywhere;
  flex: 12rem;
  min-width: 0;
}

.task-summary select {
  width: auto;
  max-width: 100%;
}

.task-item select, .task-item details form, .task-item > details, .task-item > details > * {
  min-width: 0;
  max-width: 100%;
}

.compact {
  padding: .45rem .65rem;
}

.comments summary {
  color: var(--text-muted);
  cursor: pointer;
  font-size: .85rem;
}

.comments ul {
  gap: .5rem;
  margin: .75rem 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.comments li {
  background: var(--surface);
}

@supports (color: color-mix(in lab, red, red)) {
  .comments li {
    background: color-mix(in srgb, var(--surface) 80%, var(--brand) 20%);
  }
}

.comments li {
  display: block;
}

.comments p {
  white-space: pre-wrap;
  margin: .25rem 0 0;
}

.comment-form {
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .5rem;
  display: grid;
}

.comment-form textarea {
  resize: vertical;
}

.status, .priority {
  text-transform: capitalize;
  background: var(--status-neutral-bg);
  color: var(--status-neutral-text);
  border-radius: 999px;
  padding: .25rem .45rem;
  font-size: .7rem;
}

.status.done {
  background: var(--status-success-bg);
  color: var(--status-success-text);
}

.status.in_progress {
  background: var(--status-progress-bg);
  color: var(--status-progress-text);
}

.priority.high, .priority.urgent {
  color: var(--danger);
  background: #ffe5e2;
}

.empty {
  text-align: center;
  max-width: 720px;
  margin: 3rem auto;
  padding: 2rem;
}

.auth-shell {
  background: radial-gradient(circle at top, #dceee3, var(--canvas) 50%);
  place-items: center;
  min-height: 100vh;
  padding: 1rem;
  display: grid;
}

@media (max-width: 800px) {
  .settings-grid, .team, .toolbar {
    grid-template-columns: 1fr;
  }

  .dashboard {
    grid-template-columns: repeat(2, 1fr);
  }

  .dashboard-columns, .compact-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-columns .dashboard-panel {
    grid-column: 1 / -1;
  }

  .section-heading, .project-toolbar, .home-board-header {
    flex-direction: column;
    align-items: stretch;
  }

  .board-actions {
    justify-content: flex-start;
  }

  .labelled-task-form {
    grid-template-columns: 1fr 1fr;
  }

  .labelled-task-form label:first-of-type {
    grid-column: 1 / -1;
  }

  .workspace-task {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .team li {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .team form {
    width: 100%;
  }

  .team form select {
    flex: 1;
  }

  .settings-members li {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .settings-members form {
    width: 100%;
  }

  .settings-members form select {
    flex: 1;
  }

  .agent-form {
    grid-template-columns: 1fr;
  }

  header {
    flex-wrap: wrap;
  }

  header > div:first-child, header > div:first-child {
    min-width: 0;
  }
}

.auth-card {
  gap: 1rem;
  width: min(100%, 420px);
  padding: 2rem;
  display: grid;
}

.auth-card label {
  gap: .4rem;
  font-weight: 700;
  display: grid;
}

@media (max-width: 620px) {
  .calendar-context-menu {
    min-width: 100%;
    max-height: min(70dvh, 32rem);
    padding: .75rem max(.75rem, env(safe-area-inset-right))
      max(.75rem, env(safe-area-inset-bottom))
      max(.75rem, env(safe-area-inset-left));
    border-radius: .75rem .75rem 0 0;
    bottom: 0;
    top: auto !important;
    left: 0 !important;
  }

  .calendar-context-menu-header {
    display: flex;
  }

  .app-shell {
    margin-left: 0;
    padding: 1.25rem .75rem;
  }

  .calendar-toolbar {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    display: grid;
  }

  .calendar-toolbar div {
    grid-area: 1 / 1 / auto / -1;
  }

  .calendar-toolbar .secondary-link {
    text-align: center;
  }

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

  .dashboard {
    grid-template-columns: 1fr 1fr;
  }

  .dashboard-intro {
    flex-direction: column;
    align-items: stretch;
  }

  .create-disclosure > summary {
    text-align: center;
  }

  .inline-create {
    left: 0;
    right: auto;
  }

  .dashboard-columns, .compact-project-grid {
    grid-template-columns: 1fr;
  }

  .project-filters, .project-toolbar form {
    grid-template-columns: 1fr;
    align-items: stretch;
    width: 100%;
    display: grid;
  }

  .labelled-task-form {
    grid-template-columns: 1fr;
  }

  .labelled-task-form label:first-of-type {
    grid-column: auto;
  }

  .workspace-task dl {
    grid-template-columns: 1fr 1fr;
  }

  .status-action {
    align-items: stretch;
    display: grid;
  }

  .toolbar {
    grid-template-columns: 1fr;
  }

  .app-header {
    align-items: flex-start;
  }

  .app-header .page-heading {
    flex-basis: calc(100% - 8rem);
    order: 3;
  }

  .header-actions {
    gap: .4rem;
  }

  .app-header .header-actions {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .app-header .context-switcher, .app-header .header-actions form, .app-header .header-actions form button, .app-header .context-trigger {
    width: 100%;
    max-width: 100%;
  }

  .app-header > .header-actions > .secondary-link {
    text-align: center;
    width: 100%;
  }

  .context-trigger {
    max-width: 11rem;
  }

  .context-trigger span:first-child {
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: auto;
    min-width: 0;
    display: block;
    overflow: hidden;
  }

  .context-role {
    flex: none;
  }

  .auth-logo {
    width: 150px;
    height: 44px;
    display: inline-block;
  }

  .navigation-trigger {
    width: 100%;
    margin-bottom: .5rem;
    display: block;
  }

  .app-navigation {
    border-bottom: 1px solid var(--border);
    width: 100%;
    height: auto;
    padding: .5rem 0;
    display: none;
    position: static;
    left: auto;
    overflow: visible;
  }

  .app-navigation.open {
    display: grid;
  }

  .app-navigation a {
    border-radius: .5rem;
    padding: .75rem;
  }

  .task-form input[name="title"] {
    grid-column: 1 / -1;
  }

  .task-list .status {
    width: fit-content;
  }
}

@media (max-width: 767px) {
  .compact-project-grid:not(.show-all) .project-card:nth-child(n+3) {
    display: none;
  }
}

@media (min-width: 621px) and (max-width: 1023px) {
  .app-navigation {
    flex-wrap: wrap;
    gap: .15rem;
    overflow-x: visible;
  }

  .app-navigation a {
    padding-inline: .55rem;
    font-size: .78rem;
  }

  .compact-project-grid:not(.show-all) .project-card:nth-child(n+5) {
    display: none;
  }
}

@media (max-width: 320px) {
  .dashboard {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .project-card dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .project-card, .project-grid, .compact-project-grid {
    min-width: 0;
  }
}

@media (min-width: 1024px) {
  .compact-project-grid:not(.show-all) .project-card:nth-child(n+7) {
    display: none;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    width: max-content;
    max-width: none;
  }

  .app-shell > header {
    min-height: 4rem;
  }
}

@media (min-width: 621px) and (max-width: 1023px) {
  .navigation-trigger {
    width: fit-content;
    margin-bottom: .5rem;
    display: block;
  }

  .app-navigation {
    flex-flow: column;
    display: none;
    overflow: visible;
  }

  .app-navigation.open {
    display: grid;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
  }
}

.form-success {
  color: var(--brand);
  margin: 0;
  font-weight: 700;
}

.settings-grid {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 1rem;
  display: grid;
}

.settings-panel {
  align-content: start;
  gap: 1.25rem;
  padding: 1.25rem;
  display: grid;
}

.settings-panel form, .settings-panel label {
  gap: .5rem;
  display: grid;
}

.settings-panel form button {
  justify-self: start;
}

.settings-details {
  margin: 0;
}

.settings-details dt {
  color: var(--text-muted);
  font-size: .8rem;
}

.settings-details dd {
  margin: .25rem 0 0;
  font-weight: 700;
}

.settings-members {
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.settings-members li {
  border-top: 1px solid #edf0ee;
  align-items: center;
  gap: .65rem;
  padding-top: .65rem;
  display: flex;
}

.settings-members form {
  flex-direction: row;
  align-items: center;
  display: flex;
}

button:disabled {
  cursor: wait;
  opacity: .65;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.resources {
  border-top: 1px solid #edf0ee;
  margin-top: .75rem;
  padding-top: .75rem;
}

.resources > summary {
  color: var(--text-muted);
  cursor: pointer;
  font-weight: 700;
}

.resource-empty {
  color: var(--text-muted);
  margin: .75rem 0;
  font-size: .85rem;
}

.resource-list {
  gap: .5rem;
  margin: .75rem 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.resource-list li {
  background: #f6f9f7;
  border: 1px solid #e5ebe7;
  border-radius: .65rem;
  justify-content: space-between;
  align-items: center;
  padding: .65rem;
  display: flex;
}

.resource-list li > div {
  gap: .15rem;
  min-width: 0;
  display: grid;
}

.resource-list a {
  color: var(--brand);
  overflow-wrap: anywhere;
  font-weight: 700;
}

.resource-list small {
  color: var(--text-muted);
  overflow-wrap: anywhere;
}

.resource-kind {
  color: var(--text-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .6875rem;
  font-weight: 700;
}

.file-status {
  font-weight: 700;
}

.file-status.ready {
  color: var(--brand);
}

.file-status.rejected, .file-status.failed {
  color: #9f2f2f;
}

.delete-resource {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.resource-forms {
  gap: .75rem;
  margin-top: .75rem;
  display: grid;
}

.resource-forms form {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto;
  align-items: end;
  gap: .5rem;
  display: grid;
}

.resource-forms label {
  gap: .3rem;
  font-size: .8rem;
  font-weight: 700;
  display: grid;
}

.resource-forms details {
  border: 1px dashed var(--border-strong);
  border-radius: .65rem;
  padding: .65rem;
}

.resource-forms details summary {
  cursor: pointer;
  font-size: .85rem;
  font-weight: 700;
}

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

.resource-forms .form-error, .resource-forms .form-success {
  grid-column: 1 / -1;
}

.upload-actions {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.upload-progress {
  grid-column: 1 / -1;
  gap: .25rem;
  font-size: .8rem;
  display: grid;
}

.upload-progress progress {
  width: 100%;
}

@media (min-width: 1024px) {
  .app-shell {
    max-width: min(var(--content-max), calc(100vw - 19rem));
    margin-left: 17rem;
    padding-top: 1.5rem;
  }

  .app-shell > header {
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    min-height: 5rem;
    margin: -1.5rem -2rem 1.5rem;
    padding: 1rem 2rem;
    position: relative;
  }

  .app-navigation {
    background: var(--surface);
    border-bottom: 0;
    border-right: 1px solid var(--border);
    box-shadow: var(--shadow-sm);
    z-index: 20;
    flex-direction: column;
    align-items: stretch;
    gap: .2rem;
    width: 16rem;
    height: 100dvh;
    margin: 0;
    padding: 1.5rem 1rem;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: auto;
  }

  .navigation-label {
    color: var(--text-muted);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: .25rem .75rem .4rem;
    font-size: .7rem;
    font-weight: 700;
  }

  .app-navigation a {
    border-radius: var(--radius-control);
    padding: .65rem .75rem;
  }

  .app-navigation-project {
    border-top: 1px solid var(--border);
    margin-top: .75rem;
    padding-top: .75rem;
  }

  .app-navigation-project-title {
    gap: .1rem;
    display: grid;
  }

  .app-navigation-project-title span {
    color: var(--text-muted);
    letter-spacing: .08em;
    font-size: .7rem;
    font-weight: 700;
  }

  .app-navigation-project-title strong {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .app-navigation-project-children {
    border-left: 2px solid var(--border);
    gap: .1rem;
    margin: .35rem 0 0 .85rem;
    padding-left: .5rem;
    display: grid;
  }

  .app-navigation-project-children a {
    color: var(--text-muted);
    padding: .45rem .6rem;
    font-size: .8rem;
    font-weight: 600;
  }

  .app-navigation-project-children a[aria-current="page"] {
    background: var(--brand-subtle);
    color: var(--brand-active);
  }

  .app-navigation-project-children .navigation-tree-label {
    margin-left: -.5rem;
  }
}

@media (max-width: 1023px) {
  .app-navigation-project {
    border-top: 1px solid var(--border);
    margin-top: .5rem;
    padding-top: .5rem;
  }

  .app-navigation-project-children {
    flex-wrap: wrap;
    gap: .25rem;
    padding: .25rem 0 .25rem .75rem;
    display: flex;
  }

  .app-navigation-project-children .navigation-tree-label {
    flex-basis: 100%;
    padding-left: 0;
  }
}

@media (max-width: 620px) {
  .resource-forms form, .resource-forms details form {
    grid-template-columns: 1fr;
  }

  .resource-list li {
    flex-direction: column;
    align-items: start;
  }
}

@media (min-width: 1024px) {
  .app-shell {
    max-width: min(var(--content-max), calc(100vw - 18.5rem));
    margin-left: 17rem;
    padding-top: 1.25rem;
  }

  .app-shell > header {
    min-height: 4.25rem;
    margin: -1.25rem -2rem 1.25rem;
    padding: .7rem 2rem;
  }

  .app-header > .brand-logo {
    display: none;
  }

  .app-navigation {
    align-items: stretch;
    padding: 1rem .75rem 1.5rem;
  }

  .sidebar-logo {
    width: 116px;
    height: 34px;
    margin: .25rem .75rem 1.25rem;
    display: block;
  }

  .navigation-group {
    gap: .15rem;
    display: grid;
  }

  .navigation-group + .navigation-group {
    border-top: 1px solid #e6ebf3;
    margin-top: .75rem;
    padding-top: .75rem;
  }

  .navigation-label {
    margin-top: 0;
  }

  .app-navigation a {
    color: var(--text-muted);
    font-size: .875rem;
    font-weight: 600;
  }

  .app-navigation a:hover {
    background: var(--brand-subtle-hover);
    color: var(--brand-navy);
  }

  .app-navigation a[aria-current="page"] {
    background: var(--brand-subtle);
    box-shadow: inset 3px 0 0 var(--brand-blue);
    color: var(--brand-navy);
  }
}

@media (max-width: 1023px) {
  .sidebar-logo {
    width: 109px;
    height: 32px;
    margin: .15rem .25rem .65rem;
    display: block;
  }

  .navigation-group {
    display: contents;
  }

  .app-navigation-project-title {
    flex: auto;
    align-items: start;
    gap: .2rem;
    min-width: 0;
    display: grid;
  }

  .app-navigation-project-title span, .app-navigation-project-title strong {
    overflow-wrap: anywhere;
    min-width: 0;
  }

  .app-navigation-project-title span {
    color: var(--text-muted);
    letter-spacing: .08em;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .app-navigation-project-title strong {
    line-height: 1.3;
  }
}

@media (min-width: 1024px) {
  .app-navigation {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    max-width: 16rem;
  }

  .app-navigation a, .navigation-label, .navigation-tree-label, .app-navigation-project-title {
    overflow-wrap: anywhere;
  }

  .app-header .header-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .app-shell {
    width: calc(100vw - 21rem);
    max-width: none;
    margin-left: 17rem;
    padding: 0 2rem 5rem;
  }

  .app-shell > header {
    border-bottom: 1px solid var(--border);
    min-height: 4rem;
    margin: 0 -2rem 1.25rem;
    padding: 0 2rem;
  }

  .app-header .page-heading, .app-header > .brand-logo {
    display: none;
  }

  .app-header .header-actions {
    flex: 1;
    justify-content: flex-end;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
    width: max-content;
    max-width: none;
  }

  .task-board-viewport {
    max-height: calc(100dvh - 16rem);
    overflow: auto;
  }

  .app-shell > header {
    min-height: 4rem;
  }

  .app-navigation-project {
    margin-top: auto;
  }
}

@media (min-width: 621px) and (max-width: 1023px) {
  .navigation-trigger {
    width: fit-content;
    margin-bottom: .5rem;
    display: block;
  }

  .app-navigation {
    flex-flow: column;
    display: none;
    overflow: visible;
  }

  .app-navigation.open {
    display: grid;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
  }
}

@media (max-width: 1023px) {
  .app-shell > header {
    align-items: center;
    gap: .5rem;
    min-height: 3.5rem;
    margin-bottom: .75rem;
  }

  .app-header .page-heading {
    display: none;
  }

  .app-header .header-actions {
    flex-wrap: nowrap;
    flex: 1;
    align-items: center;
    gap: .4rem;
    width: auto;
    display: flex;
  }

  .app-header .context-switcher {
    flex: auto;
    min-width: 0;
  }

  .app-header .context-trigger {
    width: 100%;
    max-width: none;
    min-height: 44px;
  }

  .app-header .header-actions form, .app-header .header-actions form button {
    width: auto;
  }

  .header-icon-link {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
  }

  .navigation-trigger {
    width: auto;
    min-height: 44px;
    display: block;
  }

  .app-navigation, .app-navigation.open {
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    z-index: 30;
    border-radius: .65rem;
    width: auto;
    max-height: calc(100dvh - 9.75rem);
    padding: .75rem;
    display: none;
    position: fixed;
    top: 9rem;
    left: .75rem;
    right: .75rem;
    overflow-y: auto;
  }

  .app-navigation.open {
    display: grid;
  }

  .task-board {
    grid-template-columns: repeat(6, 238px);
    gap: .625rem;
    width: max-content;
    min-width: max-content;
  }

  .task-board-viewport {
    overscroll-behavior: contain;
    max-height: min(58dvh, 32rem);
    overflow: auto;
  }
}

@media (max-width: 620px) {
  .app-shell {
    padding: .5rem .75rem 3rem;
  }

  .app-header .header-actions form button {
    width: 44px;
    min-height: 44px;
    padding: .5rem;
    font-size: 0;
  }

  .app-header .header-actions form button:after {
    content: "↪";
    font-size: 1rem;
  }

  .home-board-section {
    margin-top: .75rem;
  }

  .board-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
  }

  .board-actions .segments {
    grid-column: 1 / -1;
  }

  .board-actions .control, .board-actions .segment-button {
    min-width: 0;
    min-height: 44px;
  }

  .task-board-viewport {
    max-height: min(55dvh, 28rem);
  }
}

.tg-report-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  display: grid;
}

.tg-report-stat {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  border-radius: 11px;
  padding: 15px;
}

.tg-report-stat-accent {
  border-top: 3px solid var(--tg-blue-500);
}

.tg-report-stat-alert {
  border-top: 3px solid var(--tg-red-500);
}

.tg-report-stat-agent {
  border-top: 3px solid var(--tg-cyan-500);
}

.tg-report-stat-label {
  color: var(--tg-text-2);
  font-size: 12px;
}

.tg-report-stat-value {
  color: var(--tg-navy-900);
  margin-top: 6px;
  font-size: 25px;
  font-weight: 790;
  line-height: 1.1;
}

.tg-report-stat-note {
  color: var(--tg-text-2);
  margin-top: 3px;
  font-size: 11px;
}

.tg-report-grid {
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr);
  gap: 14px;
  margin-bottom: 14px;
  display: grid;
}

.tg-report-panel {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  border-radius: 12px;
  box-shadow: 0 2px 10px #01164608;
}

.tg-report-chart {
  min-height: 280px;
  padding: 18px;
}

.tg-report-chart-title {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.tg-report-chart-title h2 {
  margin: 0;
  font-size: 15px;
}

.tg-report-muted {
  color: var(--tg-text-2);
}

.tg-report-tiny {
  font-size: 12px;
}

.tg-report-bars {
  border-bottom: 1px solid var(--tg-border);
  align-items: end;
  gap: 12px;
  height: 205px;
  margin-top: 18px;
  padding: 0 9px;
  display: flex;
}

.tg-report-bar-group {
  flex: 1;
  justify-content: center;
  align-items: end;
  gap: 4px;
  height: 100%;
  display: flex;
  position: relative;
}

.tg-report-bar {
  background: var(--tg-blue-500);
  border-radius: 5px 5px 0 0;
  width: 18px;
  min-height: 2px;
}

.tg-report-bar-accepted {
  background: var(--tg-cyan-400);
}

.tg-report-bar-label {
  color: var(--tg-text-2);
  font-size: 10px;
  position: absolute;
  bottom: -22px;
}

.tg-report-plot-empty {
  border-bottom: 1px solid var(--tg-border);
  height: 205px;
  color: var(--tg-text-2);
  place-items: center;
  margin-top: 18px;
  font-size: 13px;
  display: grid;
}

.tg-report-legend {
  color: var(--tg-text-2);
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
  font-size: 11px;
  display: flex;
}

.tg-report-legend i {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-right: 4px;
  display: inline-block;
}

.tg-report-donut-wrap {
  place-items: center;
  min-height: 205px;
  display: grid;
  position: relative;
}

.tg-report-donut {
  border-radius: 50%;
  width: 145px;
  height: 145px;
  position: relative;
}

.tg-report-donut:after {
  content: "";
  background: var(--tg-surface);
  border-radius: 50%;
  position: absolute;
  inset: 24px;
}

.tg-report-donut-center {
  z-index: 1;
  text-align: center;
  position: absolute;
}

.tg-report-donut-center strong {
  color: var(--tg-navy-900);
  font-size: 25px;
  display: block;
}

.tg-report-donut-wrap + .tg-report-legend {
  margin-top: 12px;
}

.tg-report-basis {
  color: var(--tg-text-2);
  margin: 10px 0 0;
  font-size: 11px;
}

.tg-report-details {
  margin-top: 12px;
  font-size: 12px;
}

.tg-report-details summary {
  cursor: pointer;
  color: var(--tg-blue-600);
  font-weight: 600;
}

.tg-report-panel-head {
  border-bottom: 1px solid var(--tg-border);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 55px;
  padding: 13px 16px;
  display: flex;
}

.tg-report-panel-head h2 {
  margin: 0;
  font-size: 16px;
}

.tg-report-table-wrap {
  overflow-x: auto;
}

.tg-report-panel table {
  border-collapse: collapse;
  width: 100%;
}

.tg-report-panel th, .tg-report-panel td {
  border-bottom: 1px solid var(--tg-border);
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
  padding: 12px 13px;
}

.tg-report-panel thead th {
  background: var(--tg-canvas);
  color: var(--tg-text-2);
  letter-spacing: .035em;
  text-transform: uppercase;
  font-size: 11px;
}

.tg-report-panel td {
  font-size: 13px;
}

.tg-report-panel tbody tr:last-child th, .tg-report-panel tbody tr:last-child td {
  border-bottom: 0;
}

.tg-report-task-link {
  color: var(--tg-navy-900);
  font-weight: 700;
  text-decoration: none;
}

.tg-report-task-link:hover {
  text-decoration: underline;
}

.tg-report-control {
  gap: 8px;
}

.tg-report-menu {
  position: relative;
}

.tg-report-menu-popup {
  z-index: 80;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  border-radius: 10px;
  flex-direction: column;
  gap: 2px;
  min-width: 220px;
  padding: 6px;
  display: flex;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  box-shadow: 0 6px 24px #01164614;
}

.tg-report-menu-item {
  min-height: 40px;
  color: var(--tg-text);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 0 10px;
  font-size: 13px;
  display: flex;
}

.tg-report-menu-item:hover {
  background: var(--tg-selected);
}

.tg-report-menu-item[aria-checked="true"] {
  background: var(--tg-selected);
  color: var(--tg-blue-600);
  font-weight: 700;
}

.tg-report-menu-custom {
  border-top: 1px solid var(--tg-border);
  border-bottom: 1px solid var(--tg-border);
  gap: 6px;
  margin: 6px 0;
  padding: 10px;
  display: grid;
}

.tg-report-menu-label {
  color: var(--tg-text-2);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.tg-report-menu-custom input {
  border: 1px solid var(--tg-border);
  border-radius: 8px;
  width: 100%;
  min-height: 34px;
  padding: 0 8px;
}

.tg-report-export {
  align-items: center;
  gap: 4px;
  display: flex;
}

.tg-report-info {
  width: 24px;
  height: 24px;
  color: var(--tg-text-3);
  cursor: help;
  background: none;
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

@media (max-width: 1023px) and (min-width: 821px) {
  .tg-report-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .tg-report-grid {
    grid-template-columns: 1fr;
  }

  .tg-report-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tg-report-panel-head {
    flex-wrap: wrap;
  }
}

@media (max-width: 520px) {
  .tg-page-header .tg-header-actions {
    flex-flow: wrap;
    align-items: stretch;
  }

  .tg-page-header .tg-report-menu {
    flex: calc(50% - 8px);
    min-width: 0;
  }

  .tg-page-header .tg-report-control {
    justify-content: space-between;
    width: 100%;
  }

  .tg-page-header .tg-report-export {
    flex: 100%;
  }

  .tg-report-menu-popup {
    min-width: min(280px, 100vw - 28px);
    left: 0;
    right: auto;
  }
}

.tg-report-stat .tg-skeleton-line + .tg-skeleton-line, .tg-report-chart .tg-skeleton-line + .tg-skeleton-line {
  margin-top: 12px;
}

.tg-report-chart .tg-skeleton-line:first-child {
  margin-top: 6px;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

/* [project]/apps/web/app/targeto-board-shell.css [app-client] (css) */
.tg-app {
  --tg-navy-950: #010a37;
  --tg-navy-900: #011646;
  --tg-navy-800: #061b4f;
  --tg-blue-600: #015afc;
  --tg-blue-500: #0b69fb;
  --tg-cyan-500: #00cde8;
  --tg-cyan-400: #2ba6f0;
  --tg-red-500: #f8202b;
  --tg-green-500: #20a464;
  --tg-amber-500: #f59e0b;
  --tg-violet-500: #7c3aed;
  --tg-text: #101a3a;
  --tg-text-2: #5c6882;
  --tg-text-3: #7d879e;
  --tg-canvas: #f7f9fc;
  --tg-surface: #fff;
  --tg-selected: #eef4ff;
  --tg-agent: #eefbff;
  --tg-border: #dce3ef;
  --tg-border-2: #c5d0e3;
  --tg-text-danger: #d81b24;
  --tg-danger-50: #fef2f2;
  --tg-shadow: 0 6px 24px #01164614;
  --tg-sidebar: 252px;
  --tg-topbar: 64px;
  background: var(--tg-canvas);
  min-height: 100vh;
  color: var(--tg-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 14px;
  line-height: normal;
}

.tg-app :where(a) {
  color: inherit;
}

.tg-app :where(button, input) {
  color: inherit;
  font: inherit;
}

.tg-app :where(a, button, input, [tabindex]):focus-visible {
  outline: 2px solid var(--tg-blue-500);
  outline-offset: 2px;
}

.tg-icon {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
  width: 18px;
  height: 18px;
}

.tg-icon-sm {
  width: 15px;
  height: 15px;
}

.tg-sidebar {
  z-index: 40;
  width: var(--tg-sidebar);
  border-right: 1px solid var(--tg-border);
  background: var(--tg-surface);
  flex-direction: column;
  transition: transform .2s, width .2s;
  display: flex;
  position: fixed;
  inset: 0 auto 0 0;
}

.tg-brand {
  height: var(--tg-topbar);
  flex: 0 0 var(--tg-topbar);
  border-bottom: 1px solid var(--tg-border);
  align-items: center;
  padding: 9px 18px;
  display: flex;
  overflow: hidden;
}

.tg-brand > a {
  width: 150px;
  height: 44px;
  display: block;
}

.tg-drawer-close {
  display: none;
}

.tg-brand-crop {
  flex: 0 0 150px;
  width: 150px;
  height: 44px;
  display: block;
  position: relative;
  overflow: hidden;
}

.tg-brand-crop img {
  object-fit: fill;
  width: 180px;
  max-width: none;
  height: 120px;
  position: absolute;
  top: -38px;
  left: -20px;
}

.tg-sidebar-scroll {
  flex: 1;
  padding: 12px 10px 18px;
  overflow-y: auto;
}

.tg-nav-list {
  gap: 4px;
  display: grid;
}

.tg-nav-item, .tg-tree-item, .tg-bottom-item, .tg-collapse-toggle {
  color: #25314f;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 9px;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 42px;
  padding: 0 11px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.tg-nav-item:hover, .tg-tree-item:hover, .tg-bottom-item:hover, .tg-collapse-toggle:hover {
  background: #f4f7fb;
}

.tg-nav-item.active, .tg-tree-item.active {
  background: var(--tg-selected);
  color: var(--tg-blue-600);
  font-weight: 650;
}

.tg-nav-item.active:before, .tg-tree-item.active:before {
  background: var(--tg-blue-600);
  content: "";
  border-radius: 0 4px 4px 0;
  width: 3px;
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 0;
}

.tg-badge {
  background: var(--tg-selected);
  min-width: 21px;
  height: 20px;
  color: var(--tg-blue-600);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.tg-section-label {
  min-height: 32px;
  color: var(--tg-text-2);
  letter-spacing: .045em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  padding: 16px 8px 7px;
  font-size: 11px;
  font-weight: 700;
  display: flex;
}

.tg-mini-add {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  width: 25px;
  height: 25px;
  min-height: 25px;
  color: var(--tg-text-2);
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  padding: 0;
  text-decoration: none;
  display: inline-flex;
}

.tg-project-name {
  color: #35415f;
  font-weight: 400;
}

.tg-tree-nested {
  color: #46536f;
  padding-left: 31px;
  font-size: 13px;
}

.tg-tree-nested .tg-icon {
  color: var(--tg-text-3);
}

.tg-chevron {
  color: var(--tg-text-3);
  margin-left: auto;
  transition: transform .15s;
}

.tg-project-name[aria-expanded="false"] .tg-chevron {
  transform: rotate(-90deg);
}

@media (prefers-reduced-motion: reduce) {
  .tg-chevron {
    transition: none;
  }
}

.tg-proj-chip {
  color: #fff;
  letter-spacing: .01em;
  border-radius: 6px;
  flex: 0 0 20px;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.tg-proj-chip.lg {
  border-radius: 7px;
  flex-basis: 24px;
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.tg-proj-chip.tone-1 {
  background: #015afc;
}

.tg-proj-chip.tone-2 {
  background: #0f766e;
}

.tg-proj-chip.tone-3 {
  background: #15803d;
}

.tg-proj-chip.tone-4 {
  background: #b45309;
}

.tg-proj-chip.tone-5 {
  background: #dc2626;
}

.tg-proj-chip.tone-6 {
  background: #6d28d9;
}

.tg-proj-chip.tone-7 {
  background: #4338ca;
}

.tg-proj-chip.tone-8 {
  background: #475569;
}

.project-breadcrumbs .tg-proj-chip {
  vertical-align: -4px;
  margin-right: 6px;
}

.project-header h1 .tg-proj-chip {
  vertical-align: -3px;
  margin-right: 10px;
}

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

.tg-view-all {
  min-height: 40px;
  color: var(--tg-blue-600);
  white-space: nowrap;
  border-radius: 9px;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  padding: 0 11px;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
  display: flex;
}

.tg-view-all:hover {
  background: #f4f7fb;
}

.tg-project-section {
  position: relative;
}

.tg-project-flyout {
  z-index: 95;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  width: 252px;
  box-shadow: var(--tg-shadow);
  border-radius: 12px;
  padding: 8px;
  display: none;
  position: absolute;
  top: 272px;
  left: calc(100% + 10px);
}

.tg-flyout-head {
  color: var(--tg-text-2);
  letter-spacing: .045em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px 8px;
  font-size: 11px;
  font-weight: 760;
  display: flex;
}

.tg-flyout-head a {
  color: var(--tg-blue-600);
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
}

.tg-project-flyout .tg-tree-item {
  min-height: 38px;
}

.tg-collapse-toggle {
  display: none;
}

.tg-collapse-icon {
  transition: transform .2s;
}

.tg-sidebar-bottom {
  border-top: 1px solid var(--tg-border);
  gap: 3px;
  padding: 10px;
  display: grid;
}

.tg-main {
  min-width: 0;
  min-height: 100vh;
  margin-left: var(--tg-sidebar);
  overflow-x: clip;
}

.tg-topbar {
  z-index: 30;
  height: var(--tg-topbar);
  border-bottom: 1px solid var(--tg-border);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #fffffff2;
  grid-template-columns: 170px minmax(260px, 520px) 1fr;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0 22px;
  display: grid;
  position: sticky;
  top: 0;
}

.tg-desktop-workspace {
  min-width: 0;
}

.tg-workspace {
  width: 100%;
  position: relative;
}

.tg-workspace-button, .tg-icon-button, .tg-user-button, .tg-control, .tg-segment-button {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  cursor: pointer;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  text-decoration: none;
  display: inline-flex;
}

.tg-workspace-button {
  color: #263250;
  white-space: nowrap;
  justify-content: space-between;
  width: 100%;
}

.tg-workspace-name {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.tg-workspace-name > span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.tg-workspace-menu {
  z-index: 80;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  width: 260px;
  box-shadow: var(--tg-shadow);
  border-radius: 11px;
  gap: 7px;
  padding: 12px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
}

.tg-workspace-menu > span:first-child, .tg-workspace-menu > strong + span {
  color: var(--tg-text-3);
  font-size: 11px;
}

.tg-workspace-menu a {
  color: var(--tg-blue-600);
  font-size: 12px;
  font-weight: 700;
}

.tg-search-wrap {
  width: 100%;
  position: relative;
}

.tg-search-wrap > .tg-icon {
  color: var(--tg-text-3);
  pointer-events: none;
  position: absolute;
  top: 10px;
  left: 13px;
}

.tg-search {
  border: 1px solid var(--tg-border);
  width: 100%;
  height: 40px;
  min-height: 40px;
  color: var(--tg-text);
  background: #fbfcfe;
  border-radius: 9px;
  padding: 0 62px 0 39px;
}

.tg-search-shortcut {
  border-left: 1px solid var(--tg-border);
  color: #67718a;
  padding-left: 10px;
  font-size: 12px;
  position: absolute;
  top: 9px;
  right: 10px;
}

.tg-app .card button[type="submit"]:not(.secondary) {
  color: #fff;
}

.tg-top-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.tg-top-actions form {
  margin: 0;
}

.tg-icon-button {
  border-color: #0000;
  flex: 0 0 40px;
  width: 40px;
  padding: 0;
  position: relative;
}

.tg-unread-dot {
  background: var(--tg-blue-500);
  border: 2px solid #fff;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 8px;
  right: 8px;
}

.tg-user-button {
  white-space: nowrap;
  border-color: #0000;
  width: auto;
  min-width: 0;
  max-width: 220px;
  padding-right: 5px;
}

.tg-user-name {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.tg-avatar {
  color: #fff;
  background: linear-gradient(135deg, #1c315d, #2ba6f0);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  box-shadow: inset 0 0 0 2px #ffffff73;
}

.tg-avatar.agent {
  background: var(--tg-agent);
  box-shadow: none;
  color: var(--tg-blue-600);
  border: 1px solid #bdeefa;
}

.tg-user-chevron {
  transition: transform .15s;
}

.tg-usermenu {
  position: relative;
}

.tg-user-button[aria-expanded="true"] {
  border-color: var(--tg-border);
  background: var(--tg-selected);
}

.tg-user-button[aria-expanded="true"] .tg-user-chevron {
  transform: rotate(180deg);
}

.tg-usermenu-popup {
  z-index: 80;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  min-width: 220px;
  max-width: 280px;
  box-shadow: var(--tg-shadow);
  border-radius: 11px;
  padding: 6px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
}

.tg-usermenu-identity {
  gap: 2px;
  padding: 10px 12px;
  display: grid;
}

.tg-usermenu-identity-avatar {
  width: 36px;
  height: 36px;
  margin-bottom: 6px;
  font-size: 13px;
}

.tg-usermenu-identity-name {
  color: var(--tg-navy-900);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  overflow: hidden;
}

.tg-usermenu-identity-context {
  color: var(--tg-text-3);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  overflow: hidden;
}

.tg-usermenu-divider {
  border: 0;
  border-top: 1px solid var(--tg-border);
  height: 0;
  margin: 6px 0;
}

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

.tg-usermenu-item {
  width: 100%;
  min-height: 40px;
  color: var(--tg-text);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  display: flex;
}

.tg-usermenu-item:hover {
  background: var(--tg-selected);
  color: var(--tg-blue-600);
}

.tg-usermenu-item-signout {
  color: var(--tg-text-danger);
}

.tg-usermenu-item-signout:hover {
  background: var(--tg-danger-50);
  color: var(--tg-text-danger);
}

.tg-modal-backdrop {
  z-index: 90;
  background: #010a3747;
  place-items: center;
  padding: 16px;
  display: grid;
  position: fixed;
  inset: 0;
}

.tg-modal {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  width: 100%;
  max-width: 400px;
  box-shadow: var(--tg-shadow);
  border-radius: 12px;
  padding: 24px;
}

.tg-modal-title {
  color: var(--tg-navy-900);
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.tg-modal-body {
  color: var(--tg-text-2);
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

.tg-modal-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.tg-modal-actions form {
  margin: 0;
}

.tg-control.tg-control-danger {
  color: #fff;
  background: #d81b24;
  border-color: #d81b24;
}

.tg-control.tg-control-danger:hover {
  background: #b81620;
  border-color: #b81620;
}

.tg-mobile-menu {
  display: none;
}

.tg-content {
  min-width: 0;
  min-height: calc(100vh - var(--tg-topbar));
  padding: 24px;
}

.tg-board-view {
  min-width: 0;
}

.tg-page-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 17px;
  display: flex;
}

.tg-board-identity {
  min-width: 0;
}

.tg-breadcrumb {
  color: var(--tg-text-2);
  align-items: center;
  gap: 9px;
  margin-bottom: 7px;
  font-size: 12px;
  display: flex;
}

.tg-breadcrumb a {
  color: var(--tg-blue-600);
  text-decoration: none;
}

.tg-page-header h1 {
  color: var(--tg-navy-900);
  font-size: var(--tg-text-title);
  letter-spacing: -.025em;
  font-weight: 600;
  line-height: var(--tg-text-title-lh);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0 0 4px;
  display: -webkit-box;
  overflow: hidden;
}

.tg-subtitle {
  color: var(--tg-text-2);
  margin: 0;
}

.tg-header-actions, .tg-toolbar, .tg-segments {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.tg-control {
  color: #263250;
  min-height: 38px;
  font-weight: 600;
}

.tg-control:hover, .tg-segment-button:hover {
  border-color: var(--tg-border-2);
  background: #fbfcff;
}

.tg-control.primary {
  border-color: var(--tg-blue-600);
  background: var(--tg-blue-600);
  color: #fff;
  box-shadow: 0 5px 14px #015afc2e;
}

.tg-control.primary:hover {
  background: #004ce0;
}

.tg-segment-button {
  border-radius: 0;
  min-height: 38px;
  margin-left: -1px;
}

.tg-segment-button:first-child {
  border-radius: 9px 0 0 9px;
  margin-left: 0;
}

.tg-segment-button:last-child {
  border-radius: 0 9px 9px 0;
}

.tg-segment-button.active {
  z-index: 1;
  border-color: var(--tg-blue-500);
  background: var(--tg-selected);
  color: var(--tg-blue-600);
  position: relative;
}

.tg-attention-strip {
  border: 1px solid #bfd3ff;
  border-left: 4px solid var(--tg-blue-600);
  background: #f7faff;
  border-radius: 10px;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  margin-bottom: 14px;
  padding: 9px 14px;
  display: flex;
}

.tg-attention-title {
  align-items: center;
  gap: 9px;
  margin-right: 4px;
  font-weight: 700;
  display: flex;
}

.tg-attention-title .tg-icon {
  color: var(--tg-blue-600);
}

.tg-attention-chip {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  cursor: pointer;
  white-space: nowrap;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  text-decoration: none;
  display: inline-flex;
}

.tg-attention-chip.blocked {
  color: #d03720;
}

.tg-attention-chip.approval {
  color: var(--tg-violet-500);
}

.tg-attention-chip.output {
  color: var(--tg-blue-600);
}

.tg-attention-link {
  color: var(--tg-blue-600);
  text-underline-offset: 3px;
  background: none;
  border: 0;
  font-weight: 700;
  text-decoration: underline;
}

.tg-attention-close {
  min-width: 24px;
  min-height: 24px;
  color: var(--tg-text-3);
  cursor: pointer;
  background: none;
  border: 0;
  margin-left: auto;
  padding: 0;
}

.tg-board-scroll {
  overscroll-behavior-inline: contain;
  scrollbar-color: #abb4c4 transparent;
  scrollbar-width: thin;
  max-width: 100%;
  padding-bottom: 12px;
  overflow: auto hidden;
}

.tg-board {
  grid-template-columns: repeat(5, minmax(238px, 1fr));
  gap: 10px;
  min-width: 1215px;
  display: grid;
}

.tg-column {
  border: 1px solid var(--tg-border);
  background: #f9fbfd;
  border-radius: 11px;
  min-height: 565px;
  padding: 10px;
}

.tg-column.is-drop-target {
  border-color: var(--tg-blue-600);
  background: var(--tg-selected);
  box-shadow: inset 0 0 0 1px var(--tg-blue-600);
}

.tg-board-alert {
  color: #8a1f1f;
  background: #fdecec;
  border: 1px solid #f3c6c6;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding: 8px 10px;
  display: flex;
}

.tg-skeleton-bar, .tg-skeleton-line, .tg-skeleton-card {
  background: linear-gradient(90deg, #eef2f8 25%, #e1e7f1 37%, #eef2f8 63%) 0 0 / 400% 100%;
  border-radius: 6px;
  animation: 1.4s infinite tg-skeleton-shimmer;
  display: block;
}

.tg-skeleton-bar.brand {
  width: 140px;
  height: 30px;
  margin: 17px 18px;
}

.tg-skeleton-nav {
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.tg-skeleton-nav .tg-skeleton-line {
  height: 26px;
}

.tg-skeleton-line {
  width: 100%;
  height: 14px;
}

.tg-skeleton-line.w30 {
  width: 30%;
}

.tg-skeleton-line.w40 {
  width: 40%;
}

.tg-skeleton-line.w60 {
  width: 60%;
}

.tg-skeleton-line.tall {
  height: 26px;
}

.tg-board-skeleton {
  gap: 14px;
  display: grid;
}

.tg-skeleton-row {
  grid-template-columns: repeat(5, minmax(238px, 1fr));
  gap: 10px;
  min-width: 1215px;
  display: grid;
}

.tg-skeleton-column {
  border: 1px solid var(--tg-border);
  background: #f9fbfd;
  border-radius: 11px;
  align-content: start;
  gap: 8px;
  min-height: 565px;
  padding: 10px;
  display: grid;
}

.tg-skeleton-card {
  border-radius: 9px;
  height: 96px;
}

@keyframes tg-skeleton-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tg-skeleton-bar, .tg-skeleton-line, .tg-skeleton-card {
    animation: none;
  }
}

.tg-column-head {
  color: #2b3652;
  letter-spacing: .02em;
  text-transform: uppercase;
  align-items: center;
  gap: 8px;
  height: 33px;
  padding: 0 3px 8px;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.tg-count {
  color: var(--tg-text-2);
  font-weight: 600;
}

.tg-column-menu {
  width: 24px;
  min-height: 24px;
  color: var(--tg-text-3);
  background: none;
  border: 0;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  padding: 0;
  display: inline-flex;
}

.tg-cards {
  gap: 8px;
  display: grid;
}

.tg-task-card {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  cursor: pointer;
  border-radius: 9px;
  padding: 10px;
  transition: transform .15s, border-color .15s, box-shadow .15s;
  box-shadow: 0 2px 8px #01164609;
}

.tg-task-card:hover {
  border-color: #b8c7e0;
  transform: translateY(-1px);
  box-shadow: 0 7px 17px #01164613;
}

.tg-task-card.blocked-card {
  border-left: 3px solid var(--tg-amber-500);
}

.tg-task-card[draggable="true"] {
  cursor: grab;
}

.tg-task-card.is-dragging {
  cursor: grabbing;
  opacity: .55;
}

.tg-task-card.is-drop-before {
  box-shadow: 0 -3px 0 0 var(--tg-blue-500);
}

.tg-task-card.is-drop-after {
  box-shadow: 0 3px 0 0 var(--tg-blue-500);
}

.tg-board-empty.is-drop-target {
  border-color: var(--tg-blue-500);
  color: var(--tg-blue-500);
}

.tg-task-card.is-pending {
  cursor: progress;
  opacity: .6;
}

.tg-task-title-row {
  grid-template-columns: 8px 1fr 20px;
  align-items: start;
  gap: 7px;
  display: grid;
}

.tg-status-dot {
  background: var(--tg-blue-500);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  margin-top: 5px;
}

.tg-status-dot.red {
  background: var(--tg-red-500);
}

.tg-status-dot.orange {
  background: #ff8412;
}

.tg-status-dot.green {
  background: var(--tg-green-500);
}

.tg-status-dot.violet {
  background: var(--tg-violet-500);
}

.tg-task-title {
  color: #263250;
  min-height: 35px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.tg-task-title a {
  text-decoration: none;
}

.tg-task-key {
  white-space: nowrap;
}

.tg-kebab, .tg-task-card-menu > summary {
  width: 20px;
  min-height: 20px;
  color: var(--tg-text-3);
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: center;
  align-items: flex-start;
  padding: 0;
  line-height: 1;
  display: inline-flex;
}

.tg-task-card-menu {
  z-index: 2;
  position: relative;
}

.tg-task-card-menu > summary {
  list-style: none;
}

.tg-task-card-menu > summary::-webkit-details-marker {
  display: none;
}

.tg-task-card-menu-panel {
  z-index: 10;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  width: 185px;
  box-shadow: var(--tg-shadow);
  border-radius: 9px;
  gap: 8px;
  padding: 10px;
  display: grid;
  position: absolute;
  top: 24px;
  right: 0;
}

.tg-task-card-menu form {
  gap: 8px;
  display: grid;
}

.tg-task-menu-label {
  color: var(--tg-text-3);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
}

.tg-task-move-to {
  gap: 4px;
  display: grid;
}

.tg-task-move-button {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  min-height: 32px;
  color: var(--tg-text);
  cursor: pointer;
  text-align: left;
  border-radius: 7px;
  padding: 0 10px;
  font-size: 12px;
}

.tg-task-move-button:hover:not(:disabled) {
  border-color: var(--tg-blue-600);
  background: var(--tg-selected);
}

.tg-task-move-button:disabled {
  cursor: progress;
  opacity: .6;
}

.tg-task-card-menu select, .tg-task-card-menu button {
  width: 100%;
  min-height: 36px;
}

.tg-task-card-menu select {
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  color: var(--tg-text);
  border-radius: 7px;
  padding: 0 8px;
}

.tg-task-card-menu .tg-control {
  border: 1px solid var(--tg-blue-600);
  background: var(--tg-blue-600);
  color: #fff;
  justify-content: center;
}

.tg-labels {
  flex-wrap: wrap;
  gap: 5px;
  min-height: 28px;
  padding: 5px 15px 3px;
  display: flex;
}

.tg-label {
  background: var(--tg-selected);
  min-height: 20px;
  color: var(--tg-blue-600);
  border-radius: 6px;
  align-items: center;
  padding: 0 7px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
}

.tg-label.blocked {
  color: #c23f0f;
  background: #fff0e8;
}

.tg-label.agent-output {
  color: #6e32bf;
  background: #f3eafe;
}

.tg-task-meta {
  color: var(--tg-text-2);
  border-top: 1px solid #eef1f6;
  align-items: center;
  gap: 10px;
  padding-top: 7px;
  font-size: 11px;
  display: flex;
}

.tg-meta-item {
  white-space: nowrap;
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.tg-task-avatar {
  width: 23px;
  height: 23px;
  margin-right: auto;
}

.tg-add-card {
  color: #35415f;
  cursor: pointer;
  background: #ffffff8c;
  border: 1px dashed #cbd6e8;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 36px;
  margin-top: 8px;
  padding: 0;
  text-decoration: none;
  display: flex;
}

.tg-board-empty {
  border: 1px dashed var(--tg-border-2);
  min-height: 82px;
  color: var(--tg-text-2);
  text-align: center;
  border-radius: 8px;
  padding: 28px 10px;
}

.tg-toolbar label.tg-control {
  cursor: pointer;
}

.tg-toolbar label.tg-control select {
  color: inherit;
  font: inherit;
  cursor: pointer;
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  font-weight: 600;
}

.tg-toolbar label.tg-control select:focus-visible {
  outline: 2px solid var(--tg-blue-500);
  outline-offset: 2px;
}

.tg-list-scroll {
  overscroll-behavior-inline: contain;
  border: 1px solid var(--tg-border);
  background: var(--tg-surface);
  border-radius: 11px;
  max-width: 100%;
  overflow-x: auto;
}

.tg-list-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 720px;
  font-size: 13px;
}

.tg-list-table thead th {
  z-index: 1;
  border-bottom: 1px solid var(--tg-border);
  color: var(--tg-text-2);
  letter-spacing: .02em;
  text-align: left;
  text-transform: uppercase;
  background: #f9fbfd;
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 700;
  position: sticky;
  top: 0;
}

.tg-list-table tbody th, .tg-list-table tbody td {
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #eef1f6;
  padding: 11px 14px;
}

.tg-list-table tbody tr:last-child th, .tg-list-table tbody tr:last-child td {
  border-bottom: 0;
}

.tg-list-table tbody tr:hover {
  background: #fbfcff;
}

.tg-list-table tbody th {
  font-weight: 600;
}

.tg-list-title {
  color: #263250;
  margin-top: 2px;
  font-weight: 600;
  text-decoration: none;
  display: block;
}

.tg-list-title:hover {
  color: var(--tg-blue-600);
}

.tg-list-table .tg-status-dot {
  vertical-align: middle;
  margin-right: 7px;
  display: inline-block;
}

.tg-list-table .tg-task-avatar {
  vertical-align: middle;
  margin-right: 8px;
}

.tg-list-table .tg-meta-item {
  margin-right: 12px;
}

.tg-drawer-workspace, .tg-navigation-backdrop {
  display: none;
}

@media (min-width: 821px) and (max-width: 1120px) {
  .tg-app {
    --tg-sidebar: 82px;
    --tg-topbar: 60px;
  }

  .tg-brand {
    padding-left: 11px;
  }

  .tg-brand > a, .tg-brand-crop {
    width: 58px;
  }

  .tg-brand-crop {
    flex-basis: 58px;
  }

  .tg-nav-label, .tg-badge, .tg-chevron, .tg-section-label > span, .tg-section-label .tg-mini-add, .tg-view-all, .tg-tree-nested {
    display: none;
  }

  .tg-nav-item, .tg-tree-item, .tg-bottom-item {
    justify-content: center;
    padding: 0;
  }

  .tg-section-label {
    border-top: 1px solid var(--tg-border);
    justify-content: center;
    min-height: 0;
    margin: 6px 4px 0;
    padding: 8px 0;
  }

  .tg-proj-chip {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .tg-topbar {
    grid-template-columns: 140px minmax(200px, 380px) 1fr;
    gap: 16px;
  }

  .tg-nav-item:after, .tg-tree-item:after, .tg-bottom-item:after {
    content: attr(data-tooltip);
    z-index: 90;
    background: var(--tg-navy-900);
    color: #fff;
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    border-radius: 7px;
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    transition: opacity .12s;
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
  }

  .tg-nav-item:hover:after, .tg-nav-item:focus-visible:after, .tg-tree-item:hover:after, .tg-tree-item:focus-visible:after, .tg-bottom-item:hover:after, .tg-bottom-item:focus-visible:after {
    opacity: 1;
  }

  .tg-project-flyout.is-open {
    display: block;
  }

  .tg-project-flyout .tg-tree-item {
    justify-content: flex-start;
    min-height: 38px;
    padding: 0 11px;
    display: flex;
  }

  .tg-project-flyout .tg-tree-item.tg-tree-nested {
    padding-left: 31px;
    display: flex;
  }

  .tg-project-flyout .tg-project-name {
    justify-content: flex-start;
    padding: 0 11px;
    display: flex;
  }

  .tg-project-flyout .tg-nav-label, .tg-project-flyout .tg-proj-chip {
    display: inline-flex;
  }

  .tg-project-flyout .tg-view-all {
    display: flex;
  }

  .tg-project-flyout .tg-tree-item:after {
    display: none;
  }
}

@media (min-width: 1121px) {
  .tg-collapse-toggle {
    display: flex;
  }

  .tg-app.is-collapsed {
    --tg-sidebar: 82px;
  }

  .tg-app.is-collapsed .tg-brand {
    padding-left: 11px;
  }

  .tg-app.is-collapsed .tg-brand > a, .tg-app.is-collapsed .tg-brand-crop {
    width: 58px;
  }

  .tg-app.is-collapsed .tg-brand-crop {
    flex-basis: 58px;
  }

  .tg-app.is-collapsed .tg-nav-label, .tg-app.is-collapsed .tg-badge, .tg-app.is-collapsed .tg-chevron, .tg-app.is-collapsed .tg-section-label > span, .tg-app.is-collapsed .tg-section-label .tg-mini-add, .tg-app.is-collapsed .tg-view-all, .tg-app.is-collapsed .tg-tree-nested {
    display: none;
  }

  .tg-app.is-collapsed .tg-nav-item, .tg-app.is-collapsed .tg-tree-item, .tg-app.is-collapsed .tg-bottom-item, .tg-app.is-collapsed .tg-collapse-toggle {
    justify-content: center;
    padding: 0;
  }

  .tg-app.is-collapsed .tg-section-label {
    border-top: 1px solid var(--tg-border);
    justify-content: center;
    min-height: 0;
    margin: 6px 4px 0;
    padding: 8px 0;
  }

  .tg-app.is-collapsed .tg-nav-item:after, .tg-app.is-collapsed .tg-tree-item:after, .tg-app.is-collapsed .tg-bottom-item:after, .tg-app.is-collapsed .tg-collapse-toggle:after {
    content: attr(data-tooltip);
    z-index: 90;
    background: var(--tg-navy-900);
    color: #fff;
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    border-radius: 7px;
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    transition: opacity .12s;
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
  }

  .tg-app.is-collapsed .tg-nav-item:hover:after, .tg-app.is-collapsed .tg-nav-item:focus-visible:after, .tg-app.is-collapsed .tg-tree-item:hover:after, .tg-app.is-collapsed .tg-tree-item:focus-visible:after, .tg-app.is-collapsed .tg-bottom-item:hover:after, .tg-app.is-collapsed .tg-bottom-item:focus-visible:after, .tg-app.is-collapsed .tg-collapse-toggle:hover:after, .tg-app.is-collapsed .tg-collapse-toggle:focus-visible:after {
    opacity: 1;
  }

  .tg-app.is-collapsed .tg-project-flyout.is-open {
    display: block;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-tree-item {
    justify-content: flex-start;
    padding: 0 11px;
    display: flex;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-tree-item.tg-tree-nested {
    padding-left: 31px;
    display: flex;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-project-name {
    justify-content: flex-start;
    padding: 0 11px;
    display: flex;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-nav-label, .tg-app.is-collapsed .tg-project-flyout .tg-proj-chip {
    display: inline-flex;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-view-all {
    display: flex;
  }

  .tg-app.is-collapsed .tg-project-flyout .tg-tree-item:after {
    display: none;
  }

  .tg-app.is-collapsed .tg-collapse-icon {
    transform: rotate(180deg);
  }
}

@media (max-width: 820px) {
  .tg-app {
    --tg-sidebar: 252px;
    --tg-topbar: 56px;
  }

  .tg-sidebar {
    z-index: 50;
    width: min(296px, 100vw - 44px);
    max-width: calc(100vw - 44px);
    box-shadow: var(--tg-shadow);
    transform: translateX(-105%);
  }

  .tg-sidebar.is-open {
    transform: translateX(0);
  }

  .tg-brand {
    height: 56px;
    padding: 6px 8px 6px 14px;
  }

  .tg-brand > a, .tg-brand-crop {
    width: 150px;
  }

  .tg-brand-crop {
    flex-basis: 150px;
  }

  .tg-nav-label, .tg-badge, .tg-chevron, .tg-section-label > span, .tg-section-label .tg-mini-add {
    display: inline-flex;
  }

  .tg-sidebar-scroll {
    padding: 8px 8px 12px;
  }

  .tg-nav-item, .tg-tree-item, .tg-bottom-item {
    justify-content: flex-start;
    gap: 10px;
    min-height: 44px;
    padding: 0 10px;
  }

  .tg-tree-nested {
    min-height: 44px;
    padding-left: 34px;
    font-size: 13px;
  }

  .tg-section-label {
    justify-content: space-between;
    min-height: 28px;
    padding: 12px 8px 4px;
  }

  .tg-view-all {
    min-height: 44px;
  }

  .tg-sidebar-bottom {
    gap: 2px;
    padding: 8px;
  }

  .tg-project-flyout {
    display: none !important;
  }

  .tg-main {
    margin-left: 0;
  }

  .tg-topbar {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0 10px;
  }

  .tg-mobile-menu {
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    display: inline-flex;
  }

  .tg-desktop-workspace, .tg-user-name, .tg-user-chevron {
    display: none;
  }

  .tg-topbar .tg-icon-button, .tg-topbar .tg-user-button {
    justify-content: center;
    width: 44px;
    min-height: 44px;
    padding: 0;
  }

  .tg-search {
    height: 44px;
  }

  .tg-content {
    padding: 17px 14px;
  }

  .tg-page-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .tg-header-actions {
    width: 100%;
  }

  .tg-attention-strip {
    flex-wrap: wrap;
    position: relative;
  }

  .tg-attention-close {
    position: absolute;
    top: 9px;
    right: 14px;
  }

  .tg-drawer-workspace {
    margin-bottom: 8px;
    display: block;
  }

  .tg-drawer-close {
    width: 44px;
    height: 44px;
    min-height: 44px;
    color: var(--tg-text-2);
    background: none;
    border: 0;
    border-radius: 9px;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    padding: 0;
    font-size: 23px;
    line-height: 1;
    display: inline-flex;
  }

  .tg-drawer-close:hover {
    background: #f4f7fb;
  }

  .tg-navigation-backdrop {
    z-index: 45;
    background: #010a3747;
    border: 0;
    border-radius: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    display: block;
    position: fixed;
    inset: 0;
  }

  .tg-control, .tg-segment-button, .tg-workspace-button, .tg-icon-button, .tg-user-button {
    min-height: 44px;
  }
}

@media (max-width: 520px) {
  .tg-search-shortcut {
    display: none;
  }

  .tg-search {
    height: 44px;
    padding-right: 10px;
  }

  .tg-top-actions {
    gap: 2px;
  }

  .tg-top-actions .tg-icon-button, .tg-user-button {
    width: 44px;
    padding: 0;
  }

  .tg-usermenu-popup {
    min-width: 200px;
    max-width: calc(100vw - 24px);
  }

  .tg-modal {
    padding: 20px;
  }

  .tg-modal-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tg-modal-actions .tg-control, .tg-modal-actions form {
    width: 100%;
  }

  .tg-modal-actions .tg-control {
    justify-content: center;
  }

  .tg-page-header h1 {
    font-size: 18px;
  }

  .tg-header-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .tg-segments {
    order: 1;
    align-self: flex-start;
  }

  .tg-toolbar {
    order: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    display: grid;
  }

  .tg-toolbar .tg-control {
    justify-content: center;
    min-width: 0;
    padding: 0 7px;
  }

  .tg-toolbar .tg-control.primary {
    grid-column: 1 / -1;
  }

  .tg-attention-strip {
    gap: 7px;
    padding-right: 30px;
  }

  .tg-attention-title {
    width: 100%;
  }

  .tg-attention-chip {
    flex: 1;
    justify-content: center;
    padding: 0 7px;
  }

  .tg-board {
    min-width: 0;
    display: flex;
  }

  .tg-column {
    scroll-snap-align: start;
    width: calc(100vw - 42px);
    min-width: calc(100vw - 42px);
  }

  .tg-board-scroll {
    scroll-snap-type: x proximity;
  }

  .tg-task-title {
    min-height: 0;
  }

  .tg-task-meta {
    flex-wrap: wrap;
  }
}

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

/*# sourceMappingURL=%5Broot-of-the-server%5D__1raw1qe._.css.map*/